Re: [RFC,v2 3/3] sched: ignore task_h_load for CPU_NEWLY_IDLE

From: Uladzislau Rezki
Date: Mon Feb 13 2017 - 12:17:18 EST


On Mon, Feb 13, 2017 at 2:51 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Thu, Feb 09, 2017 at 07:54:05PM +0100, Uladzislau Rezki wrote:
>
>> > Does this patch make an actual difference, if so how much and with
>> > what workload?
>> >
>> Yes, it does. I see a slight improvement when it comes to frame drops
>> (in my case drops per/two seconds). Basically a test case is left finger
>> swipe on the display (21 times, duration is 2 seconds + 1 second sleep
>> between iterations):
>>
>> 0 Framedrops: 7 5
>> 1 Framedrops: 5 3
>> 2 Framedrops: 8 5
>> 3 Framedrops: 4 5
>> 4 Framedrops: 3 3
>> 5 Framedrops: 6 4
>> 6 Framedrops: 3 2
>> 7 Framedrops: 3 4
>> 8 Framedrops: 5 3
>> 9 Framedrops: 3 3
>> 10 Framedrops: 7 4
>> 11 Framedrops: 3 4
>> 12 Framedrops: 3 3
>> 13 Framedrops: 3 3
>> 14 Framedrops: 3 5
>> 15 Framedrops: 7 3
>> 16 Framedrops: 5 3
>> 17 Framedrops: 3 2
>> 18 Framedrops: 5 3
>> 19 Framedrops: 4 3
>> 20 Framedrops: 3 2
>>
>> max is 8 vs 5; min is 2 vs 3.
>>
>> As for applied load, it is not significant and i would say is "light".
>
> So that is useful information that should have been in the Changelog.
>
> OK, can you respin this patch with adjusted Changelog and taking Mike's
> feedback?
>
Yes, i will prepare a patch accordingly, no problem.

>
> Also, I worry about the effects of this on !PREEMPT kernels, the first
> hunk (which explicitly states is about latency) should be under
> CONFIG_PREEMPT to match the similar case we already have in
> detach_tasks().
>
> But your second hunk, which ignores the actual load of tasks in favour
> of just moving _something_ already, is utterly dangerous if not coupled
> with these two other conditions, so arguably that too should be under
> CONFIG_PREEMPT.
>
I see your point. Will round both with CONFIG_PREEMPT.

--
Uladzislau Rezki