Date: Tue, 23 Mar 2004 14:28:16 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha interrupt.c Message-ID: <200403232228.i2NMSHb2042820@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403232228.i2NMSHb2042820>
