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 51600C3ABBC for ; Wed, 7 May 2025 01:25:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6A6E46B000A; Tue, 6 May 2025 21:25:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 655B96B0083; Tue, 6 May 2025 21:25:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5200C6B0085; Tue, 6 May 2025 21:25:08 -0400 (EDT) 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 36AD76B000A for ; Tue, 6 May 2025 21:25:08 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E31DA160894 for ; Wed, 7 May 2025 01:25:07 +0000 (UTC) X-FDA: 83414368254.28.2D48496 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by imf16.hostedemail.com (Postfix) with ESMTP id DE76318000E for ; Wed, 7 May 2025 01:25:05 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=BPAKTjCo; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746581106; a=rsa-sha256; cv=none; b=tGXuoYakXqL/nv5ypCZh8mPylSp1iJ80aHphEv01EBa10nV+SXQrgEx7bn1DO5Ji+8BuYq wPDM/QAL58GkQpdyj3KtljNMJjVFFEh+ztnqM8v7voStu5EBF3Vkv39XiXQMoM9n/GkZlY tapGd5UXqh3+pO33WKNAIp7CKbxWCRI= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=BPAKTjCo; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.45 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=1746581106; 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=STcJ7cz88Z2GYQxLWSGzIPgdGXpEDCNdJoPcyOyCD+8=; b=yW3kO3B+/J3+2I33mQLq4GmPZ+IF2X3ePCyC5M00pUMa8legFIDjBfVCjzCXAAIRPYDpGo 0p5Eis6tmVN9pHYuT+JqGuPu2oVLs3PjDvR5wNYoXhMbx3DioRNtzHVVWIFXV+TYFc2HDF 0zijxMSE+l+ucFXmGZ0X0HmAgqFlN/I= Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-39c1efbefc6so4674777f8f.1 for ; Tue, 06 May 2025 18:25:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746581104; x=1747185904; 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=STcJ7cz88Z2GYQxLWSGzIPgdGXpEDCNdJoPcyOyCD+8=; b=BPAKTjCoYLg8L7rqQj493v3Stf89QT3TYE+tk7fsQ58hIIqbbFdQS366qtBFo5QKre yUGQveUHixTdFKIDrGI8R4YZumHmdesKw4/QarMZpD44kEzNvMfSLCS90qgeRP+tV99h pToP5zINgY/2bgZPle5hENeEPfn+2hPxm8u36S1ufmGdenSwT6gXLEhPK8qCo2uQDyoD xSSRvgQTuUKVP2rQOL3KDv41IC6WwsEaz5RF04fT6ZGbUigebiFl5nzE73Weh60ys3Uu mDTm/t3lWqpeEYMv90Doz9JdxgVFCtkQvQGCI2XjObXISGUoMhhMTjEqua+NWaqkq81P XbeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746581104; x=1747185904; 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=STcJ7cz88Z2GYQxLWSGzIPgdGXpEDCNdJoPcyOyCD+8=; b=l3FeayE5wjjMnoQY6My3LdqhiMVh3nplSkf19PnsSGNlvQ4jwmhzm28jv2xhYko2Dw vK74dR11E3oPLDW1hoYkiAq4c+hQxPfkmel1wJVmu+Mwuue2FBpza04VirzcWHyKPWnJ n/o/rXFpyTrWweLPxNw+RzrLHpe14LBSbVeTzCfmtTwTmRe88dSDTntPVsMqFvFxaCU0 YmXjzA3f1OUagWCG10CdeunYbbv8cd2NrA073c4Ef5aDkgDL/0Ia+QSreM2hWak44yYo W4TC8PQ23aTyM/2YkudBPljTB+zioTYlbjWnmVt/CfI42jtQT5eIrn/wTTbvg7nTOfaB HMDw== X-Forwarded-Encrypted: i=1; AJvYcCXdMKFad/zg19TDFsQ/U7NS4A5a9MMJCSpDqxtl2h6RT73KjL3ACs23cnWseUOCc1VpT6jdDExdAA==@kvack.org X-Gm-Message-State: AOJu0YwbCAtvEmIAGtrQ+QQ2d2PeiuzmCLQV3SrChPZKSIrN962/ZcN1 ERGmX8NoliFsUuqEnB8JxIE2pLMnjavVEOzViFPYbEkHjWpU99hZFFkVsHydUVyNLVGyOhDs5K8 KtU0u2GxR5By164QJlcDXewRTwMc= X-Gm-Gg: ASbGncunt/VOa3ngm1Ch2wZhbSo3ogDYABJsG/ABH1DTg04Q/OchZj8vjIGqqKIVdBb lmg2dFPIOSzCs8c3sdb5Tsm1RGhKCMQLki+lSuoUUQW8GgCqu+rn3e8+MmUTCE5E6du6t2rdWci 9oNksRxOY7tX/7n5vArO2KvCNGcl8rB/Yf3xwhjCmzZMj+n/8Yypf1jLdzME0o X-Google-Smtp-Source: AGHT+IHkoZ+Uikl8UNLNFXXkUd0sWJcwO0/V6CvxNZWDBj0cTPFA02cryoDJ6aRf/DIBJ07uKI9aRdP9aP7QiPp03NA= X-Received: by 2002:a05:6000:4310:b0:3a0:82d2:2c98 with SMTP id ffacd0b85a97d-3a0b4a17fcamr910372f8f.52.1746581104064; Tue, 06 May 2025 18:25:04 -0700 (PDT) MIME-Version: 1.0 References: <20250501032718.65476-1-alexei.starovoitov@gmail.com> <20250501032718.65476-2-alexei.starovoitov@gmail.com> <441a3e7d-2000-47d2-ba13-6841eb392fe1@suse.cz> In-Reply-To: <441a3e7d-2000-47d2-ba13-6841eb392fe1@suse.cz> From: Alexei Starovoitov Date: Tue, 6 May 2025 18:24:52 -0700 X-Gm-Features: ATxdqUE9LUw8lzsx8O5N9t-1arB5zxC0xrTbbBGJL1asY3vebdctTxb8M560wk0 Message-ID: Subject: Re: [PATCH 1/6] mm: Rename try_alloc_pages() to alloc_pages_nolock() To: Vlastimil Babka Cc: bpf , linux-mm , Harry Yoo , Shakeel Butt , Michal Hocko , Sebastian Sewior , Andrii Nakryiko , Kumar Kartikeya Dwivedi , Andrew Morton , Peter Zijlstra , Steven Rostedt , Johannes Weiner , Matthew Wilcox Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: DE76318000E X-Stat-Signature: ftt1quc3uk68pwd7j61fio8eotjbwnmp X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1746581105-214061 X-HE-Meta: U2FsdGVkX19e/Pw4ZDVFmrNYsFbVvjBEKT79mG6Z5jDYu1iTNLAXr7yUkxJaJ5dl0Kj9YnlbeAVMHA5rRebaRrtqN52tEMri2iLJagVz2NdKWrS5UpCdywM+5AVlY6OXxxn38KhPTz/glCNJFGf+a0d0gA8H/92csyziJAxD/lr7ZdKlkphcP+ZfkDIEz2SKghduYkih7niVf31mV5H97g16092IGtKGNuI1tYJQuJHkZX0X9vXaxABslST+e3X1kJrHMGDLpdKnciclhO+8OkDICzbN4xLVh2v9q4/XXBrlwurPoJedZBsCOokOnTW8UPo+0IKOBbUHLpXAPyL2UxC2mrBWdYCM6rVvyDL7uu8gu8LvZ4LcYxrJCtfnhu4RhxXyzC+7v4stc4ZiLXyblspZ0L0BfZiMD2HG/YZTHyFaZp5iGgkpfHYIYWvqoHfKpB6loMnbMVvBWY7+v+7wQCvarKSz5i5isCPF4NGDf0TZR7GYBYqgxQ4jHw9OomuDfYjDRAQsg0D575oJhXtgB7z9/hCkjiyamy+PnQFhSWRSqWygQKv41MFx4In3BYCNcLBI4kg0jH6uiRTDuQ0pTew2nGycahAWgRNX38FdPXzVuK9rpmPWLqfbQnZxF1gTaEAguHe5YJMs2ns+bfqE2PM0L8Qk3GN9QmLPVe/vr0nxeP+yDtTqi6/OvHagNcgeLEmEZyI41UHN9mCxRR7rD3m155T0woKJhP2NU8Bvdj6s4oxhPGkdYWhocpwyYoc0/9cX2UayCM59q39S3ucC3ES8Jxyz63ySwDr/huD/WDj1/S59GkeTzd/DHvj9+4vepYFWp6/3zwofmyA1vyuHEygUjK44hNE89vJ2Z4ZMpzXFxp5qJZ69lkR3KK+MrBI1lm1a6ktH2cFE9ipg900ycGNW0RC/UYE//grNEXX84AwL6J4iZdOSh7v6+55TdrR1zf4Me765C09bXawOlhK EDbZvLCM 44767xgadA6pvdGICXaGQLpCLto8TxWkfRD2ftKPy8YzB5efQbfnepO/4wGbTzldEktdNOEtAnFY2vqdRFshr2B40YVlnLb+DHTzpVxYPKWyUrj6XwFcTF6JGtACjhqWgqKZETcJEj++oAhcmu+sfqhmtW21hQum5b/NfX1mNNtg2qD30Yh7cvKoFU/RkivLS1VCjj0ASTAhxyNL9Dn+krMlr5AX7xtoEOIaqJRtYFtMsVwK3e/iXvmjj5jsArGfSAlVxzxXjbZHi+9w1DfV86h/ftYNgP3WxaNjRsJxq5vuboZecn/zIOh1Ahj5U/RoLmliy/KeqskO9Nw3OEfrN1vf7lGZ2eCKrqJb+uXsLW6vjlWh9JpigwcPvlYjwJs5UWh9oBhzM30Wu+DelrjLyLEYqr9QGxV38j0EA 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, May 6, 2025 at 1:26=E2=80=AFAM Vlastimil Babka wro= te: > > On 5/1/25 05:27, Alexei Starovoitov wrote: > > From: Alexei Starovoitov > > > > The "try_" prefix is confusing, since it made people believe > > that try_alloc_pages() is analogous to spin_trylock() and > > NULL return means EAGAIN. This is not the case. If it returns > > NULL there is no reason to call it again. It will most likely > > return NULL again. Hence rename it to alloc_pages_nolock() > > to make it symmetrical to free_pages_nolock() and document that > > NULL means ENOMEM. > > > > Signed-off-by: Alexei Starovoitov > > Acked-by: Vlastimil Babka > > > @@ -7378,20 +7378,21 @@ static bool __free_unaccepted(struct page *page= ) > > #endif /* CONFIG_UNACCEPTED_MEMORY */ > > > > /** > > - * try_alloc_pages - opportunistic reentrant allocation from any conte= xt > > + * alloc_pages_nolock - opportunistic reentrant allocation from any co= ntext > > * @nid: node to allocate from > > * @order: allocation order size > > * > > * Allocates pages of a given order from the given node. This is safe = to > > * call from any context (from atomic, NMI, and also reentrant > > - * allocator -> tracepoint -> try_alloc_pages_noprof). > > + * allocator -> tracepoint -> alloc_pages_nolock_noprof). > > * Allocation is best effort and to be expected to fail easily so nobo= dy should > > * rely on the success. Failures are not reported via warn_alloc(). > > * See always fail conditions below. > > * > > - * Return: allocated page or NULL on failure. > > + * Return: allocated page or NULL on failure. NULL does not mean EBUSY= or EAGAIN. > > + * It means ENOMEM. There is no reason to call it again and expect !NU= LL. > > Should we explain that the "ENOMEM" doesn't necessarily mean the system i= s > out of memory, but also that the calling context might be simply unlucky > (preempted someone with the lock) and retrying in the same context can't > help it? Technically correct, but it opens the door for "retry" thinking: "I called it and got unlucky, maybe I should retry once.. I promise I won't loop forever". So I really think the doc should say "ENOMEM. no reason to retry" like abov= e.