From owner-svn-src-all@freebsd.org Sat Nov 30 23:43:46 2019 Return-Path: Delivered-To: svn-src-all@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 7641D1BC698; Sat, 30 Nov 2019 23:43:46 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 47QScx2GWPz3C2b; Sat, 30 Nov 2019 23:43:45 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wm1-x343.google.com with SMTP id p17so12967527wma.1; Sat, 30 Nov 2019 15:43:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=hN72WEHsmgVbryEnfvNkMftvKI2y8oLldJy7aWzPV+I=; b=Xb/BhPBUJPv+QsKD+95mGzM7xz5HNlCZZJdOXjn1ANxSgDVLEF8+j8T38TOBnT+PLH 0XA2W/CmKaEquh93LHQsKhAFpvusEKXIif5l3Gt6w1HkyU+sAXeqgQ9XWDZabLOvlx37 ZH5eIyTqpTHLO2ojmtAuI6GEBgHahXQUdtrIVQRKx0l1v2hjR1jV++5ctbXPQ60kClKS M/LT9ewsMn6sT6WlQiNBSyQx0nSeoNEpAaL2zpdZf8YSQsmCzKmnCbbu+hna+p+vM+FJ jZm+fj9vOxI7+Yq5sxF5PkH1DXiwENPsSlzzZgXJ9FNvkjIdJG3Gs/hDANf6WyOxh8r6 kWfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=hN72WEHsmgVbryEnfvNkMftvKI2y8oLldJy7aWzPV+I=; b=jrERmJIdgA+o1svJzkTzzdo5hB4XEXWtXHY+YbYLdtwmvI4My7lf3a45FZDwGv1jUv tT6+3KsgQMg0c5XLIdj6PZzcz2vIRU05x3c/pA3Y4zXt2EsWhjp3eX7AZP4hiaD33f7A sZbF5cZGm/bo4MWMSxfqZ97ywB+k3fhzmOK/hrTrMtjPSayKLEFcEhYo8tQOID+g4l8q I9k2pDik4//daYMjyx8ghOH2ggBloIIOnNX8hTw3g6RM2yupqr8cUvKWPfHB1t+MqsnI iaO5Zt7VENd4nYbDWjI0rRtyMxs6EEE5stv3by3axltaRcZ2Pc1eBeno+FpcsVMzcFSl d91A== X-Gm-Message-State: APjAAAVDk2Jn1Z+b2kRdYdHlTdio5rU+vrIQI4zGrobBXH7deKEZmoiN aXwVxY1qEd3E1lNnPw1y5pYJmEnRedLgqOKlKXs= X-Google-Smtp-Source: APXvYqwfCC+6gN12LaoSTQy2BExcahkFmGmDozm7h6ZWhBQ7s/rUcclaqQgXNDV8BmcirMu1r/d0pfYASNnc4+mpomo= X-Received: by 2002:a1c:f610:: with SMTP id w16mr3481758wmc.34.1575157423783; Sat, 30 Nov 2019 15:43:43 -0800 (PST) MIME-Version: 1.0 Received: by 2002:adf:9ed0:0:0:0:0:0 with HTTP; Sat, 30 Nov 2019 15:43:43 -0800 (PST) In-Reply-To: <20191130232452.GC10580@kib.kiev.ua> References: <201911301641.xAUGfmMt029299@repo.freebsd.org> <20191130230725.GB10580@kib.kiev.ua> <20191130232452.GC10580@kib.kiev.ua> From: Mateusz Guzik Date: Sun, 1 Dec 2019 00:43:43 +0100 Message-ID: Subject: Re: svn commit: r355227 - head/sys/fs/tmpfs To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 47QScx2GWPz3C2b X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=Xb/BhPBU; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2a00:1450:4864:20::343 as permitted sender) smtp.mailfrom=mjguzik@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(0.00)[ip: (3.10), ipnet: 2a00:1450::/32(-2.69), asn: 15169(-1.94), country: US(-0.05)]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[3.4.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Nov 2019 23:43:46 -0000 On 12/1/19, Konstantin Belousov wrote: > On Sun, Dec 01, 2019 at 12:15:06AM +0100, Mateusz Guzik wrote: >> On 12/1/19, Konstantin Belousov wrote: >> > On Sat, Nov 30, 2019 at 04:41:48PM +0000, Mateusz Guzik wrote: >> >> Author: mjg >> >> Date: Sat Nov 30 16:41:47 2019 >> >> New Revision: 355227 >> >> URL: https://svnweb.freebsd.org/changeset/base/355227 >> >> >> >> Log: >> >> tmpfs: add fast path to tmpfs_access for common case lookup >> >> >> >> VEXEC consists of vast majority of all calls and almost all targets >> >> have >> >> at least 0111. >> > On what load VEXEC is the dominant access check ? >> > >> >> Note this is called for every directory to be traversed dooring lookup, >> so for instance looking up "foo/bar/baz" performs 2 VEXEC checks. > So it is for directory components traversal during lookup. > Does it make sense to add something similar at the start of > ufs_accessx() when neither kind of ACLs is enabled for mp ? > All filesystems should short-circuit it if they can. I have a review of the sort for zfs which internally was using a step forward in this idea by checking if any exec perms are denied: https://reviews.freebsd.org/D22224 However, if talking about ufs performance, I think the bigger fish to fry is ufs_need_inactive. While I have not benchmarked, if tmpfs and zfs are of any help, concurrent path lookup will keep contending on vputx relocking the vnode in exclusive manner. This not only slows things down as it is, It is a hard blocker for using adaptive spinning in lockmgr for this fs. I may get around to providing both much later, but I suspect you are much more familiar with the fs than I am and could do it significantly faster. -- Mateusz Guzik