svn commit: r273785 - head/sys/kern

John Baldwin jhb at freebsd.org
Tue Oct 28 18:26:44 UTC 2014


On Tuesday, October 28, 2014 11:40:06 am Konstantin Belousov wrote:
> On Tue, Oct 28, 2014 at 03:30:34PM +0000, Konstantin Belousov wrote:
> > Author: kib
> > Date: Tue Oct 28 15:30:33 2014
> > New Revision: 273785
> > URL: https://svnweb.freebsd.org/changeset/base/273785
> > 
> > Log:
> >   Convert kern_umtx.c to use fueword() and casueword().
> >   
> >   Also fix some mishandling of suword(9) errors as errno, which resulted
> >   in spurious ERESTART.
> >   
> >   Sponsored by:	The FreeBSD Foundation
> >   Tested by:	pho
> >   MFC after:	3 weeks
> > 
> > Modified:
> >   head/sys/kern/kern_umtx.c
> 
> Some explanation which I did not want to put into commit message.
> 
> The kern_umtx.c commit is split from the other conversion commit
> for ease of reversal.  The most tricky part of the work for fueword()
> was to preserve the logic of locking loops which rely on the suspension
> check functions errors preserved for next iteration.  Another cause
> of troubles if kern_umtx.c were incomplete cleanups in case of
> userspace access errors, which left umtx sleepchains locked.
> 
> The only consumers of fuword() left in tree are solaris compat layer/dtrace.
> 
> Architectures which lack proper fueword() implementations are arm,
> mips and sparc64. I already forgot enough of sparc64 assembly, and do
> not know mips and arm. These arches currently should run with compat
> shims in subr_uio.c, but hopefully maintaners will plug the missed
> implementations.

Thanks for fixing this!

-- 
John Baldwin


More information about the svn-src-head mailing list