[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <75eca1a41e49a199d7aa72be8c5221b3@codeaurora.org>
Date: Sun, 27 Sep 2020 19:41:45 -0700
From: psodagud@...eaurora.org
To: Steven Rostedt <rostedt@...dmis.org>
Cc: peterz@...radead.org, tglx@...utronix.de, qais.yousef@....com,
mingo@...nel.org, cai@....pw, tyhicks@...onical.com, arnd@...db.de,
rameezmustafa@...eaurora.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/2] measure latency of cpu hotplug path
On 2020-09-24 07:58, Steven Rostedt wrote:
> On Thu, 24 Sep 2020 10:34:14 +0200
> peterz@...radead.org wrote:
>
>> On Wed, Sep 23, 2020 at 04:37:44PM -0700, Prasad Sodagudi wrote:
>> > There are all changes related to cpu hotplug path and would like to seek
>> > upstream review. These are all patches in Qualcomm downstream kernel
>> > for a quite long time. First patch sets the rt prioity to hotplug
>> > task and second patch adds cpuhp trace events.
>> >
>> > 1) cpu-hotplug: Always use real time scheduling when hotplugging a CPU
>> > 2) cpu/hotplug: Add cpuhp_latency trace event
>>
>> Why? Hotplug is a known super slow path. If you care about hotplug
>> latency you're doing it wrong.
Hi Peter,
[PATCH 1/2] cpu/hotplug: Add cpuhp_latency trace event -
1) Tracing of the cpuhp operation is important to find whether upstream
changes or out of tree modules(or firmware changes) caused latency
regression or not.
2) Secondary cpus are hotplug out during the device suspend and hotplug
in during the resume.
3) firmware(psci calls handling from firmware) changes impact need to be
tested right?
4) cpu hotplug framework(CPUHP_AP_ONLINE_DYN) dynamic callbacks may
impact the hotplug latency.
[PATCH 2/2] cpu-hotplug: Always use real time scheduling when
hotplugging a CPU –
CPU hotplug operation is stressed and while stress testing with full
load on the system following problem is observed.
CPU hotplug operations take place in preemptible context. This leaves
the hotplugging thread at the mercy of overall system load and CPU
availability. If the hotplugging thread does not get an opportunity to
execute after it has already begun a hotplug operation, CPUs can
end up being stuck in a quasi online state. In the worst case a CPU can
be stuck in a state where the migration thread is parked while
another task is executing and changing affinity in a loop. This
combination can result in unbounded execution time for the running
task until the hot plugging thread gets the chance to run to complete
the hotplug operation.
-Thanks, Prasad
>
> I'd like to know the answer to Peter's question too. Why?
>
> -- Steve
Powered by blists - more mailing lists