From: Tejun Heo on
Hello,

On 05/21/2010 12:27 AM, Rafael J. Wysocki wrote:
>> Oh, this isn't an issue w/ cmwq. While frozen all new works are
>> collected into per-cpu delayed worklist and while frozen trustee in
>> charge of the cpu will keep waiting. Once thawed, trustee will
>> execute all works including the delayed ones unbound to any cpu.
>
> So, does it require any intrusive changes to make it possible to create
> multithread freezable workqueues?

cmwq itself is quite intrusive changes but w/ cmwq it just takes
flipping a flag when creating the queue.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Pavel Machek on
Hi!

> > > > Yeah, one file selects behavior of another file, and to read available
> > > > states for opportunistic, you have to write to file first.
> > > >
> > > > I still don't like the interface.
> > > >
> > >
> > > Actually, what would be a better interface?
> > >
> > > I wonder why it is not like this:
>
> Because I think the "forced" and "opportunistic" suspend "modes" are mutually
> exclusive in practice and the interface as proposed reflects that quite well.

Why should they be? Forced disk while opportunistic mem is active
makes a lot of sense. If code can't support it now, just return
-EINVAL, but please don't cripple the interface just because of that.

> > > /sys/power/state
> > > no change, works with and without opportunistic suspend the
> > > same. Ignores suspend blockers. Really no change. (From user
> > > perspective)
> > >
> > > /sys/power/opportunistic
> > > On / Off
> > > While Off the opportunistic suspend is off.
> > > While On, the opportunistic suspend is on and if there are no
> > > suspend blockers the system goes to suspend.
> > >
> >
> > I forgot, of course there needs to be another knob to implement the
> > "on" behaviour in the opportunistic mode
> >
> > /sys/power/block_opportunistic_suspend
> >
> > There you have it. One file, one purpose.
>
> That's getting messy IMHO.
>
> In addition to that you get a nice race when the user writes "mem"
> to /sys/power/state and opportunistic suspend happens at the same
> time.

It should not opportunistically suspend when it has work to do (like
entering forced suspend).
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/