diff options
author | jhb <jhb@FreeBSD.org> | 2004-07-19 16:37:47 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2004-07-19 16:37:47 +0000 |
commit | d4ea20b7e1d7639414abf5065adbb41b63e8d4cf (patch) | |
tree | c1fb942a8209f4ba2b335e4721ad7fbbba4392e9 /sys/amd64 | |
parent | 3b66ac9138bbf0fa12b71d837e0efedb6f01f555 (diff) | |
download | FreeBSD-src-d4ea20b7e1d7639414abf5065adbb41b63e8d4cf.zip FreeBSD-src-d4ea20b7e1d7639414abf5065adbb41b63e8d4cf.tar.gz |
As a temporary hack, turn off deferred preemptions that are the result of
a fast interrupt handler doing an swi_sched(). This fixed the lockups I
saw on my laptop when using xmms in KDE and on rwatson's MySQL benchmarks
on SMP. This will eventually be removed and/or modified when I figure out
what the root cause is and fix that.
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/intr_machdep.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/amd64/amd64/intr_machdep.c b/sys/amd64/amd64/intr_machdep.c index 6b591d4..8a8968b 100644 --- a/sys/amd64/amd64/intr_machdep.c +++ b/sys/amd64/amd64/intr_machdep.c @@ -204,6 +204,8 @@ intr_execute_handlers(struct intsrc *isrc, struct intrframe *iframe) } isrc->is_pic->pic_eoi_source(isrc); error = 0; + /* XXX */ + td->td_pflags &= ~TDP_OWEPREEMPT; critical_exit(); } else { /* |