Subject: Re: [PATCH] powerpc: Don't use alloc_bootmem() in init_IRQ() path

From: Anton Vorontsov <[email-masked]>
Date: Thu, 2 Jul 2009 01:28:58 +0400

On Wed, Jul 01, 2009 at 04:13:43PM -0500, Timur Tabi wrote:
> Anton Vorontsov wrote:
> 
> > diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c
> > index 63cdf98..074905c 100644
> > --- a/arch/powerpc/sysdev/qe_lib/qe_ic.c
> > +++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c
> > @@ -333,12 +333,10 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags,
> >  	if (ret)
> >  		return;
> >  
> > -	qe_ic = alloc_bootmem(sizeof(struct qe_ic));
> > +	qe_ic = kzalloc(sizeof(*qe_ic), GFP_KERNEL);
> 
> This function is called during init_IRQ() in main.c.

That's the main point of this patch (as subject says). Nowadays
init_IRQ() is called with kernel allocator available, so we
shouldn't use alloc_bootmem() anymore.

> Looking at the code, I don't see any earlier calls to kzalloc().

You seem to be looking into an outdated kernel. ;-) IIRC, the
first caller of kzalloc() in init_IRQ() path appeared in

commit 85355bb272db31a3f2dd99d547eef794805e1319
Author: Kumar Gala <[email-masked]>
Date:   Thu Jun 18 22:01:20 2009 +0000

    powerpc: Fix mpic alloc warning

> Are you sure this is supposed
> to work?

This was boot-tested on real HW. :-)

Thanks,

-- 
Anton Vorontsov
email: [email-masked]
irc://irc.freenode.net/bd2