[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100527202538.7d2d7f3c@lxorguk.ukuu.org.uk>
Date: Thu, 27 May 2010 20:25:38 +0100
From: Alan Cox <alan@...rguk.ukuu.org.uk>
To: Matthew Garrett <mjg59@...f.ucam.org>
Cc: Arve Hjønnevåg <arve@...roid.com>,
Florian Mickler <florian@...kler.org>,
Vitaly Wool <vitalywool@...il.com>,
Peter Zijlstra <peterz@...radead.org>,
LKML <linux-kernel@...r.kernel.org>,
Paul@...p1.linux-foundation.org, felipe.balbi@...ia.com,
Linux OMAP Mailing List <linux-omap@...r.kernel.org>,
Linux PM <linux-pm@...ts.linux-foundation.org>
Subject: Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8)
> The problem is determining how to constrain it to go idle, where "idle"
> is defined as "Doesn't wake up until a wakeup event is received". It's
> acceptable for something to use as much CPU as it wants when the user is
> actively interacting with the device, but in most cases processes
> shouldn't be permitted to use any CPU when the session is idle. The
> question is how to implement something that allows a CPU-guzzling
> application to be idled without impairing its ability to process wakeup
> events.
>From your literal description:
setpriority. signal, process groups.
kill(-desktopgroup, SIGSTOP);
kill(-desktopgroup, SIGCONT);
kill(pid_i_am_crit_eventing, SIGCONT);
or SIGTSTP might be friendlier as a well behaved smart app can catch it,
fire it into the event loop and elegantly save and sleep.
Some window managers played with doing setpriority for focussed windows.
OLPC the same thing for OOM targets via /proc/oom_adj
The scheduler can happily do this, the power management will also
recognize STOPPED processes as no impediment to suspend.
--
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