From owner-svn-src-all@freebsd.org Sat Aug 8 01:40:44 2020 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 153DE379A6A; Sat, 8 Aug 2020 01:40:44 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 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 4BNlL32Sr0z49Jf; Sat, 8 Aug 2020 01:40:43 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wr1-x442.google.com with SMTP id p20so3208497wrf.0; Fri, 07 Aug 2020 18:40:43 -0700 (PDT) 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=vTIUR68/SQ1Cla7XXXP4lPp0cNLmfyXoZ8UVRn/D/vQ=; b=grvdjNlxJEqZtBcx/ro15XTMpJ4k9MHEEPdkK1cGL4FchGEpCLW2rGCgLRrwSZ2108 Sda9B0qXUdySksJdxJwuS7+14+LuB4sEh1rmANk0eAnp2CrEv2pUWr//Qdh5yK56QwaP cO5oVVZRpIGGGZRznoi2kOsL9KlPDta88nVdNUxz8HBt2pXTgYeGsNlBlpJ9uUscAXtt 9FgxHdH1dwUUKt2+4fF8EU6A/STFb/irE7bos4yBj7958y1iZUjLaTRccPQo5DNM2SA+ l5x9aJhk5RKpIFoTdWwjKad6pqWAgVW9VEhdewF9vWBWCIfIeh1QaIGQpe8KoDReNWTa odpA== 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=vTIUR68/SQ1Cla7XXXP4lPp0cNLmfyXoZ8UVRn/D/vQ=; b=kSliypzLtjtWDZFO8pMsSevXonU6xX5UjIukKPaREECVJPJn/DtFHdtVDGqUrEhM0Y 4jqIi/OKZviHFtYG1AcHEKpWnrICrhjed345Vbitijdidvch6LM87QIuQvk8e+rgSZxz Lnj+ZCCzNmYdWtN3mMawm5ouFExIkNVHzMLQuLMebksWlsT48BgEsOxaE4d4sbmbYVmr GfAka48qDD/B3NpF3zDhx1cM+e6/cCJ5/NDisRfND3QBCZPQHWbDgGPwInQvut9gwKkb gNugrjaQa1fNF/VNRJH3x2cgIogGoMnVyBpKDSMVEsisxC2N4UkttkzT8HkvgVsgHAS7 yHrA== X-Gm-Message-State: AOAM5336sveRlWs9WwFrD3Ggzh/zvEKCpPHCJ2jv3Am7/5K6+7TKbB7A pHnHYtIpIQ78sxGH8QMf02n0vngI/4QX6tjqzGF7vg== X-Google-Smtp-Source: ABdhPJzH51WtEUqHiMgImkgFPXxsWmIDtjzmhl2wpmSy8w/KdrwiejrLPdCGqMB7SKXhNcJxcRrl3K+YpizM5CTMgoY= X-Received: by 2002:adf:e94c:: with SMTP id m12mr14411738wrn.109.1596850841679; Fri, 07 Aug 2020 18:40:41 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a5d:614c:0:0:0:0:0 with HTTP; Fri, 7 Aug 2020 18:40:41 -0700 (PDT) In-Reply-To: References: <202008072306.077N6fjP084661@repo.freebsd.org> From: Mateusz Guzik Date: Sat, 8 Aug 2020 03:40:41 +0200 Message-ID: Subject: Re: svn commit: r364044 - in head: share/man/man9 sys/compat/linuxkpi/common/src sys/kern sys/security/audit sys/sys To: Alan Somers Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4BNlL32Sr0z49Jf X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=grvdjNlx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2a00:1450:4864:20::442 as permitted sender) smtp.mailfrom=mjguzik@gmail.com X-Spamd-Result: default: False [-3.25 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.89)[-0.895]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_FROM(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; NEURAL_HAM_LONG(-0.98)[-0.982]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::442:from]; NEURAL_HAM_SHORT(-0.37)[-0.369]; 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:dkim] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 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, 08 Aug 2020 01:40:44 -0000 or to put differently, the difference is disapperance of vn_stat from the codepath. On 8/8/20, Mateusz Guzik wrote: > tmpfs_getattr fills > 100 bytes worth of data into struct vattr, which > then has to be converted to struct stat format. The conversion happens > to copy some of it as it is and branch on other stuff. tmpfs_stat > elides the entire process. > > On 8/8/20, Alan Somers wrote: >> On Fri, Aug 7, 2020 at 5:06 PM Mateusz Guzik wrote: >> >>> Author: mjg >>> Date: Fri Aug 7 23:06:40 2020 >>> New Revision: 364044 >>> URL: https://svnweb.freebsd.org/changeset/base/364044 >>> >>> Log: >>> vfs: add VOP_STAT >>> >>> The current scheme of calling VOP_GETATTR adds avoidable overhead. >>> >>> An example with tmpfs doing fstat (ops/s): >>> before: 7488958 >>> after: 7913833 >>> >>> Reviewed by: kib (previous version) >>> Differential Revision: https://reviews.freebsd.org/D25910 >>> >>> Modified: >>> head/share/man/man9/Makefile >>> head/share/man/man9/VOP_ATTRIB.9 >>> head/sys/compat/linuxkpi/common/src/linux_compat.c >>> head/sys/kern/vfs_default.c >>> head/sys/kern/vfs_syscalls.c >>> head/sys/kern/vfs_vnops.c >>> head/sys/kern/vnode_if.src >>> head/sys/security/audit/audit_arg.c >>> head/sys/sys/vnode.h >>> >> >> What avoidable overhead? The tmpfs_stat handler that you added in your >> next >> commit looks pretty much the same as vop_getattr. I'm missing where the >> performance improvement comes from. Could you please fill me in? >> -Alan >> > > > -- > Mateusz Guzik > -- Mateusz Guzik