[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 03/11] i386/hvf: Don't send signal to thread when kicking
From: |
Roman Bolshakov |
Subject: |
Re: [PATCH 03/11] i386/hvf: Don't send signal to thread when kicking |
Date: |
Tue, 10 Dec 2024 09:21:21 +0000 |
On 10.12.2024 04:22, Philippe Mathieu-Daudé wrote:
> On 9/12/24 21:36, phil@philjordan.eu wrote:
>> From: Phil Dennis-Jordan <phil@philjordan.eu>
>>
>> This seems to be entirely superfluous and is costly enough to show up in
>
> So the pthread_kill(cpu->thread, SIG_IPI) is entirely superfluous?
>
>> profiling. hv_vcpu_interrupt() has been demonstrated to very reliably
>> cause VM exits - even if the target vCPU isn't even running, it will
>> immediately exit on entry.
>>
>> Signed-off-by: Phil Dennis-Jordan <phil@philjordan.eu>
>> ---
>> target/i386/hvf/hvf.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c
>> index 3b6ee79fb2..936c31dbdd 100644
>> --- a/target/i386/hvf/hvf.c
>> +++ b/target/i386/hvf/hvf.c
>> @@ -214,7 +214,7 @@ static inline bool
>> apic_bus_freq_is_known(CPUX86State *env)
>> void hvf_kick_vcpu_thread(CPUState *cpu)
>> {
>> - cpus_kick_thread(cpu);
>> + cpu->thread_kicked = true;
>> hv_vcpu_interrupt(&cpu->accel->fd, 1);
>> }
>
SIG_IPI is macOS crutch handled in XNU kernel that was essential until
Phil submitted proper kick support with hv_vcpu_interrupt().
- [PATCH 00/11] hvf and APIC fixes, improvements, and optimisations, phil, 2024/12/09
- [PATCH 04/11] i386/hvf: Pre-fetch emulated instructions, phil, 2024/12/09
- [PATCH 05/11] i386/hvf: Decode APIC access x86 instruction outside BQL, phil, 2024/12/09
- [PATCH 09/11] i386/hvf: Print hex pairs for each opcode byte in decode error, phil, 2024/12/09
- [PATCH 07/11] i386/hvf: Enables APIC_ACCESS VM exits by setting APICBASE, phil, 2024/12/09
- [PATCH 06/11] i386/hvf: APIC access exit with fast-path for common mov cases, phil, 2024/12/09
- [PATCH 08/11] i386/hvf: Variable type fixup in decoder, phil, 2024/12/09