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 8407DCD1284 for ; Thu, 11 Apr 2024 09:19:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 024BF6B0089; Thu, 11 Apr 2024 05:19:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EEF566B008A; Thu, 11 Apr 2024 05:19:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D42066B008C; Thu, 11 Apr 2024 05:19:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id B161B6B0089 for ; Thu, 11 Apr 2024 05:19:06 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 78E48120AC2 for ; Thu, 11 Apr 2024 09:19:06 +0000 (UTC) X-FDA: 81996701892.23.62321D7 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf05.hostedemail.com (Postfix) with ESMTP id A4C32100005 for ; Thu, 11 Apr 2024 09:19:04 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=shopee.com header.s=shopee.com header.b=U6UH39Fb; spf=pass (imf05.hostedemail.com: domain of haifeng.xu@shopee.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=haifeng.xu@shopee.com; dmarc=pass (policy=reject) header.from=shopee.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712827144; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=EtlNfLs5P8um3SIPEQ0hBH+mGM1233JNtg+NHXLJ+e4=; b=VTsAgzyAEU7cOZWzzehbrP1eTCriOWvn5dHVvoOvZQHcgcabweeBkgNIjsDfyXKyMOzLw+ adDEJeS7VWAORsnlBxGoV2tCn8bDiQco18owkEOyU2A92U6NA4LxxIjWub7RZi8ntwv8X4 qhrt7iO+qNbA7m83QKedeX8SrX16cFY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712827144; a=rsa-sha256; cv=none; b=hNw2v/uiC05uv6UY3PfPopuwNqHvz9Dzq4/AYoPUun5KnUW3N8OHF265dGzv+FJBtTrlP2 A6FbSo4UbOwQXmsqW9u0uLCoSjrfYdVDh30Npo8BFq8PWu8x5E/akv/ebVLHZ83UdwOe0X qYa6bxc+EecmMwVVcE0JIKqhe7UjePo= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=shopee.com header.s=shopee.com header.b=U6UH39Fb; spf=pass (imf05.hostedemail.com: domain of haifeng.xu@shopee.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=haifeng.xu@shopee.com; dmarc=pass (policy=reject) header.from=shopee.com Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-1e411e339b8so32853785ad.3 for ; Thu, 11 Apr 2024 02:19:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shopee.com; s=shopee.com; t=1712827143; x=1713431943; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=EtlNfLs5P8um3SIPEQ0hBH+mGM1233JNtg+NHXLJ+e4=; b=U6UH39Fbo+HkXaef2TK6fcMvUtEXT+bOq6fW1fVMe8SHK467vX6DI+HMOMLXelSHAs b3HEppk/Pk3MnPt811Vk4B54bXsFqDG1wVXHE+tvvuOMfh37cTIABChKC8t2ftPxwN+a Tpiha4C5rehG7fpbyg7o09+OZGMs+XGMnsyk8qNWa+baHqZlVKDi9+JeJ73o+AoD5F3D 3WyLSxMAZopsAZZX3QIEiNfCpHJlzJJztIzOWaM+NHrhIXFGYLYzdS0APEYJgb974FuS L3REPvXk5ACvCooHkinYqjU1J9yxuKpokibCk8nZehfBkRAMe4yQnS/6C6C+xUyup/p+ 8wxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712827143; x=1713431943; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=EtlNfLs5P8um3SIPEQ0hBH+mGM1233JNtg+NHXLJ+e4=; b=AZ7o4JG2LjrAVVblr+5du4aX3/Z2hNDkbxQSuJoGnN1e3Oke6yRUJvvFKZXO9GKbTC 5cvFdKQKg5BBesu8GNdL96PQQbj3i0TP20L8rd0S5W7jiNQHQDZGlSUVn8SsyEhNVX75 Gmz4hz0oXEt3kmd/57qMoKm4rY3o/8SZAVK5RxXDq4x0/HWOv162KF2FyhHDtDpqLrUf 1E0Yub8y93wSShvRFmi846SrgHDMCNP/A+3rIA6p+usuFsIQ/Tl8sJX6C4tvmmUvp2wR 9kC+/GYrsGYPycCotmcLxOwIQOy6K8gpsit5UBwpBsbiL2Du6tUA9WowDfd3Y/bTf0am sXHA== X-Forwarded-Encrypted: i=1; AJvYcCXQs9M6DDDd3jyhDxGuI1A60+AlfmRQaBPvQg4R7VPuQOBzsBHYek7V5GmZCbfMQLnAdHNs+NFYpIbHew0aHHE8MVg= X-Gm-Message-State: AOJu0YxKxlmcFQ1jYIdp2s8JY/oZBuqIH92MDR1HDZDIaWPvDCf8hdrH BdeNuw5Jwb+utNsMSjnnrc8dBDcN6iRdj/hWSySOlucLDP5CBZiB54xM1GVxhIQ= X-Google-Smtp-Source: AGHT+IH8AHfCAqu+2YM9kQDcuI8cWGs9J2LkLXmRmn/UvJaJHjtq7lMTpyYGnye3fBWeJd27izbRzw== X-Received: by 2002:a17:903:244d:b0:1e5:5cab:3186 with SMTP id l13-20020a170903244d00b001e55cab3186mr755376pls.12.1712827143397; Thu, 11 Apr 2024 02:19:03 -0700 (PDT) Received: from localhost.localdomain ([101.127.248.173]) by smtp.gmail.com with ESMTPSA id m6-20020a170902db0600b001e2a7ed52d0sm776424plx.239.2024.04.11.02.19.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Apr 2024 02:19:03 -0700 (PDT) From: Haifeng Xu To: cl@linux.com, vbabka@suse.cz Cc: penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Haifeng Xu Subject: [PATCH] slub: Clear __GFP_COMP flag when allocating 0 order page Date: Thu, 11 Apr 2024 09:18:32 +0000 Message-Id: <20240411091832.608280-1-haifeng.xu@shopee.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: A4C32100005 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: feqdf1exyih4eqqj5n8j736ka6ng73w5 X-HE-Tag: 1712827144-504145 X-HE-Meta: U2FsdGVkX1/fiXa1LkWu1gvQFMDlGM4cb2tEijdGjg4gkjyk2vjLEkvRNw5RepT3qzAhaF7YfKer0JkDADpyvqjpSszQfbhqKOEZaOj+pgGII6M5JyBL5mfq21HciwPTOOJSNZ8Gfbnw7HRLfF7Oguxeuv/Bw54pMR/anrh9tp0ipjxqnHQ5CVyifVJOhAqZH2GArgt+Tulni1P0igSLznE2k52DjTvsPev/hR2BsfBzKS2DdGftoi0MSnphfblHeb2r9Pi36QAVyDkAYDsC7RGS1pxatkwUU6LFM8OnaFgVSu3fbsoCOetfEMZnzsVKklrJKqBynHZGPhdU5DoauP5tn8haAH/AO4CROvQR9Tqi/gAmQ88Jh44nKRAq6KRx+sfZku3ivk3VwzY+Sc228FF+OewvESGfVu6yx5Lj+hDAPN9r9aU81p6ESKyUjEKIU0H9U/bbjGcU6CUO0lVtXDuWTyF9FpU988w0PBAOyuYWuEE5tj9sJrrJv/OxTQtB8gBp63PC8hvP0+nNqpaPZ8Eow3gcSZ1T6bnA8OUzcfftCbqVR2gmvgyAaR3EgZqNLWTEARfN+1IJVvRnxnL8/8TqRkx4b/bqLtwGRRsArijgEc2UUjVZVkg2kOwyYMWaeX+bi5Hs33iwFtRn6v77WCtxhpAcUaLk6wzqGg8k6BUAQTrP2tYiuxSQal77h83ReQAlgpBaNEow9BAaR50JwU80eMdO7A28ei4MHumGoIwKK/ZKDtEAbohZ2Cui4BjgKcwe+l+7p4uVpFHmos9hMtmkgEmDZecvs+owk3YZl99b7vtF8UfckTzZGNJQo3iGucqcLMvCVbXBVG3ZK0F4ZsCMj/OLj59t5ZOeUenaxmz+pl/8sUHYtZbyVOeB4TxAZadjpy9qSb0Xyu2lQeyzh6kqDfM+sd6tB3+8JPCFAp+g2wv+vaZ1Lob+a2FDdKQKH5OlxThqitvBjTlDWQr 1TsRA/uc swuLoBA+GmXwF0bbmGhhQq/b+6+B8crTnzQDXRjchY6OZ/Rp2YC2rQlq+DTlGBGc5QVFS6ZTD72NZNDH7nCrLIf/Y0NVyhhIqK53BKTb1bYNVl9rTuwyCSkXU00Kj0gTgHyFKOKjSbTg1M4SnAWO3G1LxfkZx+N2kc6WJiLZkOwK2cUTnAKKxVMSwquffaj5sD7PDcvMai2AlaJrWiu0ISR7tNvAygxyJFfrWSxoHBSOQQVptdMLiQh2wSTgGPlYNyNhc1sWPq2rRgakcmegrUTRLAECM1RgRae1txFMltXT/sVFIFMbkP7aNN417dRUgYtxA6PZ1lycwpuFocZMNUPOpkFZ7mpzKsBhw5hXSRd9b8f54dmEdsNUiy8cdK+ZJiLoCoTb/JsdMS4D1lt8r6tT02PziKkuYVMSPWbVGiwhDUz4XTvjdS2m+Dtkz6XH9zXvp5NUgMYjj7x9bWxY2IVrvu0Yr2c2Y5S/gND/JgBtqAoideyEdHPgP5qobJDlTep1vkh4hMykikVE= 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: We encounter warning messages when failing to create a new slab like this: page allocation failure: order:0, mode:0x1004000(GFP_NOWAIT|__GFP_COMP), nodemask=(null) It's a bit confusing for users because __GFP_COMP flag is used to create compound page which implies the order should not be 0. This is because minimum order will be tried if higher-order allocation fails and the minimum order is 0. It's pointless to allocate 0 order page with __GFP_COMP flag. Therefore, clear the __GFP_COMP flag when falling back to 0 order allocation which makes the order and gfp flags matched. Signed-off-by: Haifeng Xu --- mm/slub.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mm/slub.c b/mm/slub.c index a307d319e82c..d3e03dcb9ff2 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1875,6 +1875,13 @@ static inline struct slab *alloc_slab_page(gfp_t flags, int node, struct slab *slab; unsigned int order = oo_order(oo); + /* + * If fallback to the minimum order allocation and the order is 0, + * clear the __GFP_COMP flag. + */ + if (order == 0) + flags = flags & ~__GFP_COMP; + if (node == NUMA_NO_NODE) folio = (struct folio *)alloc_pages(flags, order); else -- 2.25.1