lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 24 Aug 2006 23:57:24 +0200
From:	Arjan van de Ven <arjan@...ux.intel.com>
To:	dwalker@...sta.com
Cc:	linux-kernel@...r.kernel.org, len.brown@...el.com
Subject: Re: [RFC] maximum latency tracking infrastructure

On Thu, 2006-08-24 at 14:52 -0700, Daniel Walker wrote:
> On Thu, 2006-08-24 at 19:41 +0200, Arjan van de Ven wrote:
> > Subject: [RFC] maximum latency tracking infrastructure
> > From: Arjan van de Ven <arjan@...ux.intel.com>
> > 
> > The patch below adds infrastructure to track "maximum allowable latency" for power
> > saving policies.
> > 
> > The reason for adding this infrastructure is that power management in the
> > idle loop needs to make a tradeoff between latency and power savings (deeper
> > power save modes have a longer latency to running code again). 
> > The code that today makes this tradeoff just does a rather simple algorithm;
> 
> I was just thinking that it might be cleaner to register a structure
> instead of tracking identifiers to usecs. You might get a speed up on
> some of the operations, like unregister.

it makes things a lot more complex for both the user and the
infrastructure though, and I doubt it's going to be a performance gain;
you need to walk all registered items anyway to decide the new minimum
value if you unregister one for example.


> Another thing I was thinking about is that this seems somewhat contrary
> to the idea of using dynamic tick (assuming it was in mainline) to
> heuristically pick a power state. Do you have any thoughts on how you
> would combine the two?

Actually it's designed in part FOR this case!
So how that will work (thought experiment, I don't have the code yet)

In idle, determine the time the next scheduled event is.
Then given that time go over the C-states and pick the deepest C-state
that
1) satisfies the requested latency
2) has a latency that is a small enough fraction of the total time

(2 is needed to not pick a 1 msec-latency C state for a 1ms idle, that
won't save you power most likely, so you need to have enough time in
"real" idle)

so when you know your latency requirements, you now can pick a DEEPER
sleepstate than you could before (or at least the right one)... dynticks
needs this more than anything :)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ