Thread (7 messages) flat view 7 messages, 4 authors, 2007-10-11

Re: Hard hang in hypervisor!?

From: Linas Vepstas <hidden>
Date: 2007-10-11 20:30:50

On Thu, Oct 11, 2007 at 10:04:40AM +1000, Paul Mackerras wrote:
Linas Vepstas writes:
quoted
Err ..  it was cpu 0 that was spinlocked.  Are interrupts not
distributed?
We have some bogosities in the xics code that I noticed a couple of
days ago.  Basically we only set the xics to distribute interrupts to
all cpus if (a) the affinity mask is equal to CPU_MASK_ALL (which has
ones in every bit position from 0 to NR_CPUS-1) and (b) all present
cpus are online (cpu_online_map == cpu_present_map).  Otherwise we
direct interrupts to the first cpu in the affinity map.  So you can
easily have the affinity mask containing all the online cpus and still
not get distributed interrupts.

So in your case it's quite possible that all interrupts were directed
to cpu 0.
Thanks,
I'll give this a whirl if I don't get distracted by other tasks. 

A simple cat /proc/interrupts shows them evenly distributed on
my "usual" box, and all glommed up on cpu 0 on the one thats 
giving me fits.

Also, I noticed years ago that "BAD" was non-zero and large.
Vowed to look into it someday ...

--linas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help