cvs commit: src/sys/i386/i386 local_apic.c

John Baldwin jhb at FreeBSD.org
Mon Jan 26 07:47:30 PST 2004


On Sunday 25 January 2004 12:03 am, Jeff Roberson wrote:
> jeff        2004/01/24 21:03:14 PST
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/i386/i386        local_apic.c
>   Log:
>    - Don't define DETECT_DEADLOCK.  I don't know that this code has
> detected a deadlock in several years.  Furthermore, the IPI code is
> currently protected by a seperate spinlock.  This only served to make IPIs
> twice as expensive as they had to be which severely slowed down the IPI
> heavy ULE scheduler.

What spinlock?

> grep mtx local_apic.c  | wc -l
       0

Some users of the ipi API use a spinlock themselves, but not all, and there 
certainly isn't a global ipi spin lock.  According to witness, only sparc64 
has an ipi spin lock.  It might still be a good idea to turn this off or 
perhaps at least half of it.  We will lose ipi's on non-XAPIC systems if you 
don't wait for the delivery status to clear before sending an IPI.  Have you 
tested this on Pentium II's or earlier?

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



More information about the cvs-all mailing list