From: Anna-Maria Behnsen <anna-maria@linutronix.de>
To: "Pandruvada, Srinivas" <srinivas.pandruvada@intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: "jstultz@google.com" <jstultz@google.com>,
"riel@surriel.com" <riel@surriel.com>,
"lukasz.luba@arm.com" <lukasz.luba@arm.com>,
"kprateek.nayak@amd.com" <kprateek.nayak@amd.com>,
"peterz@infradead.org" <peterz@infradead.org>,
"rostedt@goodmis.org" <rostedt@goodmis.org>,
"frederic@kernel.org" <frederic@kernel.org>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"Wysocki, Rafael J" <rafael.j.wysocki@intel.com>,
"paulmck@kernel.org" <paulmck@kernel.org>,
"arjan@infradead.org" <arjan@infradead.org>,
"edumazet@google.com" <edumazet@google.com>,
"bigeasy@linutronix.de" <bigeasy@linutronix.de>,
"ggherdovich@suse.cz" <ggherdovich@suse.cz>,
"gautham.shenoy@amd.com" <gautham.shenoy@amd.com>
Subject: Re: [PATCH v8 00/25] timer: Move from a push remote at enqueue to a pull at expiry model
Date: Thu, 19 Oct 2023 15:47:26 +0200 [thread overview]
Message-ID: <87pm1a911t.fsf@somnus> (raw)
In-Reply-To: <151240c939d02df4979651b84bb99356a938c44d.camel@intel.com>
"Pandruvada, Srinivas" <srinivas.pandruvada@intel.com> writes:
> Hi Maria,
>
> On Wed, 2023-10-04 at 14:34 +0200, Anna-Maria Behnsen wrote:
>> Hi,
>>
>>
>
> [...]
>
>>
>> The proper solution to this problem is to always queue the timers on
>> the
>> local CPU and allow the non pinned timers to be pulled onto a busy
>> CPU at
>> expiry time.
>
> Thanks for these patches. I am looking for saving power during video
> playback with our low power daemon. I use cgroup v2 isolation to keep
> some CPUs idle (CPU 0-11) and video is played on a single module (CPU
> 12-15).
>
> I have some kernelshark pictures at below link. The traces are
> collected with sched, timer and irq. With 6.6-rc5, you can see some
> timers still expires on CPUs which I want to keep idle. With timer
> patches added, they are mostly pulled to busy CPU.
>
> https://imgur.com/a/8nF5OoP
>
> I can share the .dat files, but they are too big to attach here.
Thanks a lot for testing! The images are totally fine (at least for
me). As there are still some issues in v8, I'll have to post a new
version...
Thanks,
Anna-Maria
next prev parent reply other threads:[~2023-10-19 13:47 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-04 12:34 [PATCH v8 00/25] timer: Move from a push remote at enqueue to a pull at expiry model Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 01/25] tick/sched: Cleanup confusing variables Anna-Maria Behnsen
2023-10-05 9:44 ` Frederic Weisbecker
2023-10-04 12:34 ` [PATCH v8 02/25] tick-sched: Warn when next tick seems to be in the past Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 03/25] timer: Do not IPI for deferrable timers Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 04/25] timer: Move store of next event into __next_timer_interrupt() Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 05/25] timers: Clarify check in forward_timer_base() Anna-Maria Behnsen
2023-10-05 10:17 ` Frederic Weisbecker
2023-10-16 8:11 ` Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 06/25] timers: Split out forward timer base functionality Anna-Maria Behnsen
2023-10-06 11:16 ` Frederic Weisbecker
2023-10-04 12:34 ` [PATCH v8 07/25] timers: Use already existing function for forwarding timer base Anna-Maria Behnsen
2023-10-06 11:17 ` Frederic Weisbecker
2023-10-04 12:34 ` [PATCH v8 08/25] timer: Rework idle logic Anna-Maria Behnsen
2023-10-09 22:15 ` Thomas Gleixner
2023-10-10 11:19 ` Frederic Weisbecker
2023-10-10 11:48 ` Thomas Gleixner
2023-10-04 12:34 ` [PATCH v8 09/25] timer: Split out get next timer functionality Anna-Maria Behnsen
2023-10-09 21:15 ` Frederic Weisbecker
2023-10-09 22:24 ` Thomas Gleixner
2023-10-09 22:17 ` Thomas Gleixner
2023-10-04 12:34 ` [PATCH v8 10/25] timers: Move marking timer bases idle into tick_nohz_stop_tick() Anna-Maria Behnsen
2023-10-12 15:52 ` Frederic Weisbecker
2023-10-19 13:37 ` Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 11/25] timers: Introduce add_timer() variants which modify timer flags Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 12/25] workqueue: Use global variant for add_timer() Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 13/25] timer: add_timer_on(): Make sure TIMER_PINNED flag is set Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 14/25] timers: Ease code in run_local_timers() Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 15/25] timer: Split next timer interrupt logic Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 16/25] timer: Keep the pinned timers separate from the others Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 17/25] timer: Retrieve next expiry of pinned/non-pinned timers separately Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 18/25] timer: Split out "get next timer interrupt" functionality Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 19/25] timer: Add get next timer interrupt functionality for remote CPUs Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 20/25] timer: Restructure internal locking Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 21/25] timer: Check if timers base is handled already Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 22/25] tick/sched: Split out jiffies update helper function Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 23/25] timer: Implement the hierarchical pull model Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 24/25] timer_migration: Add tracepoints Anna-Maria Behnsen
2023-10-04 12:34 ` [PATCH v8 25/25] timer: Always queue timers on the local CPU Anna-Maria Behnsen
2023-10-06 5:05 ` [PATCH v8 00/25] timer: Move from a push remote at enqueue to a pull at expiry model K Prateek Nayak
2023-10-19 14:14 ` Anna-Maria Behnsen
2023-10-20 9:06 ` Peter Zijlstra
2023-10-11 19:34 ` Pandruvada, Srinivas
2023-10-19 13:47 ` Anna-Maria Behnsen [this message]
2023-10-12 2:22 ` K Prateek Nayak
2023-10-19 13:55 ` Anna-Maria Behnsen
2023-10-13 11:35 ` Lukasz Luba
2023-10-19 14:04 ` Anna-Maria Behnsen
2023-10-19 14:28 ` Lukasz Luba
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=87pm1a911t.fsf@somnus \
--to=anna-maria@linutronix.de \
--cc=arjan@infradead.org \
--cc=bigeasy@linutronix.de \
--cc=edumazet@google.com \
--cc=frederic@kernel.org \
--cc=gautham.shenoy@amd.com \
--cc=ggherdovich@suse.cz \
--cc=jstultz@google.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=rafael.j.wysocki@intel.com \
--cc=riel@surriel.com \
--cc=rostedt@goodmis.org \
--cc=srinivas.pandruvada@intel.com \
--cc=tglx@linutronix.de \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox