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 C354EC28B2E for ; Tue, 11 Mar 2025 13:32:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DB252280002; Tue, 11 Mar 2025 09:32:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D393D280001; Tue, 11 Mar 2025 09:32:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BB4BB280002; Tue, 11 Mar 2025 09:32:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 9BAE8280001 for ; Tue, 11 Mar 2025 09:32:39 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B75B71A1F50 for ; Tue, 11 Mar 2025 13:32:39 +0000 (UTC) X-FDA: 83209360038.13.5C66278 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by imf13.hostedemail.com (Postfix) with ESMTP id B412D20006 for ; Tue, 11 Mar 2025 13:32:37 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Yc1dQI/6"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741699957; a=rsa-sha256; cv=none; b=YmZldB4c2GmUFiHSeWNQiwPtlJVy8XlWfAm+H6d0fir4KnLF5eGTR4hu+CMXcuiemFaPxv unXg8RuQhoj7jqZaoHyTqcMl3Gv14a47+lVXujJgYOJ1WDfhRZuii4fw0iB8SYuR3wsxFp f2W2NeK2je/0fAkoglskDxK7HbRW2uE= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Yc1dQI/6"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741699957; 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=TdTYoEl8wfhHEewA/2JsHqo4KOPWgY33CGSVFDAwKuE=; b=WkZzSHNQRDhr+yC9jzVeQKFWEIzN052HGzIclK075QgTTOdKYEeZeIxyhS9ciHmE/tOnp1 3k80d3kdVjMVX5TjNRQXFC3hNQuoXNOyT+g0zr22HcdqYkxhrSf/pBUydST9bQR/Z9sgt2 z97AEGOIJGwniwRWFyl6ILhs4LkV1I8= Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-3912e96c8e8so3067069f8f.2 for ; Tue, 11 Mar 2025 06:32:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741699956; x=1742304756; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=TdTYoEl8wfhHEewA/2JsHqo4KOPWgY33CGSVFDAwKuE=; b=Yc1dQI/6FOQkhkVczGbGv+6kApscooCyoj4mX7WxFl1z2xThwCE/X4rKgBok8xwB0v YNhI46as4RNeIs6SvnUma4nTC3Fchh55v1koeh/tvAhEs2QLdVh5nF0QP/F3o+xDkLin O1w1mvJ6Bujo1rMrNmyW5uf43QllZMBL2YYaeCIvvAwsfX7T7BmI+DcaT/FYf715NtDR K4NunjJwZUy/HykqeGN1jfvsAycyMofcxYfOL8cMJ9q4xTLMUC6u1ZBmhllvViQzmh72 /UVAm7QE8z2lzOKCm6/yH4WsbOcIQKInQA3mo/SARCe8JBBXSglDASLdWeDQjoyI6H2x kvRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741699956; x=1742304756; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TdTYoEl8wfhHEewA/2JsHqo4KOPWgY33CGSVFDAwKuE=; b=vbiDHjUnBzekT7oPPLqi5eIDwQMRaInGi85KwCm9QhrzGMWXkeJwlpboOGAS4AMU2U yTXBGef+Ri1iwNmidbb0+Qr5lCsvHaSrzdaP6B43QeU3ZdkmPHlRlvbfkvOgwQJvXhf0 mdamuql0tgsxOlpsa7Ffg1OFdumLUHHe8jBqW5NnXAcObEjLNR/SxKqJKVJ3Tj7yukno uZndkRCrdsIyvIgzGA1YZJ4gvVRE7xP7UWlQ6E6tKHXEYsaC6yxMiOw5x2xDUrwPQEpN IV+WgqUyXZouajWRBAo6XTa/JUantlrcWgKPPE+3CNwkqsqEuWfVlD3GfsovflzTp29b qtfA== X-Forwarded-Encrypted: i=1; AJvYcCWu+wAqF8oM+6B8ALS9kDgtxMxzTlPGWR+5I8HIuqs2GGP/8k0n9oBrczTBlYApgsI2xFD9LlcnDw==@kvack.org X-Gm-Message-State: AOJu0YwwEGZmEoudqIaCgpah6SQp39JS+dx0Wbj4YeNTXJ0UUag8X3/a Piod5kahLJ+jTYuKG3sHr7Jn7SjS7HezuqADgh1v6E+86boa1U5y3MJxZyoQApXyqsTrrpDD1/e ZiQuC5OIBH9MU0/IeIxKO3G+c2wQ= X-Gm-Gg: ASbGnctkFzVGOVtppoNa/X4SlCOa26YuFjKX9oyUyvvOnZxUAYK0ElYuMxwg+VhgOUI bBC80Rk7tASx9tvmmwFqw3G5V0vvGsETQVIKYQ/ipcIdnDo6/o0plLhR/ECeUxJD0oDnlkaiI+9 zfLUHnd5K1QYpOrHn6D++w9M21dQ== X-Google-Smtp-Source: AGHT+IEUkfhD/dw9hM3L/QFUgVEKOUsGduOUjXyRSO7SIgVBQyMoWBrdCZufpE6j0Uq2QsiYbNXfCHGwAWF6S9YA0V4= X-Received: by 2002:a05:6000:1448:b0:391:4608:e7be with SMTP id ffacd0b85a97d-3914608e99amr8434110f8f.14.1741699955869; Tue, 11 Mar 2025 06:32:35 -0700 (PDT) MIME-Version: 1.0 References: <20250222024427.30294-1-alexei.starovoitov@gmail.com> <20250222024427.30294-3-alexei.starovoitov@gmail.com> <20250310190427.32ce3ba9adb3771198fe2a5c@linux-foundation.org> In-Reply-To: <20250310190427.32ce3ba9adb3771198fe2a5c@linux-foundation.org> From: Alexei Starovoitov Date: Tue, 11 Mar 2025 14:32:24 +0100 X-Gm-Features: AQ5f1Jp7QSTqv2heAEtFcjekuEzUH9DYv2etNft2vfsyOnMf-bVen3S-43kRLbA Message-ID: Subject: Re: [PATCH bpf-next v9 2/6] mm, bpf: Introduce try_alloc_pages() for opportunistic page allocation To: Andrew Morton Cc: bpf , Andrii Nakryiko , Kumar Kartikeya Dwivedi , Peter Zijlstra , Vlastimil Babka , Sebastian Sewior , Steven Rostedt , Hou Tao , Johannes Weiner , Shakeel Butt , Michal Hocko , Matthew Wilcox , Thomas Gleixner , Jann Horn , Tejun Heo , linux-mm , Kernel Team Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: B412D20006 X-Stat-Signature: 3on3d19ct6bxbs633rxohegpgbs939pj X-Rspamd-Server: rspam02 X-Rspam-User: X-HE-Tag: 1741699957-277608 X-HE-Meta: U2FsdGVkX19M/ekwx4OKvJCd3k+1wPNyRwh2myPIY1WrbP9RgFpN5ErP3C17lcF+6Kp1xwtUT/rY2QlRjPjjxHkwjbSYRSArRvLhA8pBsoxcRDwts5LOjhvX8WsOkyjgeamIdEDjJlBnIQHP49rbe8UklXGSaAkOxvhbq6YD9sqtdw0+7/9ZgDeZquIy9dhtjcjDfEkza6QcafuBj7m0joUG3DHvYUsrNVXOSfQ4sLX9Cf9ckVdb+3WVOAF3qwDSgAbL0dP2Jm0uJlUSSmA+uawqu7vTi0av3/Kw22WtHM8+eeuvJ8QQ8rVfX8O2NJQFBRGfjw10wPdE9pBNHOTNDX/NVCJybYYyANVX7NAfrH+Ym+3Yt0OXHG1Kz9Iop2GwedmRvKGrJkVBYpdPTCuh0uKh8Pi1Sf5bjH45HzYuNOPiaMpi4LOdlj/yYo19oFDRubwX7cOIOBprPdBOKdHjdDfYUtyAzqPlSxCHccw8El5nFV7MwNQjKRfbTXpuxihU+7MqIEYC5Nr0ueit0AxLbq/JITnXqm+3g09cjzuQRHpeZNcHUt4/oAtYPYdR4vUtt9X6a+f1LejQiJDkAgmcSHWx+QqjFTE6CiBFTX/db7+4dN8wfPskFqBHI+OHevq6I4lVZtqPwgw0YHcVr/wbzXFJnuIAPa8uNzmchmi+gQ8N5orA8VzxBut+ze00LYJqD91nbUvDrMJDpqaV8ju9ArrsYJsE4Lq6NSEWD2jaewYZ3VZ7sAay4rkPXdhtCtSx17ZRo5uf3CYrzUmTEJqyM80xuq9i1q7SFMNYuif7/DCO395WYifJiT1Ezfs/Yd5G16jA0qiHACxSQ8lkBdRgK4STFLC0HxkvG85d7f3dJcphAZaPkSv8TjhvaFoQcWZfxjsJVERulDBtCjUexFuy74cWx/ZbozE3LbziNVUxJG1c+m6tBdFpgyse5dUmIuG/TC6Fv+LmAHuvsV3cGfD wCK6R/fg +QHXJqN12gn0sbtZwsno8MMCktTjnwxCogqhEzSZcRYlSGriOse1rJRmBzVMlRPU6s5hP/7WpY5oP//2O4wukE/AdnNujrGhq07drow/vXamP/czxrOrNx4It8SJ0AxWOHgc0KfxnpE1uN1lIUsCJ/7DAl4l+nTv1MT2tTRU1foPP8N+qcEgmFPJuwcK+cOPSeDlNuIdVM8X/1G3ChxJzU319nk+2a/9HRDQOK5GGK35rj76XTrUgr9yy+fu601gzNuTNldEHpWgzp9yK03/Ido1g++A9doNRKoFWk+6aC/wmZsc3NgC3vTYfCnVNzaivxoRFs0qsxpuO83JpCbElY2d12ZtYLmrBHG8V0UjsDKlHYHcQJhGquIZ904R6mI3s2yfIrLBkOfyXgDsPUt/QvtAOdnhi5DYdUCJhKkusB1NS3LDpU5KBjdi4VVo5vmdSrRBM7VxQ7p6toa9Thl/jImS0pvqUZyWbdhHXHP69LobA4URVWPVy5uh4dz32Uxr7riAXniPQEkURZf6dHOkDYaPLVUKrfcobEWab X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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, Mar 11, 2025 at 3:04=E2=80=AFAM Andrew Morton wrote: > > On Fri, 21 Feb 2025 18:44:23 -0800 Alexei Starovoitov wrote: > > > Tracing BPF programs execute from tracepoints and kprobes where > > running context is unknown, but they need to request additional > > memory. The prior workarounds were using pre-allocated memory and > > BPF specific freelists to satisfy such allocation requests. > > The "prior workarounds" sound entirely appropriate. Because the > performance and maintainability of Linux's page allocator is about > 1,000,040 times more important than relieving BPF of having to carry a > "workaround". Please explain where performance and maintainability is affected? As far as motivation, if I recall correctly, you were present in the room when Vlastimil presented the next steps for SLUB at LSFMM back in May of last year. A link to memory refresher is in the commit log: https://lwn.net/Articles/974138/ Back then he talked about a bunch of reasons including better maintainability of the kernel overall, but what stood out to me as the main reason to use SLUB for bpf, objpool, mempool, and networking needs is prevention of memory waste. All these wrappers of slub pin memory that should be shared. bpf, objpool, mempools should be good citizens of the kernel instead of stealing the memory. That's the core job of the kernel. To share resources. Memory is one such resource.