From owner-svn-src-head@FreeBSD.ORG Tue Oct 28 15:40:14 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E5C25890; Tue, 28 Oct 2014 15:40:14 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 59C29C90; Tue, 28 Oct 2014 15:40:14 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id s9SFe6CN053728 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 28 Oct 2014 17:40:06 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua s9SFe6CN053728 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id s9SFe64H053727; Tue, 28 Oct 2014 17:40:06 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 28 Oct 2014 17:40:06 +0200 From: Konstantin Belousov To: Konstantin Belousov Subject: Re: svn commit: r273785 - head/sys/kern Message-ID: <20141028154006.GG1877@kib.kiev.ua> References: <201410281530.s9SFUYBd015691@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201410281530.s9SFUYBd015691@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Oct 2014 15:40:15 -0000 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.