Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-03 Thread Tejun Heo
On Fri, May 03, 2013 at 10:18:17AM -0400, Alan Stern wrote: > Don't forget about freezable kernel threads. They never cross the > kernel/user boundary. Doesn't really matter for this purpose. They first of all can't be moved into !root cgroups and thus can't be cgroup-frozen and even if they co

Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-03 Thread Alan Stern
On Thu, 2 May 2013, Tejun Heo wrote: > Combined with the locking problems, I was planning to update the > freezer such that the frozen state is implemented as a form of jobctl > stop, so that things like ptrace / kill -9 could work on them and we > also have the clear definition of the frozen stat

Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-02 Thread Tejun Heo
On Thu, May 02, 2013 at 09:17:21PM -0700, Colin Cross wrote: > > And I *hope* the lockdep annotation is stricter than what was added > > before. I think it better be "no lock ever should be held at this > > point" rather than "consider this a big lock". > > The previous patch (6aa9707099c4b257009

Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-02 Thread Colin Cross
On Thu, May 2, 2013 at 9:09 PM, Tejun Heo wrote: > Hello, > > On Thu, May 02, 2013 at 07:41:39PM -0700, Colin Cross wrote: >> On Thu, May 2, 2013 at 7:16 PM, Colin Cross wrote: >> > This sounds the same as what ended up getting reverted in >> > https://lkml.org/lkml/2013/3/4/221 >> > I can add th

Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-02 Thread Tejun Heo
On Thu, May 02, 2013 at 09:09:34PM -0700, Tejun Heo wrote: > But that conflicts with what you're doing here which seems pretty > useful, so, to satisfy both goals, when somebody needs to put a > pseudo-frozen task into the actual frozen jobctl stop, those spots > which are currently using try_to_st

Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-02 Thread Tejun Heo
Hello, On Thu, May 02, 2013 at 07:41:39PM -0700, Colin Cross wrote: > On Thu, May 2, 2013 at 7:16 PM, Colin Cross wrote: > > This sounds the same as what ended up getting reverted in > > https://lkml.org/lkml/2013/3/4/221 > > I can add the WARN_ON_ONCE to all my new calls, and leave them out of >

Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-02 Thread Colin Cross
On Thu, May 2, 2013 at 7:16 PM, Colin Cross wrote: > This sounds the same as what ended up getting reverted in > https://lkml.org/lkml/2013/3/4/221 > I can add the WARN_ON_ONCE to all my new calls, and leave them out of > existing calls, but that seems a little odd, and will be redundant if > the

Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-02 Thread Colin Cross
This sounds the same as what ended up getting reverted in https://lkml.org/lkml/2013/3/4/221 I can add the WARN_ON_ONCE to all my new calls, and leave them out of existing calls, but that seems a little odd, and will be redundant if the lockdep call in try_to_freeze goes back in in 3.11. Do you st

Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-02 Thread Tejun Heo
On Thu, May 02, 2013 at 04:55:05PM -0700, Tejun Heo wrote: > So, the freezable interface can't be something that people can use > casually. It is something which should be carefully and strategically > deployed where we *know* that lock dependency risks don't exist or at > least are acceptable. I

Re: [PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-02 Thread Tejun Heo
Hello, On Wed, May 01, 2013 at 06:35:01PM -0700, Colin Cross wrote: > To allow tasks to avoid running on every suspend/resume cycle, > this patch adds additional freezable wrappers around blocking calls > that call freezer_do_not_count(). Combined with the previous patch, > these tasks will not r

[PATCH v2 03/10] freezer: add new freezable helpers using freezer_do_not_count()

2013-05-01 Thread Colin Cross
Freezing tasks will wake up almost every userspace task from where it is blocking and force it to run until it hits a call to try_to_sleep(), generally on the exit path from the syscall it is blocking in. On resume each task will run again, usually restarting the syscall and running until it hits