Date: Tue, 28 Mar 2000 22:10:26 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Kenneth Wayne Culver <culverk@wam.umd.edu> Cc: Geoff Rehmet <geoffr@is.co.za>, Gary Jennejohn <garyj@muc.de>, freebsd-current@FreeBSD.ORG Subject: Re: UP kernel performance and Matt Dillon's patches Message-ID: <200003290610.WAA57338@apollo.backplane.com> References: <Pine.GSO.4.21.0003290038260.27361-100000@rac5.wam.umd.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
: :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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003290610.WAA57338>