From owner-freebsd-current Tue Mar 28 19:48: 7 2000 Delivered-To: freebsd-current@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 15EF337C015 for ; Tue, 28 Mar 2000 19:48:03 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id TAA56657; Tue, 28 Mar 2000 19:48:00 -0800 (PST) (envelope-from dillon) Date: Tue, 28 Mar 2000 19:48:00 -0800 (PST) From: Matthew Dillon Message-Id: <200003290348.TAA56657@apollo.backplane.com> To: Matthew Dillon Cc: Gary Jennejohn , freebsd-current@FreeBSD.ORG Subject: Very weird assembly failure (was Re: UP kernel performance and Matt Dillon's patches) References: <200003282137.XAA05281@peedub.muc.de> <200003290308.TAA56364@apollo.backplane.com> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I found a couple of minor nits, but only one real bug. In i386/swtch.s I forgot to change out a WANT_RESCHED for AST_RESCHED: sw1a: call _chooseproc /* trash ecx, edx, ret eax*/ testl %eax,%eax CROSSJUMP(je, _idle, jne) /* if no proc, idle */ movl %eax,%ecx xorl %eax,%eax andl $~WANT_RESCHED,_astpending The problem is that a kernel build is not reporting any errors! WANT_RESCHED does not exist at all, anywhere. If I change it to a garbage name the kernel still builds. I don't get it. In anycase, please try changing WANT_RESCHED to AST_RESCHED in i386/i386/swtch.s and see if that fixes the reported performance problems. If WANT_RESCHED defaults to 0 by being undefined, then the reschedule flag is never cleared when a context switch is made and this could certainly lead to problems. I also found a movb that had to be a movl, but since only the low bits were being used anyway this would not have caused any problems. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message