[Devel] [PATCH rh7 2/2] sched: Fix double put_prev_task_fair() because of trigger_cpulimit_balance()

Kirill Tkhai ktkhai at odin.com
Thu Aug 20 08:22:40 PDT 2015


On 20.08.2015 17:55, Vladimir Davydov wrote:
> On Thu, Aug 20, 2015 at 05:22:31PM +0300, Kirill Tkhai wrote:
>>
>>
>> On 20.08.2015 15:59, Vladimir Davydov wrote:
>>> On Thu, Aug 20, 2015 at 02:27:05PM +0300, Kirill Tkhai wrote:
>>> ...
>>>> +static void pre_schedule_fair(struct rq *rq, struct task_struct *prev)
>>>> +{
>>>> +	trigger_cpulimit_balance(prev);
>>>> +}
>>>> +
>>>
>>> You don't remove trigger_cpulimit_balance call from put_prev_task_fair.
>>> Do we still need it there? [The same question for PCS6 version of this
>>> patch]
>>
>> I simulated the same behaviour as it used to be before. If we remove the
>> trigger from put_prev_task_fair(), there will be a later cpulimit balancing
>> in some cases.
> 
> I don't see any point in it. You call pre_schedule ->
> trigger_cpulimit_balance, then immediately after it put_prev_task ->
> trigger_cpulimit_balance again.
> 

->put_prev_task() is called from several places, not only from __schedule().
I mean that. If you think we may skip these unlikely cases, I'll remove it
from put_prev_task_fair(). Should we?



More information about the Devel mailing list