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 02ADDC433EF for ; Sun, 10 Apr 2022 16:13:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 87F7E6B0071; Sun, 10 Apr 2022 12:13:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 83BC46B0073; Sun, 10 Apr 2022 12:13:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6F61F6B0074; Sun, 10 Apr 2022 12:13:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.a.hostedemail.com [64.99.140.24]) by kanga.kvack.org (Postfix) with ESMTP id 5BD506B0071 for ; Sun, 10 Apr 2022 12:13:24 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 33F1E21453 for ; Sun, 10 Apr 2022 16:13:24 +0000 (UTC) X-FDA: 79341464328.14.F9AA6EB Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf04.hostedemail.com (Postfix) with ESMTP id B676840007 for ; Sun, 10 Apr 2022 16:13:23 +0000 (UTC) Received: by mail-pj1-f49.google.com with SMTP id z6-20020a17090a398600b001cb9fca3210so442366pjb.1 for ; Sun, 10 Apr 2022 09:13:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9QPhopgx/tgVvIztmP4VR/uXXXoVW1IfZx4Olt9pjko=; b=LIEb0aa1C5AYGxvqnI4eGbxRFwdHsQXgihBa/z7HEdPflb2+iivTS/Zlm2VuZ6Ib6U aqy7mVQy3o8Khe/ieIsgwbrjzF8CaSxZaVRQEcZ5Yc4jHgQQDCbDNkQTSLi7hnqOgegg Zurdmqo7e8QXOyXAhZw53isHJuC9QtT1kXbTSzhXaL1zzZBLDJDuQf0dU73wT5b8yUq8 MNWQPpsD+4tRBhEEGQrgA0K4bRXxqpF4+QFPiqMLCGEumjYwhK0EagFi5WAG5FsopgTW kdPi2ZImksJ400qth9VAYLO+ytJmnu+u8kE3JPdMxYwuwFYGvWvqNroyh7JzhOg5gb2w 4/HQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9QPhopgx/tgVvIztmP4VR/uXXXoVW1IfZx4Olt9pjko=; b=qoHz16FSW+MILZSQbdSJgBrrvz0jYWH7MP42a82lq+cU/N1DxO/flHc201kq/kShAN 8HVLri8U3pRRsVPMsy8L+D2SCUS6h1SumdQB3lklde5HYD/Wke+g1R9ZpybV3l263EUW ijlegMd3/ZuqG2m683riHwESPqxUNX3ym/U9Ztxyi59jyv9nGEkT19vLes0+A2bLUxut CXDqfYPPGZ+0XUnuIiOXV6GlI+mFf8PFGGqlDtrNLdMKWCqkfi/iqagnpQgRKsW4GCTZ LigfOFYLxT6vG08t1WkQwLdfb2JFObOdob9zPrjCJFmTWdFjLZ/P6fb7z1j1GlDw7Uet uiMg== X-Gm-Message-State: AOAM533RezXSqWMTo6TZ3hsEuVjisHg2mliXQ2N2cm2cbpkitfryqDte BM7KbvTbFwR33naf+yzHkXDat/CobTErNgarSr4= X-Google-Smtp-Source: ABdhPJzD3gJbuLzZNIgI7Ru3HsLucGoYjKVnoSM9Eu/kkUVtUjPT68ZJHRo6V9ckdIv7BAa3ny8JuMiqB/U/CsGFsoc= X-Received: by 2002:a17:902:ce04:b0:156:3be:8a86 with SMTP id k4-20020a170902ce0400b0015603be8a86mr29417688plg.152.1649607202565; Sun, 10 Apr 2022 09:13:22 -0700 (PDT) MIME-Version: 1.0 References: <20220409160224.611353-1-ohkwon1043@gmail.com> In-Reply-To: From: Ohoon Kwon Date: Mon, 11 Apr 2022 01:13:11 +0900 Message-ID: Subject: Re: [PATCH] mm/slub: check pfmemalloc_match in slab_alloc_node fastpath To: Hyeonggon Yoo <42.hyeyoo@gmail.com> Cc: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , JaeSang Yoo , Wonhyuk Yang , Jiyoup Kim , Donghyeok Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: B676840007 X-Stat-Signature: 7883uc4fxtrp91qxt7xr8wzwz4czk1b3 X-Rspam-User: Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=LIEb0aa1; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf04.hostedemail.com: domain of ohkwon1043@gmail.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=ohkwon1043@gmail.com X-HE-Tag: 1649607203-251870 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Oh I was not aware of those histories. I checked the commits, and it seems it is better to leave it optimized(as it is now). Thanks for your help. Ohhoon Kwon. On Sun, Apr 10, 2022 at 5:12 PM Hyeonggon Yoo <42.hyeyoo@gmail.com> wrote: > > On Sun, Apr 10, 2022 at 01:02:23AM +0900, Ohhoon Kwon wrote: > > If current alloc context does not have __GFP_MEMALLOC in its gfpflags, > > then slab objects that were previously created with __GFP_MEMALLOC > > should not be given. > > > > This criteria is well kept in slab alloc slowpath: > > When gfpflags does not contain __GFP_MEMALLOC but if per-cpu slab page > > was allocated with __GFP_MEMALLOC, then allocator first deactivates > > per-cpu slab page and then again allocates new slab page with the > > current context's gfpflags. > > > > However, this criteria is not checked in fastpath. > > It should also be checked in the fastpath, too. > > > > Signed-off-by: Ohhoon Kwon > > --- > > mm/slub.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/mm/slub.c b/mm/slub.c > > index 74d92aa4a3a2..c77cd548e106 100644 > > --- a/mm/slub.c > > +++ b/mm/slub.c > > @@ -3179,7 +3179,8 @@ static __always_inline void *slab_alloc_node(struct kmem_cache *s, struct list_l > > * there is a suitable cpu freelist. > > */ > > if (IS_ENABLED(CONFIG_PREEMPT_RT) || > > - unlikely(!object || !slab || !node_match(slab, node))) { > > + unlikely(!object || !slab || !node_match(slab, node) || > > + !pfmemalloc_match(slab, gfpflags))) { > > object = __slab_alloc(s, gfpflags, node, addr, c); > > } else { > > void *next_object = get_freepointer_safe(s, object); > > The missing pfmemalloc check in fastpath was intended. > > pfmemalloc check in fast did exist in Mel's commit 072bb0aa5e0629 ("mm: > sl[au]b: add knowledge of PFMEMALLOC reserve pages"). > > But later removed by Christoph's commit 5091b74a95d4 ("mm: slub: optimise > the SLUB fast path to avoid pfmemalloc checks"). > > Any thoughts? > > Thanks! > > -- > Thanks, > Hyeonggon