Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Nov 2000 17:30:16 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        smp@FreeBSD.org
Subject:   RE: Patches to make witness work..
Message-ID:  <XFMail.001115173016.jhb@FreeBSD.org>
In-Reply-To: <XFMail.001115164926.jhb@FreeBSD.org>

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

On 16-Nov-00 John Baldwin wrote:
> [ Bcc'd to -current, send followups to -smp ]
> 
> I've been spending my time recently trying to get the kernel to boot with
> witnees turned on.  The witness code itself was not broken (with a tiny
> exception), but our kernel code did have some bugs.  However, while fixing
> the
> problems witness pointed out, I ended up with a kernel that is not stable on
> SMP systems (go figure).  Part of this may be due to a broken atkbd driver,
> whose interrupt thread seems to chew up a lot more CPU time than it should
> be. 
> I've tried to commit as many of the safe changes as I could w/o actually
> breaking SMP systems.  The rest of the patches that are needed are at
> http://www.FreeBSD.org/~jhb/patches/giant.patch.  This patchset does two
> primary things:
> 
> 1) It fixes msleep() and mawait() to release the sched_lock before calling
>    CURSIG() and to pick the lock back up again afterwards.
> 2) It moves the dropping/reacquiring of Giant out of mi_switch() and out
>    into the code that calls mi_switch().  This is needed because Giant
>    needs to be released/reacquired when it is not under the sched_lock
> 
> Any feedback, etc. is welcome.  At the very least, UP systems (both x86 and
> alpha) appear to be fine with this patch, and can run kernels with witness
> enabled without any problems.  Thus this patch can be used to debug
> deadlocks,
> etc. on UP systems at least.

Erm, well, wouldn't you know it, I found a missing mtx_exit() in mawait() right
after committing 1), and now my SMP testbox seems fine.  I'm trying another
kernel with witness turned on (as well as on another SMP machine), and if those
work I'll commit the changes.

-- 

John Baldwin <jhb@FreeBSD.org> -- 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-smp" in the body of the message




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