From nobody Fri Dec 16 16:29:33 2022 X-Original-To: freebsd-jail@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 4NYZLl3CxQz1Cgl4 for ; Fri, 16 Dec 2022 16:29:35 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oa1-x2c.google.com (mail-oa1-x2c.google.com [IPv6:2001:4860:4864:20::2c]) (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 4NYZLk5zRDz3MB5 for ; Fri, 16 Dec 2022 16:29:34 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=cVOoACL2; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2001:4860:4864:20::2c as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-1445ca00781so3918150fac.1 for ; Fri, 16 Dec 2022 08:29:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=CWcP76QbEKObpJKnRw0F7XH5sU24e2zpbcwGWKwW3Qc=; b=cVOoACL20dTQGBtQ0CMLNcGJG5OzuHH3Akhol1YoTzI8hj11RzlDuNtHTrOhSBIM+U 6ll3g9xN4wmZqCgidZr1AN9wrDEBFOSp8lwZAzQ8fLx4KwsaFx8u2JiqGFYxF+qBRK/j 6iOS/Fi2SW0baSQjaDvz2WvdtHvIeyY37KbLiDLZVO+u8lOdYzVYB7czcpWbJk4pKvhc 43U7WecT8/2WtyRxeb5rLiKfdpRE8DUGaXRM4GC5vJAIZJP0ubAAvCdM+arN3lXTIf3L Qz7n+Zfgw7nnzH7b9Z9XGudIbpNsWBu+Fc9eZ/M8e7i/Joiv0+xQ5Mw3gzs+wSgxqTTT 6u1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=CWcP76QbEKObpJKnRw0F7XH5sU24e2zpbcwGWKwW3Qc=; b=wijdxnFL6urc5KQvUnkeZKlGBQHoWu+z5JAoZruXScbQ6P7gGDOW7iNDgZFJIOCBkw wkRb/cus1IxLRGp9X9JMdv9NQUEcj+4NYMoaGQhPmceNsbNQS2jQXvMkqf7G+qUztAOJ EHyHcSGi6xeiNvc8kY86CxXZBd39Q6VyeXblA+dQcD+leAQAkvS83KudGoyVq2JHSVca kP6cKiUsNPXr9aMonVYK3qzNi4VkAU30k2mgAi3H1ih1IHcNaZhUxjMq/b6msB22+o1q IyZg4/bJuls78g0pw9TmoQTl/levqS+VZTqx58rMq9ULUi8CZuzVX9+VQCSpVbVhzMqD sl6g== X-Gm-Message-State: AFqh2krYLcy4uZEf0igctseatKwLXdpA+FubM8tQ8kN2xeRGxTrXZeYx OUJOqCObkwd22NQr/W49/wiN0FQ/vNhv8QprjqI= X-Google-Smtp-Source: AA0mqf6uJ5yhXccF21s7z96qe0Psbfw45kX5laRaVjyfVNyZRVsnyVsGuc0T34MwZL+pJtLgdWlg2qAgxnZN2FGahgw= X-Received: by 2002:a05:6870:7985:b0:144:68b8:88eb with SMTP id he5-20020a056870798500b0014468b888ebmr919030oab.159.1671208174004; Fri, 16 Dec 2022 08:29:34 -0800 (PST) List-Id: Discussion about FreeBSD jail(8) List-Archive: https://lists.freebsd.org/archives/freebsd-jail List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-jail@freebsd.org MIME-Version: 1.0 Received: by 2002:ac9:77d5:0:b0:491:8368:9bdd with HTTP; Fri, 16 Dec 2022 08:29:33 -0800 (PST) In-Reply-To: <9BD54A54-A809-4D3E-BCBA-639E6C61FE37@FreeBSD.org> References: <9BD54A54-A809-4D3E-BCBA-639E6C61FE37@FreeBSD.org> From: Mateusz Guzik Date: Fri, 16 Dec 2022 17:29:33 +0100 Message-ID: Subject: Re: Is it possible to employ epoch to simplify managing prison lifecycle To: Zhenlei Huang Cc: freebsd-jail@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-3.98 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.983]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2001:4860:4000::/36:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; TAGGED_RCPT(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; TO_MATCH_ENVRCPT_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-jail@freebsd.org]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2001:4860:4864::/48, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MID_RHS_MATCH_FROMTLD(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_IN_DNSWL_NONE(0.00)[2001:4860:4864:20::2c:from]; DKIM_TRACE(0.00)[gmail.com:+]; FREEMAIL_TO(0.00)[gmail.com]; RCPT_COUNT_TWO(0.00)[2]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-jail@freebsd.org] X-Rspamd-Queue-Id: 4NYZLk5zRDz3MB5 X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N On 12/16/22, Zhenlei Huang wrote: > Hi, > > While hacking `sys/kern/kern_jail.c` I got lost. > > There're lots of ref / unref and flags to prevent visit invalid prison > while > concurrent modification is possible and some refs looks weird. > > Is it possible to employ epoch(9) to simplify managing of prison lifecycle > ? > Some of the ref/unref cycles are probably avoidable to begin with, but ultimately the thing to do here is to employ per-cpu reference counting, if at all needed. I have a wip patch to provide such a mechanism, it may or may not land this month. -- Mateusz Guzik