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 93FF4C3DA61 for ; Mon, 29 Jul 2024 09:57:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DB6D16B007B; Mon, 29 Jul 2024 05:57:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D3F236B0083; Mon, 29 Jul 2024 05:57:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BB8BE6B0085; Mon, 29 Jul 2024 05:57:09 -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 9948A6B007B for ; Mon, 29 Jul 2024 05:57:09 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 44D2B1C0E68 for ; Mon, 29 Jul 2024 09:57:09 +0000 (UTC) X-FDA: 82392336978.29.21EA622 Received: from mail-vs1-f44.google.com (mail-vs1-f44.google.com [209.85.217.44]) by imf08.hostedemail.com (Postfix) with ESMTP id 4DE5E160008 for ; Mon, 29 Jul 2024 09:57:07 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Aq7xOpQ0; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.44 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722246987; a=rsa-sha256; cv=none; b=DAB772/LbJPr6RDoAN9jSvV3VgYE36MAsPTIxOCj2IRT+RwcuWMMEMht+g0bM8IOt4KMPt zr4X3VqXzCxhJDX+ekDY+MGnBLjMPMqQjFM7oT9rO2Z+9agq5cqcdeaMgqvqLSq6wCCqZY 2BbCEANjhQWz+htp2PfKdwGFhsBIVV8= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Aq7xOpQ0; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.44 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722246987; 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=LzU93lQ9FAwpzZ+7J4zdxDrvnFfiQFQdWcvlDlZf8z8=; b=ADh5DpjgZMKjbQfOw115vPUs1ZoevizKj5RHi8Uz/woa7XH5JmU7jySLJaA4J2KpWKEGTy Q1MpNf34Ld2cXtzxJHCRH82iL6YshmApm0BFl5W1Hk6OaHnbO8F79RGZpi6CCGMikSEzEv rOt8nkhWYCezPpz6BA5MLGrb6mXykw8= Received: by mail-vs1-f44.google.com with SMTP id ada2fe7eead31-493d7455231so532529137.0 for ; Mon, 29 Jul 2024 02:57:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722247026; x=1722851826; 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=LzU93lQ9FAwpzZ+7J4zdxDrvnFfiQFQdWcvlDlZf8z8=; b=Aq7xOpQ0Ctg867Qw3zB6A2p3KOtNw5mdeRX3cOvPsWsFfIWUoRMWyaSzUcf27FfsWp 9WMtqTfdxZRHI0A3Lm/MhY3YTEGzwyP930sSpwjdYLBxjkmukWQI6X4rcM73R8BzSLgC x9KO4wFq1+ijAlfiKk2DiZn23cl68UUaZWnUL2gKsYWQIaeZmHH6QfYZFoLvnD4rCTuN rqEHUyuFGGuNRhfd+2AKm+Xwll7O3bBW6qv2DCc0Y8fzizrAaDsnv9eNZDR3nlZ3LnwA SPl12PVWbra8iARrYYIkswV9qN2Zy2zerEaaZuSMcMGIXEedJR6X6aSLaKGakZwqxdK8 S/VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722247026; x=1722851826; 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=LzU93lQ9FAwpzZ+7J4zdxDrvnFfiQFQdWcvlDlZf8z8=; b=FPAjFdhc7NSrL6N13nqlPlWmBOBscaXm76VTFIWH97ykGtM+iZIxJaQv8J5voFknnv dcw7ZRe7BQpQBhUKeY50Hvcq/cRYQKVcA3eHceSE/h4I8UevnV6wsJnnd66r2ATu/J6D cgNROpBiNuhclg4QPbyt3zA9bA5qmwC1skqCW0yXigw3L1LtIMuLS3SetSbAqYoQPq3s DdWFywSmkIvwrHt2yxKaURte5IFfAc7CSi9Dnit5ABSA2z87gBOYc2BxvUdBemk//IXW vmiICJ6kx8hZkuNPikhFlAXY5oZv35fhGRksPZK95AmQ0dVyFn18IiEMnHhNGZ+7aHO2 AlVg== X-Forwarded-Encrypted: i=1; AJvYcCVlQ12/1520t5+/r7m+z6XoYAwNmxNjHmVz5HvGd3Yx5lQV4m4VEV5joI9XFcJ9+Uwf7uQLQUhOg/mzbv+UAk8NsCY= X-Gm-Message-State: AOJu0YzRJPkY6aSh88XlaNYwt8Gr34xDb3kMWtu4EtjGQFFwtbP2l439 j8eDpv11FtHO93AAIk1JQXykOpIhRzxoBvjM1Ym8axcHOpBdJJU8EZ62ZlgKbnmJGf6zZujQO6G j3JtSFsZ9Ctdjuj+aVBsUohchgzI= X-Google-Smtp-Source: AGHT+IHccuHFy05pU/JKx3gRIyZrGS2DgXoads5elgRjnIOEgRwTZvjj+/SANGJyL3jI7JJ+xzMsaQ0XB+LZ0UsbTH0= X-Received: by 2002:a05:6102:3048:b0:493:e1ba:123b with SMTP id ada2fe7eead31-493faa8c6bbmr7987835137.16.1722247026292; Mon, 29 Jul 2024 02:57:06 -0700 (PDT) MIME-Version: 1.0 References: <68ee812b-3b96-4c8b-9a54-70d4742488bb@suse.cz> <400b2f6f-f7f0-4888-99ee-7327faad7e5c@suse.cz> <5b9fa06a-bcef-447c-899b-fe3fb10315bf@suse.cz> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Mon, 29 Jul 2024 21:56:55 +1200 Message-ID: Subject: Re: [PATCH RFC 5/5] non-mm: discourage the usage of __GFP_NOFAIL and encourage GFP_NOFAIL To: Christoph Hellwig Cc: Vlastimil Babka , Michal Hocko , akpm@linux-foundation.org, linux-mm@kvack.org, 42.hyeyoo@gmail.com, cl@linux.com, iamjoonsoo.kim@lge.com, lstoakes@gmail.com, penberg@kernel.org, rientjes@google.com, roman.gushchin@linux.dev, urezki@gmail.com, v-songbaohua@oppo.com, virtualization@lists.linux.dev, hailong.liu@oppo.com, torvalds@linux-foundation.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4DE5E160008 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 8cw38fkf5os1dyr9fkjzu4bto67qiyyr X-HE-Tag: 1722247027-977715 X-HE-Meta: U2FsdGVkX19aKzF6aJftXs1P1bXdWn2+ptVS8dbhazVb6M2e4wI5MRs6aZ82p/P++HkBaYTMc0ToNX05rZa8B7deHBqpvaHFeapm3s+7nGSWhKqD7J8JFqT9bT69QUGppVkMX0qqLuw5htZRpyoHTCJdSlxQgbkqzrW94AgZat9w/hFPonkAVLAaE8MjEf6r+AQXl6J5a5N2hIEBPpGcopsBNwvmaoCu/AePFrZiA9OqOreiXUfQej3npFJjzxUIkLxKSgHWympOMjUJhjqJ6whc93L87IOJ92N2M3jJ7A3rN+Bp3cU172MPakI8JKO+qcTwxEOoSNA8G1vsgi/NUS8UVfeKdJFM7U5P5UyuKIT00Q4tPHZePSU3/lIX1irVZCCCtVh6JgISsL38hAfW0UW5FHn3pEUsEoJ3mA79WHpH5zjbQysNbcCKGZhX9GD6dzP6k9L7CGkKHeFwDyixJJ52ydFENFK1mItKJl06gs2J43qZv34RFaSHNkreWVY0rQKzXpG0FdbnvkWL9jeHYV+9JgizEa44A0gSEIlfAMmKVnbowLOLNNGLilZCKXqFhQFEvdNArZ5LtRZ8f73UQwg4SAQOSHm4t6LMbgsC9DlJtOXG97VDWwXE5QmQiA9suNbhAsQv7k5GIbGe4l1f8hsVDLo4V2UiE8R8IxjlKvhZR2SIarwgCeaU4sLrVvzBajr0NeFDnngEJdcTrBZG8Qm+pjmKYGXWAF5og5pqgd6WmP1J5qC/4yCZk22RcqJ9rxsDz5RGecrIMbMFfSj8bA8zMwpTNMP/i8C3F/jkfOj9LDu5NFnElHeiVL3FRz5Gq3mIoRqnjt3rKTbQfAedk0D0fE3QqzuqsH/iz3leA6MuF+0z7Ku26rN7gbhqlkt/wNy1hAN445BgPP0QcEAIKhod3JJEAMW5PZGFr/F59dZkXaYWpRv8nCdpvmseSPgN5xaR3ufQA5GF/pEGLfz 8ANgpbpP 3ET8yMc9tEwd4WWbLaaAdffSyqEYHSa2nq1dzIuq/MZM36MkGtmvYMj5TL3aG4LWrnIPSvbljnpOTTIGmBczn+PzLCa5I1xpsWph2PYs2NU2DC0hVYTTaiPaH2/s83lKi1KQQH1gIeNPPahZ2ZG7XktyLfRoquzvVIa9BIkQ4j6q3mYAkBL9lQOWt6v1JogYOH9HVSYQnWGyEhRR4BpPisNwPNk4lg0iOHxfYQ+VWNwR7mVYXnELSQD6i/69ZFcuqrfJqqbkKkcIFkapbQn70kjBo1KQ88+ltr5EzWVQIT4uUfVfSs+mycy4wVVLIqnbtovkLsHu105j6AclS6QIjGp/zRx5y04zVl2iamvAaYXh2v+o66p2RbqUYGa1YJOCP+Vs9nIVhbRY92C/QjmTOdaes2kgDtrBYQMXIibGLQ1p5ma/SgKBHBDCza5EM4Xqqsm96ZP2euLZxzysjum9JFXdMoVZRLLMRwm3VJPZKDaltPqVIQjBo1M7IcA== 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, Jul 25, 2024 at 1:47=E2=80=AFPM Barry Song <21cnbao@gmail.com> wrot= e: > > On Thu, Jul 25, 2024 at 2:41=E2=80=AFAM Christoph Hellwig wrote: > > > > On Wed, Jul 24, 2024 at 04:39:11PM +0200, Vlastimil Babka wrote: > > > On 7/24/24 3:55 PM, Christoph Hellwig wrote: > > > > On Wed, Jul 24, 2024 at 03:47:46PM +0200, Michal Hocko wrote: > > > >> OK, now it makes more sense ;) I have absolutely no objections to > > > >> prefering scoped NO{FS,IO} interfaces of course. And that would in= deed > > > >> eliminate a need for defining GFP_NO{FS,IO}_NOFAIL alternatives. > > > > > > > > Yes. My proposal would be: > > > > > > > > GFP_NOFAIL without any modifiers it the only valid nofail API. > > > > > > Where GFP_NOFAIL is GFP_KERNEL | __GFP_NOFAIL (and not the more limit= ed one > > > as defined in patch 4/5). > > > > Yes. > > > > > > File systems / drivers can combine =D1=96t with the scoped nofs/noi= o if > > > > needed. > > > > > > Sounds good, how quickly we can convert existing __GFP_NOFAIL users r= emains > > > to be seen... > > > > I took a quick look at the file system ones and they look pretty easy. = I > > think it would be good to a quick scriped run for everything that does > > GFP_KERNEL | __GFP_NOFAIL right now, and then spend a little time on > > the rest. I assume you mean something as the below? diff --git a/drivers/md/dm-region-hash.c b/drivers/md/dm-region-hash.c index a4550975c27d..b90ef94b1a09 100644 --- a/drivers/md/dm-region-hash.c +++ b/drivers/md/dm-region-hash.c @@ -291,10 +291,13 @@ static void __rh_insert(struct dm_region_hash *rh, struct dm_region *reg) static struct dm_region *__rh_alloc(struct dm_region_hash *rh, region_t re= gion) { struct dm_region *reg, *nreg; + int orig_flags; nreg =3D mempool_alloc(&rh->region_pool, GFP_ATOMIC); + orig_flags =3D memalloc_noio_save(); if (unlikely(!nreg)) - nreg =3D kmalloc(sizeof(*nreg), GFP_NOIO | __GFP_NOFAIL); + nreg =3D kmalloc(sizeof(*nreg), GFP_NOFAIL); + memalloc_noio_restore(orig_flags); nreg->state =3D rh->log->type->in_sync(rh->log, region, 1) ? DM_RH_CLEAN : DM_RH_NOSYNC;