On Thursday, August 05, 2010 12:01:22 pm m...@freebsd.org wrote: > On Wed, Aug 4, 2010 at 9:20 AM, <m...@freebsd.org> wrote: > > On Wed, Aug 4, 2010 at 2:26 PM, John Baldwin <j...@freebsd.org> wrote: > >> Actually, I would beg to differ in that case. If PCPU_GET(spinlocks) > >> returns non-NULL, then it means that you hold a spin lock, > > > > ll_count is 0 for the "correct" pc_spinlocks and non-zero for the > > "wrong" one, though. So I think it can be non-NULL but the current > > thread/CPU doesn't hold a spinlock. > > > > I don't believe we have any code in the NMI handler. I'm on vacation > > today so I'll check tomorrow. > > I checked and ipi_nmi_handler() doesn't appear to have any local > changes. I assume that's where I should look?
The tricky bits are all in the assembly rather than in C, probably in exception.S. However, if %gs were corrupt I would not expect it to point to another CPU's data, but garbage from userland. -- John Baldwin _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"