Date: Sat, 21 Nov 2020 23:49:49 -0600 From: Kyle Evans <kevans@freebsd.org> Cc: src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org> Subject: Re: svn commit: r367930 - in head/sys: kern sys Message-ID: <CACNAnaFT2PHWhSLv1it3ykCQL78kZ_gEOHyvnAS7gqoBzHKYRw@mail.gmail.com> In-Reply-To: <202011220547.0AM5lkOG078011@repo.freebsd.org> References: <202011220547.0AM5lkOG078011@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Nov 21, 2020 at 11:47 PM Kyle Evans <kevans@freebsd.org> wrote: > > Author: kevans > Date: Sun Nov 22 05:47:45 2020 > New Revision: 367930 > URL: https://svnweb.freebsd.org/changeset/base/367930 > > Log: > [2/2] _umtx_op: introduce 32-bit/i386 flags for operations > > This patch takes advantage of the consolidation that happened to provide two > flags that can be used with the native _umtx_op(2): UMTX_OP___32BIT and > UMTX_OP__I386. > > UMTX_OP__32BIT iindicates that we are being provided with 32-bit structures. > Note that this flag alone indicates a 64bit time_t, since this is the > majority case. > > UMTX_OP__I386 has been provided so that we can emulate i386 as well, > regardless of whether the host is amd64 or not. > > Both imply a different set of copyops in sysumtx_op. freebsd32__umtx_op > simply ignores the flags, since it's already doing a 32-bit operation and > it's unlikely we'll be running an emulator under compat32. Future work > could consider it, but the author sees little benefit. > > This will be used by qemu-bsd-user to pass on all _umtx_op calls to the > native interface as long as the host/target endianness matches, effectively > eliminating most if not all of the remaining unresolved deadlocks for most. > > This version changed a fair amount from what was under review, mostly in > response to refactoring of the prereq reorganization and battle-testing > it with qemu-bsd-user. The main changes are as follows: > > 1.) The i386 flag got renamed to omit '32BIT' since this is redundant. > 2.) The flags are now properly handled on 32-bit platforms to emulate other > 32-bit platforms. > 3.) Robust list handling was fixed, and the 32-bit functionality that was > previously gated by COMPAT_FREEBSD32 is now unconditional. > 4.) Robust list handling was also improved, including the error reported > when a process has already registered 32-bit ABI lists and also > detecting if native robust lists have already been registered. Both > scenarios now return EBUSY rather than EINVAL, because the input is > technically valid but we're too busy with another ABI's lists. > > libsysdecode/kdump/truss support will go into review soon-ish, along with > the associated manpage update. > > Reviewed by: kib (earlier version) > MFC after: 3 weeks > Differential Revision: https://reviews.freebsd.org/D27223
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaFT2PHWhSLv1it3ykCQL78kZ_gEOHyvnAS7gqoBzHKYRw>