[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] cpus: reset throttle_thread_scheduled after sle
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] cpus: reset throttle_thread_scheduled after sleep |
Date: |
Wed, 7 Jun 2017 18:58:01 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
On 07/06/2017 18:26, Juan Quintela wrote:
> Felipe Franciosi <address@hidden> wrote:
>> Currently, the throttle_thread_scheduled flag is reset back to 0 before
>> sleeping (as part of the throttling logic). Given that throttle_timer
>> (well, any timer) may tick with a slight delay, it so happens that under
>> heavy throttling (ie. close or on CPU_THROTTLE_PCT_MAX) the tick may
>> schedule a further cpu_throttle_thread() work item after the flag reset,
>> but before the previous sleep completed. This results on the vCPU thread
>> sleeping continuously for potentially several seconds in a row.
>>
>> The chances of that happening can be drastically minimised by resetting
>> the flag after the sleep.
>>
>> Signed-off-by: Felipe Franciosi <address@hidden>
>> Signed-off-by: Malcolm Crossley <address@hidden>
>
> Reviewed-by: Juan Quintela <address@hidden>
>
> Paolo, I think that the analisys makes sense.
>
> Should you pull this patch, or do you want me to pull it?
I've already included in my jinxed (now at v6) pull request.
Paolo