LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Doug Smythies" <dsmythies@telus.net>
To: "'Thomas Ilsche'" <thomas.ilsche@tu-dresden.de>,
"'Rafael J. Wysocki'" <rafael@kernel.org>
Cc: "'Peter Zijlstra'" <peterz@infradead.org>,
"'Linux PM'" <linux-pm@vger.kernel.org>,
"'Frederic Weisbecker'" <fweisbec@gmail.com>,
"'Thomas Gleixner'" <tglx@linutronix.de>,
"'Paul McKenney'" <paulmck@linux.vnet.ibm.com>,
"'Rik van Riel'" <riel@surriel.com>,
"'Aubrey Li'" <aubrey.li@linux.intel.com>,
"'Mike Galbraith'" <mgalbraith@suse.de>,
"'LKML'" <linux-kernel@vger.kernel.org>,
"Doug Smythies" <dsmythies@telus.net>
Subject: RE: [RFT][PATCH v7 6/8] sched: idle: Select idle state before stopping the tick
Date: Wed, 28 Mar 2018 13:41:35 -0700 [thread overview]
Message-ID: <006501d3c6d5$2d03e500$870baf00$@net> (raw)
In-Reply-To: 1CoHfInOKlebY1CoMfMNTB
On 2018.03.28 08:15 Thomas Ilsche wrote:
> On 2018-03-28 12:56, Rafael J. Wysocki wrote:
>> On Wed, Mar 28, 2018 at 12:37 PM, Rafael J. Wysocki <rafael@kernel.org> wrote:
>>> On Wed, Mar 28, 2018 at 10:38 AM, Thomas Ilsche
>>> <thomas.ilsche@tu-dresden.de> 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.
I normally use the C program method.
The timer there returns with the need_sched() flag set.
I do not seem to have usleep on my system, but when using sleep in a
shell loop, the timer returns without the need_resched() flag set.
Most of my test results involving varying the value of
POLL_IDLE_COUNT are total garbage, because I was using the
C program method, and thus exiting the poll_idle loop based
on the need_resched() flag and not the POLL_IDLE_COUNT
setting.
I don't know if I can re-do the work, because I
do not have a good way to get my system to use Idle
State 0 with any real workflow, and I seem to get into
side effect issues when I disable other idle states to
force more use of idle state 0.
... Doug
next prev parent reply other threads:[~2018-03-28 20:41 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-20 15:12 [RFT][PATCH v7 0/8] sched/cpuidle: Idle loop rework Rafael J. Wysocki
2018-03-20 15:13 ` [RFT][PATCH v7 1/8] time: tick-sched: Reorganize idle tick management code Rafael J. Wysocki
2018-03-20 15:15 ` [RFT][PATCH v7 2/8] sched: idle: Do not stop the tick upfront in the idle loop Rafael J. Wysocki
2018-03-20 15:15 ` [RFT][PATCH v7 3/8] " Rafael J. Wysocki
2018-03-20 18:00 ` [Correction][RFT][PATCH v7 3/8] sched: idle: Do not stop the tick before cpuidle_idle_call() Rafael J. Wysocki
2018-03-20 15:16 ` [RFT][PATCH v7 4/8] jiffies: Introduce USER_TICK_USEC and redefine TICK_USEC Rafael J. Wysocki
2018-03-20 15:45 ` [RFT][PATCH v7 5/8] cpuidle: Return nohz hint from cpuidle_select() Rafael J. Wysocki
2018-03-21 6:48 ` [RFT][PATCH v7.1 " Rafael J. Wysocki
2018-03-21 11:52 ` Rafael J. Wysocki
2018-03-21 13:03 ` [RFT][PATCH v7.2 " Rafael J. Wysocki
2018-03-21 14:36 ` [RFT][PATCH v7 " Rafael J. Wysocki
2018-03-21 17:59 ` Thomas Ilsche
2018-03-21 22:15 ` Rafael J. Wysocki
2018-03-22 13:18 ` Thomas Ilsche
2018-03-22 17:23 ` Rafael J. Wysocki
2018-03-22 6:24 ` Doug Smythies
2018-03-22 15:41 ` Doug Smythies
2018-03-22 17:21 ` Rafael J. Wysocki
2018-03-21 18:23 ` Doug Smythies
2018-03-22 17:40 ` [RFT][PATCH v7.3 " Rafael J. Wysocki
2018-03-28 9:14 ` Thomas Ilsche
2018-03-30 9:39 ` Rafael J. Wysocki
2018-04-10 15:22 ` Thomas Ilsche
2018-03-22 20:46 ` Doug Smythies
2018-03-20 15:45 ` [RFT][PATCH v7 6/8] sched: idle: Select idle state before stopping the tick Rafael J. Wysocki
2018-03-27 21:50 ` Thomas Ilsche
2018-03-27 22:10 ` Rafael J. Wysocki
2018-03-28 8:13 ` Rafael J. Wysocki
2018-03-28 8:38 ` Thomas Ilsche
2018-03-28 10:37 ` Rafael J. Wysocki
2018-03-28 10:56 ` Rafael J. Wysocki
2018-03-28 15:15 ` Thomas Ilsche
2018-03-28 20:41 ` Doug Smythies [this message]
2018-03-28 23:11 ` Rafael J. Wysocki
2018-03-20 15:46 ` [RFT][PATCH v7 7/8] cpuidle: menu: Refine idle state selection for running tick Rafael J. Wysocki
2018-03-20 15:47 ` [RFT][PATCH v7 8/8] cpuidle: menu: Avoid selecting shallow states with stopped tick Rafael J. Wysocki
2018-03-20 17:52 ` [RFT][PATCH v7 3/8] sched: idle: Do not stop the tick upfront in the idle loop Doug Smythies
2018-03-20 18:01 ` Rafael J. Wysocki
2018-03-21 12:31 ` [RFT][PATCH v7 0/8] sched/cpuidle: Idle loop rework Rik van Riel
2018-03-21 13:55 ` Rafael J. Wysocki
2018-03-21 14:53 ` Rik van Riel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='006501d3c6d5$2d03e500$870baf00$@net' \
--to=dsmythies@telus.net \
--cc=aubrey.li@linux.intel.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mgalbraith@suse.de \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=riel@surriel.com \
--cc=tglx@linutronix.de \
--cc=thomas.ilsche@tu-dresden.de \
--subject='RE: [RFT][PATCH v7 6/8] sched: idle: Select idle state before stopping the tick' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).