Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Panic on dom0 shutdown



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.

That, however, I have no idea how to achieve.

Regards,

Johan



Home | Main Index | Thread Index | Old Index