Best way to determine if an IRQ is present

Andriy Gapon avg at freebsd.org
Tue Nov 23 15:27:01 UTC 2010


on 22/11/2010 16:24 John Baldwin said the following:
> Well, the real solution is actually larger than described in the PR.  What you 
> really want to do is take the logical CPUs offline when they are "halted".  
> Taking a CPU offline should trigger an EVENTHANDLER that various bits of code 
> could invoke.  In the case of platforms that support binding interrupts to 
> CPUs (x86 and sparc64 at least), they would install an event handler that 
> searches the MD interrupt tables (e.g. the interrupt_sources[] array on x86) 
> and move bound interrupts to other CPUs.  However, I think all the interrupt
> bits will be MD, not MI.

That's a good idea and a comprehensive approach.
One minor technical detail - should an offlined CPU be removed from all_cpus mask/set?

-- 
Andriy Gapon


More information about the freebsd-hackers mailing list