qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/8] Make icount thread-safe


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 0/8] Make icount thread-safe
Date: Tue, 08 Oct 2013 15:55:42 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9

Il 08/10/2013 15:47, Andreas Färber ha scritto:
> Am 08.10.2013 10:47, schrieb Paolo Bonzini:
>> This series moves the icount state under the same seqlock as the "normal"
>> vm_clock implementation.
>>
>> It is not yet 100% thread-safe, because the CPU list should be moved
>> under RCU protection (due to the call to !all_cpu_threads_idle()
>> in qemu_clock_warp).  However it is a substantial step forward, the
>> only uncovered case being CPU hotplug.
>>
>> Please review.
>>
>> Paolo
>>
>> Paolo Bonzini (8):
>>   timers: extract timer_mod_ns_locked and timerlist_rearm
>>   timers: add timer_mod_anticipate and timer_mod_anticipate_ns
> 
>>   timers: use cpu_get_icount() directly
>>   timers: reorganize icount_warp_rt
>>   timers: prepare the code for future races in calling qemu_clock_warp
>>   timers: introduce cpu_get_clock_locked
>>   timers: document (future) locking rules for icount
>>   timers: make icount thread-safe
> 
> These patches touch cpus.c exclusively, so "timers:" is rather misleading.

I can change that to "icount".

> As you know I have pending patches (in need of rebase due to the
> performance issue you raised) moving the icount CPU fields around.
> Is there anything in particular I should be aware of? Looks to me as if
> this may be orthogonal?

It's entirely orthogonal.  It doesn't affect the cpu-exec part of
icount, only the "timers" :) part.

> What about the previous patch disabling icount for -smp? Does this
> series supersede it or does it fix different concurrency issues?

This is for making accesses to icount safe without holding the BQL.
icount for -smp remains just as broken as before.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]