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 03625E77188 for ; Thu, 19 Dec 2024 01:40:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4EBD96B0082; Wed, 18 Dec 2024 20:40:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 49B446B0083; Wed, 18 Dec 2024 20:40:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 362B26B0085; Wed, 18 Dec 2024 20:40:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 189876B0082 for ; Wed, 18 Dec 2024 20:40:00 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B3652141326 for ; Thu, 19 Dec 2024 01:39:59 +0000 (UTC) X-FDA: 82910001510.10.315B533 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by imf14.hostedemail.com (Postfix) with ESMTP id 00935100011 for ; Thu, 19 Dec 2024 01:39:21 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=XJQ7bQD2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734572382; a=rsa-sha256; cv=none; b=Z1WWRVsBpEnC4Ijetj6LipyDqJTZ6USRJO2/Y5CWLTopu/xMqLKDSSgcmN5MP1QJ6s2LIo T9yrs8cqeIPCAajoNkfdpGlnccQC+2eLZXF4ty8fYGwVmq9Wmkiu3kUMyeMXEVoNOkBEG7 Tt/qhtkH03dLyXJyPJKiyn1jscxKR3Q= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=XJQ7bQD2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.128.51 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=1734572382; 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=sIanLcOq3Af40GkznAxirIMQvdcHNchns+zH2x9+x8o=; b=7+e9PJuxncX3fMBh5Kh+QuL56F4BOBpm1yxMMaWSmkX16PNVD1BgW3cFr4dKVeftJYF+JH s+uqyW3xXt2TbzhlMI7ZZJs2/V5mJjzak1i7cIjEYeJFHmJIcsaAJKT43GeoV7d8YfIJM2 T5XH7VuEM+nnsNsJuaNUaPFj4yc69Wc= Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-436341f575fso2780585e9.1 for ; Wed, 18 Dec 2024 17:39:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734572396; x=1735177196; 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=sIanLcOq3Af40GkznAxirIMQvdcHNchns+zH2x9+x8o=; b=XJQ7bQD2Nh9j2oPtRIXPTzXZwY4XL+JGhuX4hul7fVorag+cGJ7Zox9KMT68Mx7HGM a24I8OcN+53mhuWoSzOWXxo/mR8d90tXAkmp40jtqorQ2tZN9CO4XRyWREjH8igxjSGp MSgSUGbXPQwt/bIb8EXoeqE79dytnzHhZpv6/Ufjeq5uJDgxKOXQF79vYPyhMUei2Zim qfsKc4qsk1cZS/fgW6TLKMyc7SZJrT/DCaN3v1NRmRO9HKcPdyItH5h4THRDnhQSNpdb 1fVxpET1fFiN9kI2wp9x02xOittBC2c/SrFhb6TwmUm2BsxVLNN3vICCxfu/4Fcncz3b hD0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734572396; x=1735177196; 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=sIanLcOq3Af40GkznAxirIMQvdcHNchns+zH2x9+x8o=; b=pvEsn2wYzN+qEvppolEozwFl+57P+bB+MGUjRSBVPsLwuSCTOYbcVhDdQmKu+dO6E8 MXm27Cgt9ph1lUpw4UI7UR/KtaCeKgH4LtYwQ99CvMs1AdQ41hYquWvl8kjTWS7aUjjp yr/cJEtbLlctKX0RRqNocSSI7T4P1RkZpTeNiMo99KDYUb8oZfoWqJQvD/TC1u24SXd1 dL954jaSIC+ELLaj62tVgqINnoUStLVfzYsrMt/MxLozYwHisupMJI7V0XtL+zmBhcR4 hQny2sOx6KWMspHByJiQ2W31tUuOeO5+OlZ3fQD0RGc6P/pRPu92bSb41H70CXWuXvi7 fVFg== X-Forwarded-Encrypted: i=1; AJvYcCXoWc+pCt/n9YN3GLpJZtTLY3KZA+Alxnjo01PAI3NdyWoieeY531I1IJy7pIQuOtrmGioZFkp7cQ==@kvack.org X-Gm-Message-State: AOJu0YzUrOW78hZbeGa9XOjItsB3RyvWYXruigq6Tj5qoyKdFL2XaYgZ o0WZgyhKB6POCLYy3f8o/QvE/tHrVK2NvSl6B+XRlnWnfEpawS+8ZSl+KCvxtsG2DKCxJU8WPh/ rFk3V2d8KqPNluoLg0C8IKtb62bI= X-Gm-Gg: ASbGncvPFlQFwlT6tiH8lSTM2fKhvYyNt0gNs3CT6idaRDChHKkB82/asfUhDaAhiPZ LoikEgaW8PXltS9A6Bd+2DzqWtpi35uATxB1jXQ== X-Google-Smtp-Source: AGHT+IF3dFfOO0TIrtwz8TCYiBRhZ+KUwMcUZ3/P0P3t4/C80fOfJRLBqabY0cJnZEDL3JVXFZuBL1D82TnQ23Qzb20= X-Received: by 2002:a5d:47af:0:b0:385:e394:37ed with SMTP id ffacd0b85a97d-38a19b050bbmr1503603f8f.18.1734572396140; Wed, 18 Dec 2024 17:39:56 -0800 (PST) MIME-Version: 1.0 References: <20241218030720.1602449-1-alexei.starovoitov@gmail.com> <20241218030720.1602449-2-alexei.starovoitov@gmail.com> In-Reply-To: From: Alexei Starovoitov Date: Wed, 18 Dec 2024 17:39:45 -0800 Message-ID: Subject: Re: [PATCH bpf-next v3 1/6] mm, bpf: Introduce try_alloc_pages() for opportunistic page allocation To: Shakeel Butt Cc: bpf , Andrii Nakryiko , Kumar Kartikeya Dwivedi , Andrew Morton , Peter Zijlstra , Vlastimil Babka , Sebastian Sewior , Steven Rostedt , Hou Tao , Johannes Weiner , 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-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 00935100011 X-Stat-Signature: g9dqsts3xbsog6961op7ybme5dbwqdbm X-HE-Tag: 1734572361-252686 X-HE-Meta: U2FsdGVkX1+AlV5FU6+5GzZQU4b3tSQhS6WaQwfdrneLy7HNgc/kf28DKU+WhH4QX0KNVZjHdsdBG+hPJRgfbdrR9pXw1sVNqbIjV6J19+N7ybHayjv/AK9P5nABM2rapyyh1YqlYEdYjFJ2Zk7CNwHzLxEzRNYfera7rnRQ/LZ1cVY4C/3gbdHZp0YSupd4xRoCtBo2er9lhUKUa8TRMGWxrRbtyVqZn1OIp8M3hd8hPrvvzQhgFBgk/s4vnIUS/5LMC5xInzZA52ERNcipwtiStq7HHnl5vg4MXlHRQzp8gQ9FZQGPn0SbiGihYi3TTJRAS/r1J1MPXc4fTydGNsy0jQVTmvUl41clHeZvSHrH1Vml1DXMmEdE3Di78Hf/9DAekVJKCRLq1QohXP+dLUw7WGdUtkGThAXIoqyTlCi5dR246qkyvEtQpD1ANm+b8qhdnORpNj8oxrbxuTnAC5cqCR+J9LdKL5IjxpU919TMfr29ngjCgAoi5AGCphQn5H5mPmxZNieydDZUWDXyYlRFpI7GiaFvdAm0AHDEhEQMgjuWKkLjDIzaXYB9XrnoBujxvvx6Z3EJyAr/TaeXQrwNy4wN8/ocd5/89yD++x7WXoowuJtVA27U+lHFzaY0Kf4MbHlWDDRAT9Hrk1xScDU2h1Q9jQN8En/+jEoyqk8UZxqmosHECWcHic6vfGFiJ/zg5uluigoY4xjFlvixOQ286QWfIcqSdwYkYRAXiABR4HLOqUaZJyRLQWbZKzWtzjaqelBJ17v0eWeY7+fFoqJBrX8LDwipxH1zYeaQwkDkvgO2MTfTSZR6ehyJC4T62qrCee8HdW6jJ7/ic11DMc+bWFQDXUzEHXg6E3feVVutF+Dpr9NTAuiro7fMEgXH3o2uvnUb9vBTd0sEJPy6iLix9TeM8j8xeexpQ0Rzj3n53mRRrkLgm87SLgsjAeRmMheuPW90CF0FrzmdTmR cFOPv955 fiGSkTAv4YoFLoL0DXAfdwKj7t7XWV/bjcEH8npCY2hdVx9irvbBQ2YNQyeGc1avt6PBJGckw0VIR842OoJ2LbQxygqIQSNmrQufOIJb8nhMa8d0OM6kOSDW7Nl392Vez+UyMhcBcXrojMwydJcPbTlq2cL5gBV7/DAPPKD2GQjOn97+hOJjmr6mFBCqthMEDGB5EkPY6CC16M9szYzXdAP+8mE4PnG/YVZL3+GSKNLaOZO6JDrZGYq5jOp1CQrdfMi3D2uRybZ0cNfW8/GNqfUqqrKgjcOLzWeqY8aIc9hvmdF6WG65+o9DR+iGHRq2NAs233Y+iZ3jPC5yJcdYGa/jKEtVirdILmqX32EluisCsBeaTwHrtEOOGwH64QJT7UitT1xY/ocnBCVlAFyLsN74VpOIYtnz8pI75/zWTgrvjrpJm4hWPr1Wy1y/+1VH2A7O7 X-Bogosity: Ham, tests=bogofilter, spamicity=0.055139, 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 Wed, Dec 18, 2024 at 4:10=E2=80=AFPM Shakeel Butt wrote: > > On Tue, Dec 17, 2024 at 07:07:14PM -0800, alexei.starovoitov@gmail.com wr= ote: > > From: Alexei Starovoitov > > > [...] > > + > > +struct page *try_alloc_pages_noprof(int nid, unsigned int order) > > +{ > > + gfp_t alloc_gfp =3D __GFP_NOWARN | __GFP_ZERO | > > + __GFP_NOMEMALLOC | __GFP_TRYLOCK; > > I think the above needs a comment to be more clear. Basically why zero, > nomemalloc and no warn? Otherwise this looks good. I don't have a strong > opinion on __GFP_TRYLOCK and maybe just ALLOC_TRYLOCK would be good > enough. __GFP_NOWARN is what bpf uses almost everywhere. There is never a reason to warn. Also warn means printk() which is unsafe from various places. Cannot really use printk_deferred_enter() either. The running ctx is unknow= n. __GFP_ZERO is to make sure that call to kmsan_alloc_page() is safe and it's necessary for bpf anyway. Initially __GFP_NOMEMALLOC was added to avoid ALLOC_HIGHATOMIC paths when __alloc_pages_slowpath() was still there in try_alloc_pages(). Later the slowpath was removed, but I left __GFP_NOMEMALLOC as a self-explanatory statement that try_alloc_pages() doesn't want to deplete reserves. I'll add a comment in the next version.