[PATCH] Do not inline putprops function

Neil Horman nhorman at redhat.com
Wed Jun 17 10:05:14 EDT 2009


On Wed, Jun 17, 2009 at 07:04:35PM +0530, M. Mohan Kumar wrote:
> On Wed, Jun 17, 2009 at 09:04:13AM -0400, Neil Horman wrote:
> > On Wed, Jun 17, 2009 at 10:26:35PM +1000, Michael Ellerman wrote:
> > > 
> > > What compiler version are you using? Does the behaviour change if you
> > > use a newer/older compiler? It sounds to me like there's some deeper bug
> > > and your patch is just papering over it.
> > > 
> 
> I tried with gcc 4.3.2. Let me try with a recent version and update.
> 
> > Agreed, this doesn't make any sense. Try changing the compiler version to see if
> > the problem goes away or stops.  It might also be worthwhile to dump the
> > contents of the device tree at the start and end of the kexec process.  If the
> > changing of how a function is inlined is causing a hang, its likely changing how
> > the putprops function is writing information to the device tree.  Understanding
> > what that change is will likely provide clues to how the code has changed.
> 
> Neil, there was no code change in fs2dt.c
> 
Sure there was, by modifying the code to tell it to not inline the putprops
function, you changed how the complier optimizes that code block.  There may not
be any source level code change, but the assembly is certainly different, and it
must be so in a way thats causing a hang.  The putpops function changes the
contents of the ppc64 device-tree, so if this is a compiler bug, and its causing
a hang, I imagine we'll see some manifestation in a change in the device tree
contents.

Neil

> Regards,
> M. Mohan Kumar



More information about the kexec mailing list