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