On Fri, Jan 31, 2020 at 12:54 PM David Laight [off-list ref] wrote:
From: Artem Bityutskiy >
quoted
Sent: 31 January 2020 11:24
On Fri, 2020-01-31 at 11:07 +0000, David Laight wrote:
quoted
Unless you know exactly which cpu table is being used the
only constraint a user can request is the latency.
Hi David,
in all my use-cases I always know what is the CPU I am dealing with and
what are the C-states. Simply because in my view they are always CPU-
dependent in terms of what they do and how are they named.
What you say sounds to me like you would want to disable some C-states
without knowing anything (or much) about the CPU you are dealing with
and the C-state names.
If so, could you please share examples of such use-cases?
Dunno, but clearly you want to disable (say) C3 while leaving C6
enabled.
I was trying to find why it was taking 600+us for a RT process
to get rescheduled when it had only been sleeping for a few us.
I found where it was sleeping, but that didn't help at all.
Someone pointed me at a 'random' pdf that referred to /dev/cpu_dma_latency.
Setting that to a small value (eg 20) helps no end.
But there are no references in the code or man pages to that.
There is a piece of kernel documentation regarding it, however:
https://www.kernel.org/doc/html/latest/admin-guide/pm/cpuidle.html#cpu-pm-qos