:
:Yeah, I was wrong before.. I just had to really hit the system hard before
:I noticed this behavior... it get's pretty bad... the mouse get's jumpy,
:and the keyboard input is really slow...
:
:=================================================================
:| Kenneth Culver | FreeBSD: The best OS around. |
I definitely blew the need_resched stuff.
I found it. I was clearing the 'astpending' variable in doreti, which
used to be just fine, but now that we have two flags in it instead of
one it was clearing the need-resched flag bit as well as the astpending
flag bit.
If you don't want to wait, here it is (it's really the last bit that
fixes the problem. The first two bits are incidental).
I've committed the fix. I would appreciate others testing it as well.
It seems to solve the problem I was able to reproduce on my systems.
Index: isa/ipl.s
===================================================================
RCS file: /home/ncvs/src/sys/i386/isa/ipl.s,v
retrieving revision 1.33
diff -u -r1.33 ipl.s
--- isa/ipl.s 2000/03/28 07:16:23 1.33
+++ isa/ipl.s 2000/03/29 06:00:29
@@ -123,10 +123,10 @@
andl _ipending,%ecx /* set bit = unmasked pending INT */
jne doreti_unpend
movl %eax,_cpl
- MPLOCKED decb _intr_nesting_level
+ decb _intr_nesting_level
/* Check for ASTs that can be handled now. */
- cmpb $0,_astpending
+ cmpl $0,_astpending
je doreti_exit
testb $SEL_RPL_MASK,TF_CS(%esp)
jne doreti_ast
@@ -271,7 +271,7 @@
ALIGN_TEXT
doreti_ast:
- movl $0,_astpending
+ andl $~AST_PENDING,_astpending
sti
movl $T_ASTFLT,TF_TRAPNO(%esp)
call _trap
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message