From nobody Sun Feb 13 13:07:16 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id E91D219BC913; Sun, 13 Feb 2022 13:07:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JxSLX4q5Hz3JCf; Sun, 13 Feb 2022 13:07:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1644757636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0LAt+QBEvMif5n7jCjH49MmZQ+IQka4/WU10lWCbv8o=; b=YzcslvXnWhKZ1pFIwfRd3jgpcTlnanvNvaUpTSCYXppPXKJhBdMIYs3C9DB91ZBrjfbQHT kEkbK3WMd/hDd8FMTltx23bsunvPkF3wqeAk5DFESO/3aFNQ/nibr8HGZVRQJZkUNJror5 srke3rlE8xFsDGcGZhF96xpIHMGf3ZAGgHuHX4EkGgC/qYZYlkh+0mSYctfjq7gKphCyaf GQvSyiT10ScAGzjZlIJMRnDC8+0jx+b+BYlri6hzyuy9YpyHi7S+uIQMO0oE6kFFVbX3fG QbcS/bTWYmJAvatCoC6KWX7fvsiTB9hiXAIVjLe3wLmEMejvRXtIpc7kvtJmfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 68B481BD15; Sun, 13 Feb 2022 13:07:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 21DD7Gn3073960; Sun, 13 Feb 2022 13:07:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 21DD7Gj6073959; Sun, 13 Feb 2022 13:07:16 GMT (envelope-from git) Date: Sun, 13 Feb 2022 13:07:16 GMT Message-Id: <202202131307.21DD7Gj6073959@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 4103c3cd5b8d - main - fd: drop volatile keyword from refcounts List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4103c3cd5b8d1e04844f24720fe1a5de3f2206c7 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1644757636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0LAt+QBEvMif5n7jCjH49MmZQ+IQka4/WU10lWCbv8o=; b=IlmqO4mikiWfRIFT15esH4euALdPPPmGY7XSbTUaRamnOlcDsHcJXn2io1nwvO3nbkpEsZ acI8+UobXNMiCF9R8RfiffWhWyKA2BUFb2n7FFvunBbnf73R6NgMIzqQIQGs3+nXPiWoII np28cmYBl3HtfNw5CSMIHIxAvXwGMPo1oXzeyC6beUb5I5Wr+fL+iSlLbO76fQ0/HMDc4F s+TFzmxdlW8uu3AT/kwb8P/WThYZtH/4SFNTe8vxURjTKM3vlvmRgyWxyoyKS0B+0iWcKg 1CRUqmqlDrEdjD7M3LgY8thHU2i+n95D26ZIOcTcGI7mNB5vYafyAuyIFxyb8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1644757636; a=rsa-sha256; cv=none; b=ZfSAemmxvbCUYrA2BIWmlBfaY86gSlJ9y1f4b6MUvmQe6bZ1xmmtC+OtfKE3fwoOq0vKTt z66LTTV0s7T/mNOPbInPYzkbEmzwc6uTrNfyH3Qz9U8/yKnwb9lllSLF9HEa6hquMmrPW0 tK2WRaUhpaQkZlyXTCEVmj+oxjmr7pHuDFDCtPs07i/TbxaqZOp3VqPQGlCviX8Z/++Ke5 F2MfeqDsUpxwslHjeGuazdoIn+bU9OSCDXC97ixSuWOcmlVreXXILyxHQA2YuXU1PpI/WC vkT6wAQnfqBcV77BycvjGrXpUHBL0M3MCNct1eAkjpIuKNTQPMQZt7kc0lRxHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=4103c3cd5b8d1e04844f24720fe1a5de3f2206c7 commit 4103c3cd5b8d1e04844f24720fe1a5de3f2206c7 Author: Mateusz Guzik AuthorDate: 2022-01-29 22:02:01 +0000 Commit: Mateusz Guzik CommitDate: 2022-02-13 13:07:08 +0000 fd: drop volatile keyword from refcounts While here move a comment where it belongs and do small whitespace clean up. --- sys/kern/kern_descrip.c | 2 +- sys/sys/filedesc.h | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index 0f640f395ba4..bf4a3a3f20e5 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -2347,7 +2347,7 @@ pdunshare(struct thread *td) p = td->td_proc; /* Not shared. */ - if (p->p_pd->pd_refcount == 1) + if (refcount_load(&p->p_pd->pd_refcount) == 1) return; pdp = pdcopy(p->p_pd); diff --git a/sys/sys/filedesc.h b/sys/sys/filedesc.h index 426f0ef9ab75..7d106adb756f 100644 --- a/sys/sys/filedesc.h +++ b/sys/sys/filedesc.h @@ -74,10 +74,6 @@ struct fdescenttbl { }; #define fd_seqc(fdt, fd) (&(fdt)->fdt_ofiles[(fd)].fde_seqc) -/* - * This structure is used for the management of descriptors. It may be - * shared by multiple processes. - */ #define NDSLOTTYPE u_long /* @@ -87,20 +83,24 @@ struct fdescenttbl { * Check pwd_* routines for usage. */ struct pwd { - volatile u_int pwd_refcount; - struct vnode *pwd_cdir; /* current directory */ - struct vnode *pwd_rdir; /* root directory */ - struct vnode *pwd_jdir; /* jail root directory */ + u_int pwd_refcount; + struct vnode *pwd_cdir; /* current directory */ + struct vnode *pwd_rdir; /* root directory */ + struct vnode *pwd_jdir; /* jail root directory */ }; typedef SMR_POINTER(struct pwd *) smrpwd_t; struct pwddesc { struct mtx pd_lock; /* protects members of this struct */ smrpwd_t pd_pwd; /* directories */ - volatile u_int pd_refcount; + u_int pd_refcount; u_short pd_cmask; /* mask for file creation */ }; +/* + * This structure is used for the management of descriptors. It may be + * shared by multiple processes. + */ struct filedesc { struct fdescenttbl *fd_files; /* open files table */ NDSLOTTYPE *fd_map; /* bitmap of free fds */