From owner-cvs-all Wed Feb 6 20:33:20 2002 Delivered-To: cvs-all@freebsd.org Received: from mail11.speakeasy.net (mail11.speakeasy.net [216.254.0.211]) by hub.freebsd.org (Postfix) with ESMTP id 0635D37B41F for ; Wed, 6 Feb 2002 20:33:11 -0800 (PST) Received: (qmail 20547 invoked from network); 7 Feb 2002 04:33:03 -0000 Received: from unknown (HELO laptop.baldwin.cx) ([65.90.117.149]) (envelope-sender ) by mail11.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 7 Feb 2002 04:33:03 -0000 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: <20020206201716.B2295-100000@gamplex.bde.org> Date: Wed, 06 Feb 2002 23:32:37 -0500 (EST) From: John Baldwin To: Bruce Evans Subject: RE: cvs commit: src/sys/i386/i386 db_interface.c Cc: Bruce Evans , cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 06-Feb-02 Bruce Evans wrote: > On Tue, 5 Feb 2002, John Baldwin wrote: > >> On 05-Feb-02 Bruce Evans wrote: >> > On Tue, 5 Feb 2002, John Baldwin wrote: >> >> Err, have you tested this? In my tests locally this still doesn't work >> >> properly which is why I haven't committed it. :( >> > >> > PS: perhaps you are thinking of the flag in Debugger(). That is >> > ... >> >> Hmm, the problem I was having is that interrupts were still firing while I >> was >> in ddb. I could tell because new KTR entries due to clock interrutps kept >> showing up. > > This can't happen :-). Except for bugs which would affect most forms > of interrupt disablement. Perhaps there is a path through trap() which > enables interrupts even for debugger traps, but only when they are > enabled when the trap occurs. Ah, I see a related broken path, not > for debugger traps but for pagefaults. Interrupts are enabled for > pagefaults almost unconditionally, so a pagefault in ddb would cause > problems. I think this causes the "Context switches not allowed in the > Debugger" message. I thought that this was caused by a more fundamental > bug. Hmm, agreed that we shouldn't re-enable interrupts unless they were enabled in the previous frame. I'll test this out again locally to see if I still have problems though. > BTW, why does the spinlocking in kern_clock.c use MTX_QUIET? nanotime() > for witness timestamps should work normally there. I noticed this > when I uninlined mtx_*_spin_*(). The `flags' versions are not used > anywhere else. Because if you are trying to debug locks using KTR_LOCK you get lots of noise from the clock interrupts. :) > Bruce -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message