[PATCH] Fix interrupt distribution in ppc970

Michael Ellerman michael at ellerman.id.au
Wed Mar 7 04:37:14 EST 2007


On Tue, 2007-03-06 at 22:25 +0530, Mohan Kumar M wrote:
> On Tue, Mar 06, 2007 at 03:16:55PM +0100, Michael Ellerman wrote:
> > On Tue, 2007-03-06 at 19:27 +0530, Mohan Kumar M wrote:
> > > Hi,
> > > 
> > > Here comes the revised version of patch to fix the interrupt missing
> > > problem when a kdump kernel is booted with "maxcpus=1" kernel parameter.
> > > 
> > > In the xics initialization code a check is made to detemine whether
> > > maxcpus kernel parameter is present and if its present then
> > > default_distrib_server variable is initialized to the current boot cpu
> > > id (by default_server variable). So that when ever a kernel is booted
> > > with maxcpus kernel parameter all interrupts are routed to the boot cpu
> > > only.
> > > 
> > > Tested on POWER5 and JS20 systems.
> > 
> > First, I don't know why we keep telling people to use maxcpus=1 for
> > kexec/kdump - it's causing bugs, and I don't know of any that it fixes?
> 
> Some distros want to use maxcpus=1 for kdump.

Yeah OK.

> > Second, the way you've written this is not so good. The xics code should
> > not be checking that "maxcpus" exists on the command line, it should be
> > checking that the distrib server points to a cpu that is online - using
> > cpu_online() etc.
> >
> 
> In get_irq_server function in xics.c, "noirqdistrib" command line
> parameter is indirectly checked for routing the interrupts either to a
> specific cpu or to all cpus. So I think checking for maxcpus= command
> line parameter in xics.c is not a problem.

No, it checks a flag, it doesn't run strstr on the saved command line.

> Also during the xics_init_IRQ function other cpus (secondary cpus) will
> not be online, they are made online at a later stage. So using
> cpu_online() function at xics_init_IRQ will return true only for boot
> cpu id.

OK, so you should be able to use cpus possible map or something similar.

cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20070306/80604ad3/attachment.pgp>


More information about the Linuxppc-dev mailing list