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 9554FC5320E for ; Thu, 22 Aug 2024 10:46:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F114A6B02E5; Thu, 22 Aug 2024 06:46:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EC9FB6B02E6; Thu, 22 Aug 2024 06:46:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D3A4E6B02E7; Thu, 22 Aug 2024 06:46:24 -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 B12F86B02E5 for ; Thu, 22 Aug 2024 06:46:24 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 59ED41C4E2A for ; Thu, 22 Aug 2024 10:46:24 +0000 (UTC) X-FDA: 82479552288.27.97DA9A7 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) by imf19.hostedemail.com (Postfix) with ESMTP id 5F8381A0004 for ; Thu, 22 Aug 2024 10:46:22 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=TJpxQXwC; spf=pass (imf19.hostedemail.com: domain of mhocko@suse.com designates 209.85.208.45 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724323501; 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=wUBeSUtvTMdoH+WvRgjDYc/Ro9Sq4X3Z+e+u9RLg8vQ=; b=r5QVUeUG3h3oAvtDPH/eWVTmaSmvdO4NWOTeZWE8OHCP2Xbv5hWlkupoVZhde8A9frlUrs F7SxWDJ1rN7M7EPprxepThzhjWC5K1JGMhAOWxO/irXHBrpGTLsp9LBRMqJLaPVhVT60Rr vuhomhQIm8irBiM9nol2ifn1vqvEk2A= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724323501; a=rsa-sha256; cv=none; b=NLiH3/UPZcT8x8bvsjTrdhTsFm4toiPiK2AZI42xgFCXnY9MGpf6t5R09YJVJlWcPNgD0a rvjAy4wlmwlKRYwTnoOhIxW8y188enz/Zvwq8YnlJCxKPaaPctVt7WUrojbD4I/IHIxbtZ W2F6NcTu9dzJpdlWQSMgC5FhbX7jnCA= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=TJpxQXwC; spf=pass (imf19.hostedemail.com: domain of mhocko@suse.com designates 209.85.208.45 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5bed83489c3so994718a12.3 for ; Thu, 22 Aug 2024 03:46:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1724323581; x=1724928381; 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=wUBeSUtvTMdoH+WvRgjDYc/Ro9Sq4X3Z+e+u9RLg8vQ=; b=TJpxQXwCnLpXh4XUdK91RXfxO5voyvToki0wUmHUtNI29LeAItkw+mNIXvey0aiOQI FnJ7kQQbDzzmyoq5gBEAglL8ziu8wI5PFEO4ZzGcCN60929pt/sDYCl5j9vpu8L+9fuf kcGykbykka94PBCAcYMyVMw8BZ2aqE6r0GlZpvdn3zqldDwwFvA4eNMT363pK8itm6rS r5RrlJLcSeV3fzb2xsaiGyrThfImaPfc4nbW8YZcaYrFEFNMetZkb5tbh7D7Iw9iFOCu KE4rUJkU3VPe3p/e/SOCEtSTtpXdgVlphZlqEppyprJb/eMsvl+hGgHUuVaZOs7jtkna AP8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724323581; x=1724928381; 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=wUBeSUtvTMdoH+WvRgjDYc/Ro9Sq4X3Z+e+u9RLg8vQ=; b=w2RfaH8VkAqWeNmK3kZB8qTNLNblZXAhWeMmZTERkQP7JX/tvxsnFjsN3N9QIhRfXX ncsYucvE+2ImUgYBkoRZ77O4CJibPxkeSZOVPDSlIUT3sPyxc9qIGweUFaeMacIN1O+G dU/T3BEuhxFZ0sE0zCQP04jNjFmjHKGZi6tFkiUeoWEFMJMXvRuyT72VICQvJZF85eW6 vKrCn2z4oEXEX8otYDK1TPSuflWS/UvPoBazUcZJzi6NKVV+S/0sTDSBiLrS8uaXJo99 gFt+JVYLICtNaaot+czkGn3S4qfVpPVk6xwYRxtcZ/3Dbij0oWzoJctZFYbk99g27WLs nxPA== X-Forwarded-Encrypted: i=1; AJvYcCXk8xTrPK0JDhzZMeOXb3+33ALhPvtQQdZrM5lmXPVZHJYKx3t88wMxOjS+cXFgXKcunHz9cz0wgg==@kvack.org X-Gm-Message-State: AOJu0Yw3yCOvcj4zoOrk4GTpolvRj9O0HsdHHH3AHRo+xQw9+cM0s6dL G+bLNdwIjCSxE6n4vyWjmQNUtNFJeOOK7mHGc1LFS+B9/aslH1l7oaMXX5qZV54= X-Google-Smtp-Source: AGHT+IE9Ciz79yXNudjsXT91IhEVjD5RtNWWb1mllRMh8ehzFA1RiIM9zIWnD4OSJxrn0l81jOMeag== X-Received: by 2002:a17:907:da0:b0:a77:eb34:3b4d with SMTP id a640c23a62f3a-a866f13575fmr391332066b.13.1724323580618; Thu, 22 Aug 2024 03:46:20 -0700 (PDT) Received: from localhost (109-81-92-13.rct.o2.cz. [109.81.92.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a868f436374sm101266066b.111.2024.08.22.03.46.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Aug 2024 03:46:20 -0700 (PDT) Date: Thu, 22 Aug 2024 12:46:19 +0200 From: Michal Hocko To: Linus Torvalds Cc: David Hildenbrand , Barry Song <21cnbao@gmail.com>, Yafang Shao , Andrew Morton , linux-mm@kvack.org, Hyeonggon Yoo <42.hyeyoo@gmail.com>, Christoph Lameter , hailong.liu@oppo.com, Christoph Hellwig , Joonsoo Kim , Pekka Enberg , David Rientjes , Roman Gushchin , Uladzislau Rezki , v-songbaohua@oppo.com, Vlastimil Babka , virtualization@lists.linux.dev Subject: Re: [PATCH v3 0/4] mm: clarify nofail memory allocation Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Stat-Signature: aq13c5b5ujh5tpghtafussa13cpea97d X-Rspamd-Queue-Id: 5F8381A0004 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1724323582-300983 X-HE-Meta: U2FsdGVkX1/2swAjDXrrAVWVV8UTUMINqOPXr02cmV02KTDXfkdjwkIc3P7JIXAuND3QIHk+W1swe46qN/p5uR9L93CDvheeaFg4Q5RoFRLiSRz8RU3hyqSU7oVhCQK/ZaKYnyUaKu9oUGCOOoHZRDQm1J4WC0K2pK1IwImhr6kW2hVqbCKqtAY9pU/PmvNOOPsN60W5K2BH3GR3H2ZGhezyzM9qloiS0OCnfIobCfkhHXSRvwwlTE7iZyIS76vEH37BsdmRghO66Rh1oAiMR1S7a6Vxhzj8HD4xwm662EUHT75S/tPcyl22NkDsfV634W79reDkNPjOs6cvLj0UZu1NQHlv+NuPWxqzjCwJUY9KRZuffjpcu93esPP9shJLpfLKJmKOWbj+66nOUw43BMl5E83wsjC8Yq8kQlyYxoyV1H7Aw9xxmeqr6+6v338Xpl9XNri5fCZcSEhrmOaVHrO7Vj6KxUPvgln09R7eVs+V5/wY9tQSzRGeFP4sUlG4zmAPHEEiYhp1/2QZc5wm7KsBrXWtXcJou4EfgooS+65ij1maVQFIKBrlKSrprvc9wii6FfuQ5kCIf9VkSwJrYjyqGXfF9TBmYoEfhHBTX+coYPG2kIRW/Lz9JExeEHDFmOKKgb0wS5MRXBPx5EdqXKlrY9CFAE4r1L/SHCalXE6++PcGwBhXV0+LyGbkIm1QWTbTap+4s4JI5GW9WMeYyyqROxN8vVnRVfve2kTTt5H3RIQ0t5E5XC7qAFgNvtUoETnFShCt2Cim2Jh+mmkCoYh+XqOBd6K4GWBlcE+KJXye+NSoJthOf2pGMu2dOq+Aj1gxlxnBbayG71uPzZAo0yYqb1l//W//n8FwXA2WCS4Ffk5yPEp8GuIIbUwqv+lf5Pwn9fza4v/1/U9E3ma7HKFVbbVMhyEEmJPOZZPWc2EuNv/+MxbkouOX20RMnXeJMViZodRYEfmlYE9mJtp WympG2y/ pPsPVHLuhA4lomDMCsrtwJTPKIYCEAw0S66VS0CJ/nOV+IbNIAi5NaHMmecYuoIYs8Wgup7uxtWKGqSkbB6IJDWltMplIW/+ZIENw+BUqo7BtpUm8zhwwCZGsL1bGklUK57nlkdsbv3gFN+TYS0hNMUgsdYYiG2P722AmyG3Ho9d1tPYpjtXyYZh765gaKiU4CUPMR6xbkJNjCYbwP+Jc6Tm0r5oVYrI1DPiv39pXBKFe8GdEFJ6A/ai//R1n+Yo6wZ7RMCZMJkD8HK6HYMyI1WjBxKYVdU8wEHn7yqNHK0Uvpty7VwltolDGANzR/EetM4W7qqTpD88yxDGbtszJwf9GQ/X2GKRY5lzBQIzVjOesCcKGBwsmBZGzSmYLDV5bUDTQ+yebKNFPBPo+VXtnicqYRNrZEpapyJym 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 Thu 22-08-24 18:30:12, Linus Torvalds wrote: > [ Sorry, on mobile right now, so HTML crud ] > > On Thu, Aug 22, 2024, 17:59 Michal Hocko wrote: > > > > > > And make it clear that it will return NULL if somebody misuses it. > > > > What do you expect users do with the return value then? > > > > NOT. YOUR. PROBLEM. > > It's the problem of the caller. They have already told you they (believe) have no way to handle the failure. So if they learn they can get NULL they will either BUG_ON, put a loop around that or just close eyes and hope for the best. I argue that neither of that is a good option because it leads to a poor and buggy code. Look Linus, I believe we are getting into a circle and I do not have much more to offer into this discussion. I do agree with you that we should define boundaries of GFP_NOFAIL more explicitly. Documentation we have is not an effective way. I strongly disagree that WARN_ONCE and just return NULL and close eyes is a good programming nor it encourages a good programming on the caller side. I have offered to explicitly oops in those cases inside the allocator (while not holding any internal allocator locks) as a sreasonable compromise. I even believe that this is a useful tool in other contexts as well. I haven't heard your opinion on that so far. If I had time to work on that myself I would give it a try. -- Michal Hocko SUSE Labs