tech-kern archive

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

pserialize_switchpoint() question



Hello,
while debugging why XEN domU kernels hang on psrlz, I found that, when
this happens, pserialize_switchpoint() seems to not be called for one of the
CPUs (not always the same). The CPU in question doens't show up in
psz->psz_pass. I also noticed that sometimes, pserialize_perform() seems
to take much longer (several seconds) than it should.

Now my question: how is pserialize_switchpoint() supposed to be called ?
I see it's called from softint_dispatch() but Xen doesn't use it
(no fast soft interrupts).
I see it's called from lwp_startup() and mi_switch(), but only if
there is a context switch. If the CPU is idle, it will never be called.
So how should an idle CPU be handled ?

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index