From owner-svn-src-head@freebsd.org Sun Nov 22 05:50:00 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A291147DB40 for ; Sun, 22 Nov 2020 05:50:00 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Cdzrm4Dzpz4bd7 for ; Sun, 22 Nov 2020 05:50:00 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 800B415A7 for ; Sun, 22 Nov 2020 05:50:00 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f178.google.com with SMTP id n132so13321828qke.1 for ; Sat, 21 Nov 2020 21:50:00 -0800 (PST) X-Gm-Message-State: AOAM533myT3LSRKPFPqrOGVJ0dbn9lB0Vh7m1HIYcz9Ms+KwOzFSSyKo cAPVE5xklvLudoC8rZAZCwzIzC6i9ieWNKZD2V8= X-Received: by 2002:a05:620a:12ea:: with SMTP id f10mt9551264qkl.430.1606024200055; Sat, 21 Nov 2020 21:50:00 -0800 (PST) MIME-Version: 1.0 References: <202011220547.0AM5lkOG078011@repo.freebsd.org> In-Reply-To: <202011220547.0AM5lkOG078011@repo.freebsd.org> From: Kyle Evans Date: Sat, 21 Nov 2020 23:49:49 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r367930 - in head/sys: kern sys Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.34 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: Sun, 22 Nov 2020 05:50:00 -0000 On Sat, Nov 21, 2020 at 11:47 PM Kyle Evans 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