Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Mar 2004 17:10:44 -0500
From:      John Baldwin <jhb@FreeBSD.org>
To:        current@freebsd.org
Subject:   Re: cvs commit: src/sys/alpha/alpha interrupt.c
Message-ID:  <200403261116.00474.jhb@FreeBSD.org>
In-Reply-To: <200403232228.i2NMSHb2042820@repoman.freebsd.org>
References:  <200403232228.i2NMSHb2042820@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 23 March 2004 05:28 pm, John Baldwin wrote:
> jhb         2004/03/23 14:28:16 PST
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/alpha/alpha      interrupt.c
>   Log:
>   Enable interrupt preemption on Alpha.  Previously, flipping this switch
> on caused hangs on SMP systems under load.  My theory was that an
> interrupted thread was migrating and returning to PAL on a different CPU
> and that that caused the hangs.  To prevent this, I used the recently added
> sched_pin() API to pin the interrupted thread to the CPU that received the
> interrupt across ithread_schedule() to prevent migration.  This seems to
> have fixed the hangs based on tests by several folks on the alpha@ list.
>
>   Tested by:      wilko, tisco, several others on alpha@
>
>   Revision  Changes    Path
>   1.77      +10 -1     src/sys/alpha/alpha/interrupt.c

As an aside, interrupt preemption greatly reduces interrupt latency and can 
dramatically improve the 'snappiness' of a box.  It is currently only enabled 
for i386, amd64, and now alpha.  Maintainers for other archs such as sparc64, 
ia64, and ppc should try to get it working on their platforms as well if 
possible.

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403261116.00474.jhb>