Port-xen archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Panic on dom0 shutdown
On Wed, Jan 09, 2013 at 09:56:30AM +0100, Johan Ihrén wrote:
> Hi,
>
> > OK, so can you try the attached patch (in addition to building with
> > -fno-optimize-sibling-calls) ?
>
> Smallest patch I ever saw, but I understand what you're trying to achieve
> (forcing pirq_interrupt to not have a tail-call to whatever it is calling).
> However, again, there is no change to the resulting trace at the point of the
> panic:
>
> > Stopped in pid 745.1 (halt) at netbsd:bus_space_read_4*0x8:
> > bus_space_read_4()
> > pirq_interrupt()
> > Xresume_xenev6() at netbsd:Xresume_xenev6+0x47
>
> I don't know anything about how the trace function is implemented, but
> obviously adding a dummy statement to the tail end of pirq_interrupt didn't
> help us. So I added a dummy function between pirq_interrupt and the call to
> the function pointer to see where the trace starts to present the correct
> call chain.
>
> This changed the trace to:
>
> > Stopped in pid ...
> > bus_space_read_4()
> > johani_dummy()
> > pirq_interrupt()
> > Xresume_xenev6() at netbsd:Xresume_xenev6+0x47
>
> which tells me that from the POV of getting a correct trace our problem is
> not with getting rid of a tail-call from pirq_interrupt, but rather getting
> rid of a tail-call from the function that the function pointer refers to.
What does johani_dummy() do ? If it's just an empty function, I don't
understand how we can have such a call trace.
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index