Re: [RFT][PATCH v7 6/8] sched: idle: Select idle state before stopping the tick

From: Thomas Ilsche
Date: Wed Mar 28 2018 - 11:16:25 EST


On 2018-03-28 12:56, Rafael J. Wysocki wrote:
On Wed, Mar 28, 2018 at 12:37 PM, Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
On Wed, Mar 28, 2018 at 10:38 AM, Thomas Ilsche
<thomas.ilsche@xxxxxxxxxxxxx> wrote:
On 2018-03-28 10:13, Rafael J. Wysocki wrote:


[cut]


So I do

$ for cpu in 0 1 2 3; do taskset -c $cpu sh -c 'while true; do usleep
500; done' & done

which is a shell kind of imitation of the above and I cannot see this
issue at all.

I count the number of times data->next_timer_us in menu_select() is
greater than TICK_USEC and while this "workload" is running, that
number is exactly 0.

I'll try with a C program still.

And with a C program I see data->next_timer_us greater than TICK_USEC
while it is running, so let me dig deeper.


I can confirm that a shell-loop behaves differently like you describe.
Even if it's just a shell-loop calling "main{usleep(500);}" binary.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature