Re: [PATCH 2/2] make work have a static address in do_boot_cpu()

From: Glauber Costa
Date: Thu Feb 21 2008 - 17:57:55 EST


On Thu, Feb 21, 2008 at 7:12 PM, Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:
>
> On Thu, 2008-02-21 at 17:40 -0300, Glauber Costa wrote:
> > This patch makes the work field in create_idle have
> > a static address. Otherwise, being a stack variable, it can
> > boild down the lockdep system.
>
> Looks way overkill. Doesn't something like:
>
>
> > Signed-off-by: Glauber Costa <gcosta@xxxxxxxxxx>
> > ---
> > arch/x86/kernel/smpboot_64.c | 13 +++++++------
> > 1 files changed, 7 insertions(+), 6 deletions(-)
> >
> > diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c
> > index f15b774..d79b7a8 100644
> > --- a/arch/x86/kernel/smpboot_64.c
> > +++ b/arch/x86/kernel/smpboot_64.c
>
>
> > @@ -553,12 +554,12 @@ static int __cpuinit do_boot_cpu(int cpu
> > unsigned long boot_error;
> > int timeout;
> > unsigned long start_rip;
> > struct create_idle create_idle = {
> > - .work = __WORK_INITIALIZER(create_idle.work, do_fork_idle),
> > .cpu = cpu,
> > .done = COMPLETION_INITIALIZER_ONSTACK(create_idle.done),
> > };
> > + INIT_WORK(&create_idle.work, do_fork_idle);
>
> work?

Indeed.

I missed the static lock_class_key definition inside INIT_WORK macro.
It does the job neatly.


--
Glauber Costa.
"Free as in Freedom"
http://glommer.net

"The less confident you are, the more serious you have to act."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/