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 3DAF5C0218A for ; Thu, 30 Jan 2025 23:32:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A878A6B031B; Thu, 30 Jan 2025 18:32:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A37F26B031C; Thu, 30 Jan 2025 18:32:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9267B280070; Thu, 30 Jan 2025 18:32:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 739EB6B031B for ; Thu, 30 Jan 2025 18:32:41 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 2A9E516037D for ; Thu, 30 Jan 2025 23:32:41 +0000 (UTC) X-FDA: 83065720122.29.CA786C5 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf18.hostedemail.com (Postfix) with ESMTP id 7348E1C000A for ; Thu, 30 Jan 2025 23:32:39 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=kDjQDA34; spf=pass (imf18.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738279959; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HNPMVqjAv2dbYv8r5NxydF8cympyNPwWFbaVSXIfnOE=; b=V02hAL2BnIN9WecEnuo6IHch0ZxANCz7MAB2Lglj0esKVK15DqAUajD/Io+jfW3SdTEABf 9wTkTT5TRgyRqrT92CV55tIWYFTk33uGcYZH+yUuF49zc73BL2k359+e9TnHWNhGZ3VQxG 12syLRdoiy/3fisdODguIvwVyHOX5Ec= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=kDjQDA34; spf=pass (imf18.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738279959; a=rsa-sha256; cv=none; b=8Wb+0AwUTFBABKpv8A1FUBGwp0Zi2WFRUXBUkFdpuThSS64MY9wxOpA2rOHcGj/7QC8S+T eT/7msE3+AdpFyxMEjC3TfUpMcfGyeFJZySs0LBfyeLKgZ2NFjd8qJbc+qZeO3Bt1nKwQW AlpmOnwMz6+9pCsdpgs54mE2MTUchEU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 54F475C61D4; Thu, 30 Jan 2025 23:31:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6E2DFC4CED2; Thu, 30 Jan 2025 23:32:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1738279958; bh=YAzBNh858f16eQEi0uSmSjC9dMjnfA4uRjmAO5bbijw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=kDjQDA34++J2dlg4xnSfBBzDGSZ9KV1AVth9tRi7nQM1MzdQy8IAw8MQv3TJ4dwN3 ajEPilD9kq7WlfiYeJZAQSc+8rX9QtpewvToUCXtKMTFy4xxZgf5H4x5RNDUmJArHO 1cEMsa3iGgdEttezd9z+qK8xLdpIGN2kAvjy2tiM= Date: Thu, 30 Jan 2025 15:32:36 -0800 From: Andrew Morton To: Pedro Falcato Cc: Lorenzo Stoakes , Christian Brauner , Shuah Khan , "Liam R . Howlett" , Suren Baghdasaryan , Vlastimil Babka , linux-kselftest@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, Oliver Sang , John Hubbard , Tejun Heo , Johannes Weiner , Michal Koutny , Shakeel Butt Subject: Re: [PATCH v7 0/6] introduce PIDFD_SELF* sentinels Message-Id: <20250130153236.198664b9a19ccfcdb24f888b@linux-foundation.org> In-Reply-To: References: <20250130143754.1b8bb87bfb15175dd434529b@linux-foundation.org> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 7348E1C000A X-Stat-Signature: u16j5qu9re6grffubxbxw1159xsqxq1m X-Rspamd-Server: rspam08 X-Rspam-User: X-HE-Tag: 1738279959-345631 X-HE-Meta: U2FsdGVkX1+0AC/sb4n2I3X+5WxGV8cmhWNpPugwdCtZ04LSYefwNNN9u+ZtxTo9bPwCBwOVPYarCYNYZw0WFWtaTS1gEh89ApJibOAbaOubAoXeM98cGdJTGQdo7SHBuziaokQAy57JqYf4Zxr/3cfGvTZDN6Nv7HA6U5k3NYg8yP5oX5bf/X4yNuhGD/Xdg0vOSyay5KYeR14/O6beIJfxyzylPAAd9iHiccfbyCuQ/UCVWtQ7/M+DLZUnoT4OlqlVbuha60iATkw86uEM+mckKuZSuH15f3JJpN47Pp3+AWA8OKBs0hXw8vgn23ATCQjGcGnj6+oFodvdmpnBh/ryhQx/rh5uJ3L0NGWCxv67IazWIQZPKuPDh8xdEDDf798OxLP8ACd/vq//Kny16yNu0I17unQvQBAxF+zTBMxg/q+hobfDuvaHCfjIQQZo7qztjBy97LTsuAa++YtNlN6F52Ay5N4/Ysn8US/wH/OuihUZ82QYsQiMWPOznJj7nV1CBvO2j2ruzGs1xJcsXuukJcAOd3nVJf2lxg6RgVh/rult+EyvROwOkR4hS5IgSCGao2yW6GIj4MXBlmXRdq5HWAK6FD8oOkrx5YTV+uNwKwgBSYdvoyLke/xnx4CUfzKi4oFNhaWUlcycKidTTogUmWtvm0ftl0AJf9QRjErf1dnXXnCcDx4fSqGs8h/IGgCQGRzNy9F59+e/TSm3J2qe0ZzTcgLwTdx/sn7tDGk0N89LXJ8b07QB4jB6nwT9HZmySwHfHD6Y40smG9yVHkHgVHCEJa9KZrZ/xkg5dFziTY71el0vDJalaIUJciTsiKCUoHgi0tlAgC7dGTU17OHIIbZbEuEd3RK8CqvENDxoU7NxFy3zYULbea58Nli0KTQFiTOT1MLNjWBTYlUY0APDEQKomXSlrraXh2xMNjln2KpBzQKkgUWZei1U+ZSMhUggVPVFCol/KkA5Grb h4B03YTZ 99vcegbSIqyoWHi4gWw2AakBcsrmHJKYNTDX5qmLxoiAEqxAQEw8Tc/n3T+378y3LmJ9VnvalOmvpZ9teiINQ4Zx6a5GpuT9ju+DFgLoM11wCUlKIlmwWFr31n+F5pbC5IHJ1R6k9PKHawjqzEbaonHNxDx0AZnfEAkssDXeVy/grw737/8ubWx4HFE8M/ifq5p/0aNAB39OWIYBFdi8oJpFGHtBWlTv2fNQZbiJMLArL1PZoHqfIKVaqNsH3peq4kfZCtu9K9Rtg5t1MzCHFhyjyDJqbeD9B7lCY4Lysuz4YgLpTB4fucTopkyOKimq5TS2HYNdFNB2wi95hrw13JpUYCLzXBLVSenS1FuMNSmqdxrbPrmRYxgUOkh/HPcamAoryYtt0rVxrJrEcwxD+tPsXLR0IFcUQ0BKNxMrIxiBup1HNK7lxzTwHBUcoRBnnr2xZ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000049, 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 Thu, 30 Jan 2025 23:10:53 +0000 Pedro Falcato wrote: > On Thu, Jan 30, 2025 at 10:53 PM Lorenzo Stoakes > wrote: > > > > > The above code sequence doesn't seem at all onerous. I'm not > > > understanding why it's worth altering the kernel to permit this little > > > shortcut? > > > > In practice it adds quite a bit of overhead for something that whatever > > mechanism is using the pidfd can avoid. > > > > It was specifically intended for a real case of utilising > > process_madvise(), using the newly extended ability to batch _any_ > > madvise() operations for the current process, like: > > > > if (process_madvise(PIDFD_SELF, iovec, 10, MADV_GUARD_INSTALL, 0)) { > > ... error handling ... > > } > > > > vs. > > > > pid_t pid = getpid(); > > int pidfd = pidfd_open(pid, PIDFD_THREAD); > > > > if (pidfd < 0) { > > ... error handling ... > > } > > > > if (process_madvise(PIDFD_SELF, iovec, 10, MADV_GUARD_INSTALL, 0)) { > > ... cleanup pidfd ... > > ... error handling ... > > } > > > > ... > > > > ... cleanup pidfd ... > > > > So in practice, it's actually a lot more ceremony and noise. Suren has been > > working with this code in practice and found this to be useful. > > It's also nice to add that people on the libc/allocator side should > also appreciate skipping pidfd_open's reliability concerns (mostly, > that RLIMIT_NOFILE Should Not(tm) ever affect thread spawning or a > malloc[1]). Besides the big syscall reduction and nice speedup, that > is. > > [1] whether this is the already case is an exercise left to the > reader, but at the very least we should not add onto existing problems Thanks. Could we please get all the above spelled out much more thoroughly in the [0/n] description (aka Patch Series Sales Brochure)?