Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 06 Feb 2002 23:32:37 -0500 (EST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Bruce Evans <bde@FreeBSD.org>, cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   RE: cvs commit: src/sys/i386/i386 db_interface.c
Message-ID:  <XFMail.020206233237.jhb@FreeBSD.org>
In-Reply-To: <20020206201716.B2295-100000@gamplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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 <jhb@FreeBSD.org>  <><  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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.020206233237.jhb>