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-all
mailing list