From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 66869CF9C6F for ; Tue, 24 Sep 2024 12:51:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DF74D6B00A5; Tue, 24 Sep 2024 08:51:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DA6716B00A6; Tue, 24 Sep 2024 08:51:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C462C6B00A7; Tue, 24 Sep 2024 08:51:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id A068F6B00A5 for ; Tue, 24 Sep 2024 08:51:18 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4DED8819E5 for ; Tue, 24 Sep 2024 12:51:18 +0000 (UTC) X-FDA: 82599617436.03.E4CBE57 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by imf09.hostedemail.com (Postfix) with ESMTP id 640AC14000F for ; Tue, 24 Sep 2024 12:51:16 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ZciNRiX5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of pedro.falcato@gmail.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=pedro.falcato@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727182145; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fHbX6C+iwqwm8Kk4SuwZ7KOdiQYQGIgPlwXmHwqRcEM=; b=z1TANeRVoc7/OSV/jXEifkzOazQ6LaWpasE8I3jMgzRd/edPFiZ5y1OcIxJ/cXKYBoM1Fj UbBo16Txms02AdzBDtFO/TEBpz/9+YbpJDbCG+9TH5ova1KiHYmCNGN4778Y0UGvfimEWA 3ZKMzgKA0+moTcOu+Tpxr0cGbr3uMaI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727182145; a=rsa-sha256; cv=none; b=j0u++88qV2ned5aYrgJfuc3zHyvKZAPqfJ8QZ2EaSx49TXCY8GJuvhRBjIm0NdVleG1rjA reKns7JIUv3BdZK1aeTZGLmyang906QDFu6BH+itmEzjw0d2XJUEDddsKKCy36g/Hs4WPD C4tHaDr5PT2TbypKcmGJlWLfx3WlJIc= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ZciNRiX5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of pedro.falcato@gmail.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=pedro.falcato@gmail.com Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-42ca6ba750eso35055175e9.0 for ; Tue, 24 Sep 2024 05:51:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727182275; x=1727787075; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=fHbX6C+iwqwm8Kk4SuwZ7KOdiQYQGIgPlwXmHwqRcEM=; b=ZciNRiX5e5oM8QfVmA3l4wX0wK90BQ+gLtOAZlF5Vk0S/VEtYOCICJwWIcGNMuqfSS Hk1MJ3BvgsJx9wGOhMbvPPWhHbMXUsBeMN3JWmV91WQ6lBH44+8hopecAHyeYZky3DpR iVSad+scvCkF3yZYmvLzXaqJUMzpH1BuGqG1xTSNon6IfDcHjCdJiW9FdSUjIw0nA1vl lbQwbaYydqtm7lT8nHlLLaGje98budCPJ6bCQKOtW1oX3/EzrqHuRFWW11ZH1qfR78dh Vp7/QUxKsVYRoFvTCbIMKpWATJWkoxXfeBklO57rVGC0vK8X8SAG6hzDCQGd/XvM6CZA d/ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727182275; x=1727787075; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fHbX6C+iwqwm8Kk4SuwZ7KOdiQYQGIgPlwXmHwqRcEM=; b=DeCMJGr56ho18Gqq/0DoWUAQOlrjHQmgki4qw7NpW2ZBn6RhjTsSgGdm/PPqqvYEFR OrWP+h2RzwITbZ3P1AFQF/WKgjKcov56nIftNpeLiMdoPN1cn71xnN8cEB5lRlxL9rA6 AdBsb2vVfe1hc8JXP3A39IwIoeyQ7mqIH+owI8cAYmfYVZc/ViLUS3L9dZCHZeg+TLrn wkhw1VcLdM3BR8KMtwJRvZmIE4w26d/NKt4N5mOQLnCBSDZVbZZUadu5kAiA2IU7l6/y IUdOkPZrUP7Mul1O7UdOVVFEwRN/aL2TWS/Zt2D7eRyP7U5rp8A8dD4/tiJNs5QYXt9Y i3kA== X-Forwarded-Encrypted: i=1; AJvYcCXCfjly4BbqBfthtoYHltnjIAjlu85Njn9PO6GygF2BnYsMehqI3uMVLFyPS2f99eDRkUn56098zQ==@kvack.org X-Gm-Message-State: AOJu0YyvanbJJRH2e+fwFV6t2sAcA8fqq5cqudqs42rPYnwvhvBAbrnh yJJjWBKKXfBXgryy1FDg8pbnawzMlrwNcHwVnAvlH62joQeUH1Rj X-Google-Smtp-Source: AGHT+IG8CJbGSsWrhk0RoDKSkZtOkqkFEZPle1hqFRzEA33L/mzQTzHGgU1UEiSLTnurIlayVBWh1Q== X-Received: by 2002:a05:600c:4793:b0:42c:b7ae:4c97 with SMTP id 5b1f17b1804b1-42e8f37699fmr17877285e9.11.1727182274747; Tue, 24 Sep 2024 05:51:14 -0700 (PDT) Received: from PC-PEDRO-ARCH ([2001:818:e92f:6400:a118:25f3:b27f:9f34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42e7543b0f9sm156890475e9.14.2024.09.24.05.51.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Sep 2024 05:51:14 -0700 (PDT) Date: Tue, 24 Sep 2024 13:51:11 +0100 From: Pedro Falcato To: Lorenzo Stoakes Cc: Andrew Morton , Vlastimil Babka , "Liam R . Howlett" , Suren Baghdasaryan , Arnd Bergmann , Shakeel Butt , linux-api@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Minchan Kim , Richard Henderson , Ivan Kokshaysky , Matt Turner , linux-alpha@vger.kernel.org, Thomas Bogendoerfer , linux-mips@vger.kernel.org, "James E . J . Bottomley" , Helge Deller , linux-parisc@vger.kernel.org, Chris Zankel , Max Filippov Subject: Re: [PATCH v2 1/2] mm/madvise: introduce PR_MADV_SELF flag to process_madvise() Message-ID: References: <1ecf2692b3bcdd693ad61d510ce0437abb43a1bd.1727176176.git.lorenzo.stoakes@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1ecf2692b3bcdd693ad61d510ce0437abb43a1bd.1727176176.git.lorenzo.stoakes@oracle.com> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 640AC14000F X-Stat-Signature: 9barina7y8i5s6b7dmpix19ipb513gnc X-Rspam-User: X-HE-Tag: 1727182276-309429 X-HE-Meta: U2FsdGVkX1+5G3yuyqkrgh6lafgNSJQfElYuMIWonADkCvqUEFiei96ptFQX7dskveQ0dklbJx4whcAsi/8C/0IhN83FPSlsPtXTZ+u/110M+FYi3wqvKpzGM5W1snzyLV/Xuohqu5rdBpyJW6riDRRjWGbE5v5Vsq//S72bIRDJyadX++Zo/IVfpIuNoehRftM4UvZMq3ANIqUCRKzEnv6h0+3t9LcGgQAc1LYaK46Q975J5TG/zDwCZDtSIfIDGg1NK+C6G7UCIqhoC+Pim1k/j39CD+59KLyjE1orpS2Ipu9m7AMMv4YyLgkH87OIQw0ADLsQDVPMNTcMHa+HiZjBOuvEQsnykOHZDa/6v+nkIZKZfkr1ujSpodBN2STciCjCBS7QQ7yACJcKXos8enT6T6C+DA3uhMz9EQHNNVKurhzod9L6SmX7KrqvJJXby+HJCP9LZuzNiX4sW/AwK2LVm7u/QXrW8r7Z3X58iX0hm/4NwkPco+hCGFBNpcUx8nqi+EZIzprCPGimNFq3Y/cBnV0+sVZWWSxvxvk/JVz7D3oe4Sv1Sj7iWS1XCXAfwNSJlBh92Z1n7iJCYuhnBlbhnTpEoRNzUFEKiWsZo8mzlKy7YUxLgkawnafqTEVxwS+S+PN2AScwH96owUYXQjO1422Ajh0+vK/2AajwslBcTvXuAyOXPn/kSppFTwQi1nJX4hL9+ls4fraiCIJEZaTMaTEtv9uXHO7PzLVs1feMGqf2CjRhuulfg8zBKVzs8cr5orm4Oly3xrRne7/e1DebtM7Kl8KfYmuYoB76PZd4GjMmlQAFfSPjd08ohDYZDiJYV7p97H7lWtDBcguL6A+ViyNaN6UDwRQCoJVR+YXO96It4cXCFLCcY0PXbs4gfSyW6fOeiUE6D3iADut6hnCIZlk5R4Wt7Ikb2FdD5F3o2lcyJbersvJPYU8lackx2uMoeCOv1wFzpiZ1Bm1 IpUni4vx c88eDO11FZ7Yg0ci05gC2JWlsyGv5ryuyTSvpWe5+JgTdH04r2Hgh6Sw6vgw8KO2dWX98M5nNLdKsMc9gri+hUyLlkNGKmF7fEDixKe5KYD87QfjjZ+kcaLfF/jUC1Ays1QxipLXJVcMZ9dYAtBDh8vmy9MUxTCRi2ilftvEVs0EUv0URrJ/uVr+ukSG2Mfm6iBlo1TlpqYKCAMqiLqGD/dSRPjY75ZIgR625TpvMuWuglJ3abpBfRS8PHkeAXQf6CUNzzj3W8u/Ge3jPpsdmmPIyeO8xXfHRcNEVoHmpKQ1k1IAg1zrat3QS+ZLwLiO/gXun3U1bMSw7zXuoPss7EYIuCCzn8tHd8nfdcODHRyDtr1nuCaxW8JOqKoiHtAFaVXLKhyjh7E/Tjxmvn97ZR4lHvM3eaPJ2eEGhmlY2dWa0p9EokyhpCiMH/PTX7v0Zf7ywowsXgqFi0ltR834lFmPifHmka+RH1h5iNkzpn3PW01jf8CI7M58YikVwyAgED7nfqLIiyC4Xd74= X-Bogosity: Ham, tests=bogofilter, spamicity=0.069178, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Sep 24, 2024 at 12:16:27PM GMT, Lorenzo Stoakes wrote: > process_madvise() was conceived as a useful means for performing a vector > of madvise() operations on a remote process's address space. > > However it's useful to be able to do so on the current process also. It is > currently rather clunky to do this (requiring a pidfd to be opened for the > current process) and introduces unnecessary overhead in incrementing > reference counts for the task and mm. > > Avoid all of this by providing a PR_MADV_SELF flag, which causes > process_madvise() to simply ignore the pidfd parameter and instead apply > the operation to the current process. > How about simply defining a pseudo-fd PIDFD_SELF in the negative int space? There's precedent for it in the fs space (AT_FDCWD). I think it's more ergonomic and if you take out the errno space we have around 2^31 - 4096 available sentinel values. e.g: /* AT_FDCWD = -10, -1 is dangerous, pick a different value */ #define PIDFD_SELF -11 int pidfd = target_pid == getpid() ? PIDFD_SELF : pidfd_open(...); process_madvise(pidfd, ...); What do you think? -- Pedro