Re: [PATCH v3] cpuidle: poll_state: Add time limit to poll_idle()

From: Rik van Riel
Date: Thu Mar 22 2018 - 12:32:40 EST


On Wed, 2018-03-14 at 15:08 +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> If poll_idle() is allowed to spin until need_resched() returns
> 'true',
> it may actually spin for a much longer time than expected by the idle
> governor, since set_tsk_need_resched() is not always called by the
> timer interrupt handler. If that happens, the CPU may spend much
> more time than anticipated in the "polling" state.
>
> To prevent that from happening, limit the time of the spinning loop
> in poll_idle().
>
> Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

So ... about bisecting that other patch series...

It turned out I had this patch, which looks so
obviously correct, as patch #1 in my series.

It also turned out that this patch is responsible
for the entire 5-10% increase in CPU use for the
memcache style workload.

I wonder if keeping an idle HT thread much busier
than before slows down its sibling, or something
like that.

Let me go test the nohz idle series by itself,
without this patch.

--
All Rights Reversed.

Attachment: signature.asc
Description: This is a digitally signed message part