On Fri, Jan 31, 2020 at 12:54 PM David Laight <David.Laight@xxxxxxxxxx> wrote: > > From: Artem Bityutskiy > > > Sent: 31 January 2020 11:24 > > On Fri, 2020-01-31 at 11:07 +0000, David Laight wrote: > > > 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