From nobody Wed Mar 29 09:33:33 2023 X-Original-To: dev-commits-src-all@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 4PmhFD200Nz42JHg; Wed, 29 Mar 2023 09:33:36 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com [IPv6:2607:f8b0:4864:20::22b]) (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 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PmhFC6Wpdz3tYN; Wed, 29 Mar 2023 09:33:35 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oi1-x22b.google.com with SMTP id bk5so11093407oib.6; Wed, 29 Mar 2023 02:33:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680082414; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=cXCcqQKUdbV0BWWVqVBjh4bz00N/GEKOunmKfnHikh8=; b=IP4GvOnGBlayFxifQMsm7c1nP6a67YS9N6xmS1YXfHU3j1v+X9OttUiYMTKtQLbfgq e2N5gLtXty8Ry9awPCmfUIU2fNgasj0G8d80IHoEeIBJ/xFbLvh9XhziwuAV7P5u+RVq niDp6qguWiDj8NXGzDE/k0hFYzPE0IFTnP/NVa9qHxjUhOq4rA1LwUAJ1nj6AlD28o+S KE8DyWXKNuRC4X4/irApLNl4R50H1MKwlwSd+X3WPWm7GInAeKFdra8lYXWmNoabP9Gg /xo7gVWMhKswJocPapaE79h3ukYha+JaYfmUGFnDOZRYbTMyOsDnW1LLpcs3W44iwVSO E2yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680082414; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cXCcqQKUdbV0BWWVqVBjh4bz00N/GEKOunmKfnHikh8=; b=uubId3V9ev5/sjh9Qza1Skm6z3YPq3HVjFe+09cDPPERJeie16qv2js3IA/SmRdwNl CNZoPmIX0DdXvyY1Y5i5esllhZa9vWPVvAs5B1jg+t8eZ5lvQduW1jxYtRk03OoYosIC EMHUYoDvjpvUXi9MPKu5xo8hQ8lQ1CG0McoLnvZDS5PxkdQjTxYvf19PeUGXWlnnlbF9 0M6Czh/5+FDbMFG745NOxmU4dnxygkg22y2ZsjM3eDR1ha+v2LpOi1QSWlpusbqYzJ4b 3/JaF2ooOwjZvQ9VGCI2JByHeVdRSYkvYAc/3W2fgWU59sqWgFSzOLNyK7bmPtDewvI4 Jraw== X-Gm-Message-State: AO0yUKXtpHfLxcMfoW7uY+uVcChMbEPdmSISIBO7yfUQTnUHRxWp+V2I +p8uOevxIEok8JqtEWoOYhUQjVTmQGpfJ4R3RYYWBeGP X-Google-Smtp-Source: AK7set/gAHOSQ28F277q4zuL3Z2rlv9vu/P+iJFujtmx4ZLMlmFkFl9EHKgYbialiybBHeCJ4YKgo9No2L6dGRHDynE= X-Received: by 2002:aca:1b09:0:b0:383:f5df:9e85 with SMTP id b9-20020aca1b09000000b00383f5df9e85mr4371052oib.4.1680082414484; Wed, 29 Mar 2023 02:33:34 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Received: by 2002:ac9:7a07:0:b0:49c:b071:b1e3 with HTTP; Wed, 29 Mar 2023 02:33:33 -0700 (PDT) In-Reply-To: References: <202303290919.32T9J9Z5085150@gitrepo.freebsd.org> From: Mateusz Guzik Date: Wed, 29 Mar 2023 11:33:33 +0200 Message-ID: Subject: Re: git: 80cf427b8dc1 - main - proc: shave a lock trip on exit if possible To: Dmitry Chagin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4PmhFC6Wpdz3tYN X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 3/29/23, Dmitry Chagin wrote: > On Wed, Mar 29, 2023 at 09:19:09AM +0000, Mateusz Guzik wrote: >> The branch main has been updated by mjg: >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=80cf427b8dc18bc5c26fed6d07bc5c5eda4545b0 >> >> commit 80cf427b8dc18bc5c26fed6d07bc5c5eda4545b0 >> Author: Mateusz Guzik >> AuthorDate: 2023-03-29 08:45:46 +0000 >> Commit: Mateusz Guzik >> CommitDate: 2023-03-29 09:19:03 +0000 >> >> proc: shave a lock trip on exit if possible >> >> ... which happens to be vast majority of the time >> --- >> sys/kern/kern_exit.c | 8 +++++--- >> 1 file changed, 5 insertions(+), 3 deletions(-) >> >> diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c >> index 3f64343aea0e..a92d5cc0f642 100644 >> --- a/sys/kern/kern_exit.c >> +++ b/sys/kern/kern_exit.c >> @@ -477,9 +477,11 @@ exit1(struct thread *td, int rval, int signo) >> sx_xunlock(&allproc_lock); >> >> sx_xlock(&proctree_lock); >> - PROC_LOCK(p); >> - p->p_flag &= ~(P_TRACED | P_PPWAIT | P_PPTRACE); >> - PROC_UNLOCK(p); >> + if ((p->p_flag & (P_TRACED | P_PPWAIT | P_PPTRACE)) != 0) { >> + PROC_LOCK(p); >> + p->p_flag &= ~(P_TRACED | P_PPWAIT | P_PPTRACE); >> + PROC_UNLOCK(p); >> + } > > just out of curiosuty, is this can be replaced by a single > atomic_clear_rel ? > Not unless all other times p_flag is modified also start using atomics >> >> /* >> * killjobc() might drop and re-acquire proctree_lock to > -- Mateusz Guzik