Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Jan 2000 22:26:27 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Alfred Perlstein <bright@wintelcom.net>
Cc:        Jason Evans <jasone@FreeBSD.ORG>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/kern vfs_aio.c
Message-ID:  <200001200626.WAA42307@apollo.backplane.com>
References:  <200001200200.SAA61880@freefall.freebsd.org> <20000119210539.F20191@fw.wintelcom.net>

next in thread | previous in thread | raw e-mail | index | archive | help
:* Jason Evans <jasone@FreeBSD.org> [000119 18:23] wrote:
:> jasone      2000/01/19 18:00:00 PST
:> 
:>   Modified files:
:>     sys/kern             vfs_aio.c 
:>   Log:
:>   Don't tsleep() while at splbio().
:
:Unless it fixes some other bug, sleeping with spl raised is perfectly valid.

    Not only that, but this change *introduces* a race condition.  The
    splx(s) CANNOT occur before the tsleep() or you have a race between
    setting the KAIO_WAKEUP flag and an interrupt occuring just prior
    to the tsleep().

    Jason, please revert this change.  tsleep()ing with the spl raised
    is used all over the kernel for the precise reason that it was used 
    here:  To prevent an interrupt/wakeup/tsleep race from occuring.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>


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?200001200626.WAA42307>