:
: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

Reply via email to