From owner-freebsd-current Mon Oct 23 15:41:31 2000 Delivered-To: freebsd-current@freebsd.org Received: from pike.osd.bsdi.com (pike.osd.bsdi.com [204.216.28.222]) by hub.freebsd.org (Postfix) with ESMTP id 9500537B65F for ; Mon, 23 Oct 2000 15:41:25 -0700 (PDT) Received: from laptop.baldwin.cx (ether.osd.bsdi.com [204.216.28.196]) by pike.osd.bsdi.com (8.11.0/8.9.3) with ESMTP id e9NMeLf36037; Mon, 23 Oct 2000 15:40:22 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200010222232.AAA72847@midten.fast.no> Date: Mon, 23 Oct 2000 15:40:57 -0700 (PDT) From: John Baldwin To: Tor.Egge@fast.no Subject: RE: sys/i386/i386/machdep.c:cpu_idle() changes causes this Was: Cc: null@pozo.com, current@FreeBSD.org, valentin@valcho.net Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On 22-Oct-00 Tor.Egge@fast.no wrote: >> >> On 20-Oct-00 Valentin Chopov wrote: >> > I found that if I remove #ifndef SMP /#endif in: >> >> Errr, this doesn't really make sense, and if anything is probably >> hiding the problem. Also, this change will potentially increase >> interrupt latency even further on SMP machines. > > Interrupts are disabled if Giant is busy in vm_page_zero_idle, thus > the idle proc calls mi_switch with interrupts disabled and the process > being scheduled starts running with interrupts disabled. > > I suggest removing the asm statement from vm_page_zero_idle as a first > stage in rewriting vm_page_zero_idle. Ahhhh.. Thanks for the tip. I didn't know that vm_page_zero_idle was this evil. Yuck. In fact, vm_page_zero_idle() is no longer called with interrupts disabled, so all the interrupt foolishness can go away. -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message