cvs commit: src/sys/amd64/amd64 intr_machdep.c io_apic.c local_apic.c msi.c nexus.c src/sys/amd64/include apicvar.h intr_machdep.h src/sys/amd64/isa atpic.c src/sys/i386/i386 intr_machdep.c io_apic.c local_apic.c msi.c nexus.c ...

John Baldwin jhb at freebsd.org
Tue May 8 21:31:22 UTC 2007


On Tuesday 08 May 2007 05:29:14 pm John Baldwin wrote:
> jhb         2007-05-08 21:29:14 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/amd64/amd64      intr_machdep.c io_apic.c local_apic.c 
>                          msi.c nexus.c 
>     sys/amd64/include    apicvar.h intr_machdep.h 
>     sys/amd64/isa        atpic.c 
>     sys/i386/i386        intr_machdep.c io_apic.c local_apic.c 
>                          msi.c nexus.c 
>     sys/i386/include     apicvar.h intr_machdep.h 
>     sys/i386/isa         atpic.c 
>   Log:
>   Minor fixes and tweaks to the x86 interrupt code:
>   - Split the intr_table_lock into an sx lock used for most things, and a
>     spin lock to protect intrcnt_index.  Originally I had this as a spin 
lock
>     so interrupt code could use it to lookup sources.  However, we don't
>     actually do that because it would add a lot of overhead to interrupts,
>     and if we ever do support removing interrupt sources, we can use other
>     means to safely do so w/o locking in the interrupt handling code.
>   - Change the MSI sx lock to a mutex.  If we need to create new sources,
>     drop the lock, create the required number of sources, then get the lock
>     and try the allocation again.

Among other things, this should fix the LOR on boot with the recent MSI 
commit.

-- 
John Baldwin


More information about the cvs-src mailing list