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 64CF1C433EF for ; Sat, 9 Apr 2022 16:02:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8C7BA6B0071; Sat, 9 Apr 2022 12:02:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 84F6F6B0073; Sat, 9 Apr 2022 12:02:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6F09E6B0074; Sat, 9 Apr 2022 12:02:36 -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 608806B0071 for ; Sat, 9 Apr 2022 12:02:36 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 1B72F240C3 for ; Sat, 9 Apr 2022 16:02:35 +0000 (UTC) X-FDA: 79337808312.01.E355ED0 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by imf04.hostedemail.com (Postfix) with ESMTP id 5B45640007 for ; Sat, 9 Apr 2022 16:02:35 +0000 (UTC) Received: by mail-pf1-f169.google.com with SMTP id w7so10919295pfu.11 for ; Sat, 09 Apr 2022 09:02:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=V5itTOXlA9Vu+1gfr0e8kL5zhkqq5PIPY77y1N6pVbA=; b=mKkQLUOlFy+bwMw5+Wu4K/tzuJgiictDE/1HF1ltvHzUgzx3WOFtHA+qgD0WS1iv5v XO6cKUO06prfE3i8KFg6huktqps5I7gMEvECj6p32TxwTvgdL1/voO1zWZzYXeVpIeLa v7/crUUEy8rwfUDOmtLCuGWjdJue0N4JSVFP46DrmvIkLjcE4gQaiZYnfnHpCXnTdUJI YQP8X5cl61Z0v/dq4vKmB7r5qNbxe19wt1kkrDD3ONnRhT+0PTeuP9jiY7wUrIYk3h3g Goh1TKfDHYqIhMBmVH5hphyxl2Cme2pc43v7rzRYLZ9+GTeg3iE+nPr4A51xgFDnRAVH nNCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=V5itTOXlA9Vu+1gfr0e8kL5zhkqq5PIPY77y1N6pVbA=; b=8DD3/JUiCa0TZ7HP+jRNoOshuxy0B3hEcquEHPqdVkd2KpHn28wgKAs1vXF/U6F37h xxNw5D6EjrU6EMG2lmH6EhAVLWOFWKqEGLHxMk9ZwUBbI0XhnO9cQI8nRaapNECa5ymW VdukAocFaPMIgD1QKZ74UzvXXQV0Zupvw4Q8GJF6NBMyjDNU4W8FXq71HKkseunLwX9h GvwdujGsPmBOUNLgE1JNc9IZI9konVrxOhhSsHAGDo4TmObJau4P+/lxxYdK6fcakZMs ZUY+o36cML5FlSfv/rhPgVbKQETwCweWdP9XL9RHE7IohkJtjFDctGhxHHXQgX/kYfZQ kdGw== X-Gm-Message-State: AOAM5338FCmMeeAFOvuFBJ4n5fkdPw7e8dZHRrDOku2WQcpAvBQcuCNi X6PntHkWly7D2miZCDXUcfg= X-Google-Smtp-Source: ABdhPJzZiNHYjzwnYoSdMSRW3JW5qJC9B1WJNYEMxkqqzovGKWEk5CFlfrvTYwrmqrHC/k+7h7PPIA== X-Received: by 2002:a05:6a00:ac1:b0:4f1:29e4:b3a1 with SMTP id c1-20020a056a000ac100b004f129e4b3a1mr24920269pfl.63.1649520153977; Sat, 09 Apr 2022 09:02:33 -0700 (PDT) Received: from localhost.localdomain ([210.100.217.177]) by smtp.gmail.com with ESMTPSA id z5-20020a056a00240500b004e15d39f15fsm30091904pfh.83.2022.04.09.09.02.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 09:02:33 -0700 (PDT) From: Ohhoon Kwon To: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin Cc: Ohhoon Kwon , JaeSang Yoo , Wonhyuk Yang , Jiyoup Kim , Donghyeok Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] mm/slub: check pfmemalloc_match in slab_alloc_node fastpath Date: Sun, 10 Apr 2022 01:02:23 +0900 Message-Id: <20220409160224.611353-1-ohkwon1043@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 7nuyau3uyw6dqwufs3t6tqp6q7wj7abj Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=mKkQLUOl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf04.hostedemail.com: domain of ohkwon1043@gmail.com designates 209.85.210.169 as permitted sender) smtp.mailfrom=ohkwon1043@gmail.com X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 5B45640007 X-HE-Tag: 1649520155-803260 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: 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); -- 2.25.1