Messages in this thread | | | Date | Thu, 21 Feb 2008 19:57:39 -0300 | From | "Glauber Costa" <> | Subject | Re: [PATCH 2/2] make work have a static address in do_boot_cpu() |
| |
On Thu, Feb 21, 2008 at 7:12 PM, Peter Zijlstra <a.p.zijlstra@chello.nl> 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@redhat.com> > > --- > > 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."
| |