Re: [PATCH 2/6] Container Freezer: Make refrigerator always available

From: Rafael J. Wysocki
Date: Sat Aug 02 2008 - 10:32:22 EST


On Saturday, 2 of August 2008, Matt Helsley wrote:
>
> On Sat, 2008-08-02 at 00:53 +-0200, Rafael J. Wysocki wrote:
> > On Friday, 1 of August 2008, Matt Helsley wrote:
> > >
> > > On Fri, 2008-08-01 at 16:27 +-0200, Thomas Petazzoni wrote:
> > > > Hi,
> > > >
> > > > Le Thu, 31 Jul 2008 22:07:01 -0700,
> > > > Matt Helsley <matthltc@xxxxxxxxxx> a +AOk-crit :
> > > >
> > > > > --- a/kernel/Makefile
> > > > > +-+-+- b/kernel/Makefile
> > > > > @@ -5,7 +-5,7 @@
> > > > > obj-y = sched.o fork.o exec_domain.o panic.o printk.o +AFw
> > > > > cpu.o exit.o itimer.o time.o softirq.o resource.o +AFw
> > > > > sysctl.o capability.o ptrace.o timer.o user.o +AFw
> > > > > - signal.o sys.o kmod.o workqueue.o pid.o +AFw
> > > > > +- signal.o sys.o kmod.o workqueue.o pid.o freezer.o +AFw
> > > >
> > > > I have the impression that the code in kernel/power/process.c was
> > > > compiled only if CONFIG_PM_SLEEP was set. Now that the code has been
> > > > moved to kernel/freezer.c, it is unconditionnaly compiled in every
> > > > kernel. Is that correct ?
> > > >
> > > > If so, is it possible to put this new feature under some
> > > > CONFIG_SOMETHING option, for people who care about the kernel size ?
> > >
> > > How about making it depend on a combination of CONFIG variables?
> > > Here's an RFC PATCH. Completely untested.
> > >
> > > Signed-off-by: Matt Helsley <matthltc@xxxxxxxxxx>
> >
> > Can you please also make the contents of include/linux/freezer.h depend on
> > CONFIG_FREEZER instead of CONFIG_PM_SLEEP?
>
> Good point -- I'll add that to this patch and repost.
>
> > Also, I'm not really sure if kernel/power/Kconfig is the right place to define
> > CONFIG_FREEZER.
>
> There's no nice place to put it since we're dealing with CONFIG_
> variables in two different Kconfig files. I put it in
> kernel/power/Kconfig because I wasn't certain Kbuild would do the right
> thing if I referenced PM_SLEEP from init/Kconfig.
>
> > Perhaps we should even move freezer.c from kernel/power to kernel
>
> It's already there.

Yes, sorry.

> Perhaps you meant something else (kernel/power/process.c?)?

Well, I'll have to actually apply the patches and look at the modified code.

> > and define CONFIG_FREEZER in Kconfig in there. Andrew, what do you think?
>
> The Kconfig files in kernel/ are Kconfig.hz and Kconfig.preemt which
> don't seem appropriate. I suppose we could add another (perhaps
> Kconfig.cgroup).

Either that, or Kconfig.freezer maybe? After all, it will also be used for
PM_SLEEP, at least for some time.

> Thanks for the review!

You're welcome.

Thanks,
Rafael
7mNółnŠ7mNóp4o0¾gApąĄ©šMóŠ7mNó 5oŠ7mNółnŠ7mNó`5o€5oŃpąĄ©šMóŠ7mNó 5oŠ7mNółnŠ7mNóP6op6oapąĄ©šMóŠ7mNó6oŠ7mNółnŠ7mNó@7o`7ońpąĄ©šMóŠ7mNó€7oŠ7mNółnŠ7mNó08oP8opąĄ©šMóŠ7mNóp8oŠ7mNółnŠ7mNó 9o@9opąĄ©šMóŠ7mNó`9oŠ7mNółnŠ7mNó:o0:o”pąĄ©šMóŠ7mNóP:oŠ7mNółnŠ7mNó;o ;o1pąĄ©šMóŠ7mNó@;oŠ7mNółnŠ7mNóš;o<oĮpąĄ©šMóŠ7mNó0<oŠ7mNółnŠ7mNóą<o=oQpąĄ©šMóŠ7mNó =oŠ7mNółnŠ7mNóŠ=oš=oįpąĄ©šMóŠ7mNó>oŠ7mNółnŠ7mNóĄ>oą>oqpąĄ©šMóŠ7mNó?oŠ7mNółnŠ7mNó°?oŠ?opąĄ©šMóŠ7mNóš?oŠ7mNółnŠ7mNó @oĄ@o‘pąĄ©šMóŠ7mNóą@oŠ7mNółnŠ7mNóAo°Ao!pąĄ©šMóŠ7mNóŠAoŠ7mNółnŠ7mNó€Bo Bo±pąĄ©šMóŠ7mNóĄBoŠ7mNółnŠ7mNópCoCoApąĄ©šMóŠ7mNó°CoŠ7mNółnŠ7mNó`Do€DoŃ
pąĄ©šMóŠ7mNó DoŠ7mNółnŠ7mNóPEopEoa
pąĄ©šMóŠ7mNóEoŠ7mNółnŠ7mNó@Fo`Foń pąĄ©šMóŠ7mNó€FoŠ7mNółnŠ7mNó0GoPGo pąĄ©šMóŠ7mNópGoŠ7mNółnŠ7mNó Ho@Ho pąĄ©šMóŠ7mNó`HoŠ7mNółnŠ7mNóIo0Io” pąĄ©šMóŠ7mNó4oŠ7mNółnŠ7mNóąIo€¾g1 pąĄ©šMóŠ7mNó JoŠ7mNółnŠ7mNóŠJošJoĮ
pąĄ©šMóŠ7mNóĄoŠ7mNółnŠ7mNóĄKoąKoQ
pąĄ©šMóŠ7mNóLoŠ7mNółnŠ7mNó°LoŠLoį pąĄ©šMóŠ7mNóšLoŠ7mNółnŠ7mNó MoĄMoq pąĄ©šMóŠ7mNópNoŠ7mNó@!oŠ7mNóąMo pąĄ©šMóŠ7mNó@OoŠ7mNó@!oŠ7mNó€Oo Oo‘pąĄ©šMóŠ7mNóĄOoŠ7mNó@!oŠ7mNópPoPo!pąĄ©šMóŠ7mNó°PoŠ7mNó@!oŠ7mNó`Qo€Qo±pąĄ©šMóŠ7mNó QoŠ7mNó@!oŠ7mNóPRopRoApąĄ©šMóŠ7mNóRoŠ7mNó@!oŠ7mNó@So`SoŃpąĄ©šMóŠ7mNó€SoŠ7mNó@!oŠ7mNó0ToPToapąĄ©šMóŠ7mNópToŠ7mNó@!oŠ7mNó Uo@UońpąĄ©šMóŠ7mNó`UoŠ7mNó@!oŠ7mNóVo0VopąĄ©šMóŠ7mNóPVoŠ7mNó@!oŠ7mNóWo WopąĄ©šMóŠ7mNó@WoŠ7mNó@!oŠ7mNóšWoXo”pąĄ©šMóŠ7mNó0XoŠ7mNó@!oŠ7mNóąXoYo1pąĄ©šMóŠ7mNó YoŠ7mNó@!oŠ7mNóŠYošYoĮpąĄ©šM󀂊7mNó°NoŠ7mNó@!oŠ7mNó Zo[oQpąĄ©šMó`‚Š7mNóąZoŠ7mNó@!oŠ7mNóĄ[oą[oįpąĄ©šM󀂊7mNó\oŠ7mNó@!oŠ7mNó°\oŠ\oqpąĄ©šMó ‚Š7mNóš\oŠ7mNó@!oŠ7mNó ]oĄ]opąĄ©šMó@‚Š7mNóą]oŠ7mNó@!oŠ7mNó^o°^o‘pąĄ©šMó`‚Š7mNóŠ^oŠ7mNó@!oŠ7mNó€_očŗ{.nĒ+‰·Ÿ®‰­†+%ŠĖlzwm…ébė§²ęģrø›zX§»®w„Š{ayŗŹ‡Ś™ė,j­¢f£¢·hš‹ąz¹®w„¢ø ¢·¦j:+v‰ØŠwčjŲm¶Ÿ’¾«‘źēzZ+ƒłšŽŠŻ¢j"ś!¶iO•ę¬z·švŲ^¶m§’šĆ nʊąžY&—