On Fri, 2006-08-25 at 18:26 +1000, Nick Piggin wrote:
> Arjan van de Ven wrote:
> > Nick Piggin wrote:
>
> >> Surely you would call set_acceptable_latency() *before* running such
> >> operation that requires the given latency? And that
> >> set_acceptable_latency
> >> would block the caller until all CPUs are set to wake within this
> >> latency.
> >>
> >> That would be the API semantics I would expect, anyway.
> >
> >
> > but that means it blocks, and thus can't be used in irq context
>
> Is that a problem? I guess it could be, but you don't want to
> give a false sense of security either. Having an explicit _nosync
> version may make that clear?
well the api is already split between blocking and non-blocking so in
principle that's easy. The problem is that I suspect most users will use
the non-blocking variant.
Also the "what to do" can be treacherous; it'll need a callback list
simply because many places can be using the latency values, more than
just idle. (I can see pstate code for example also using it to limit
which ones to use, and not use the ones it takes to long to get out of)
I'll investigate what it'll take to get the callback in place; for the
C-state case it's not THAT critical (after all the cpu you are running
on when making this call is not in a deep C state.. :-)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]