From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C40083A8741 for ; Thu, 6 Aug 2026 01:12:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.71 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785978735; cv=none; b=D4xamr9rTy1Tu/J874jpH36XYCe/BQMmFLvB9Zx05ajsTOkzIgZsyncKSwHk6V+d+RzF/JMPPkcNIf0TVl5wFMbPZ3WqagclOmXO5bxvqtF4QiOnglv9bt8YKQE9KAFhZf6FbvmRvtMYx8CPyoDm4Vr63FSH+nbWH+X4Z/cxF+8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785978735; c=relaxed/simple; bh=qgImI5oP4HyJzPd4CWrdreK296JQSWdnEnvHbKGXZdE=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=fb8a7ITfvTLSsbDTtU9mwaRdxH9aV2uC4md5kUHs/3P+ujtCZOl5N1rzYUobkgttTcnv/uW0qp/nom6nMYPQWO2yVJVX2r4HtCe0mCPQ8jNHSVU9mkpye0aOnd5yt07dxkhwXyJyJxwhX84FfZyE8ZSrLtPlFeRDD+8GOcSQ/Us= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jyescas.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=kpd+3xTb; arc=none smtp.client-ip=209.85.216.71 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jyescas.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="kpd+3xTb" Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-38dbf293831so3180843a91.3 for ; Wed, 05 Aug 2026 18:12:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1785978733; x=1786583533; darn=vger.kernel.org; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:from:to:cc:subject:date:message-id:reply-to :content-type; bh=DoxO0tzkkRxeSpf9e1eNsTCkLzdHL150fG3Ixk6g9Us=; b=kpd+3xTbyOCl93VOG1SLuxcqhiboAoQBeVFg3gq/zOajWROCDUMApLtklouHi0biQP l6Oosv8/2uzfuNJg2ENn00pH1ufiyjBP+eLGFMzfrsWEDcEsGw5YBKkA0bqNdd7SBS1d JgYYrnYDmlM1MSfQUeFLXuyDVSWumhcAypAucRelxfRppjaEjiaCDsMpahVovQDLU01R oTOUBbRnNATZUtOkiNR1lhm0ls0YkDLMLHI/++1dSbR5eYoS4a7Rdb1k4uZVT5SmlaZp /nJSQwX3u8ts6a/5UxeiY8xLjR5uavgJTHb8HKQyClPkx++TU+Mh5HwSLP3h2MBYASxh IAtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785978733; x=1786583533; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=DoxO0tzkkRxeSpf9e1eNsTCkLzdHL150fG3Ixk6g9Us=; b=TOH7Gd8rkftNlvRxw9X8brIrRwsjU2K524orSKBoDaa5zhmv5ashUtivFdv5WiUKRq TnvECXxgw1oAQPjOYzdqoxPow5FB2MISLVHZsuzgt3KN1Jf6OGxrs5Mq9nl06O+pTPEK KTOLZwD5tAhnEIX+w1gBJG849fVPfiEk9JEwAqWsglwp1WLuqu/UeU9Ysssim2o333mW JUb5PC5kwCLoLvgoEonVavKvyhWgb9T5Nkcv79Ep2p/JeCvXIJMt0WznGcRuWPolcZr0 oIzyumOtsWJ2Sjbk6OFnrbI4wCj25zID6ra257LW4dVWEqBqf/SGV45pGWYUh7Jrjqt8 QZRw== X-Forwarded-Encrypted: i=1; AHgh+RpDa/qsNAfiKxYkr0b5cSJkt2lAqfFDrvsTZPFSsKmn01ylfU2lJQkUUilcj08ZvvppgCeH2sC9ZBVAPXs=@vger.kernel.org X-Gm-Message-State: AOJu0Yx3gijjhpRXaLBKOQUWa8n9ISXPSRbN/rnukFXHNPe7ix/vmCtE zPES68Jto4YR5TB2+KT4NWHgkR0Yad0vfoGS0K5cxHVjvIrXjd4dHL+OKKTdJ5BdtLGNcXcPNk6 YSvE/BgBYgQ== X-Received: from dld11.prod.google.com ([2002:a05:7022:30b:b0:13e:5fe8:61ef]) (user=jyescas job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:560c:b0:38e:70d5:b12d with SMTP id 98e67ed59e1d1-3903c537991mr11924708a91.6.1785978732757; Wed, 05 Aug 2026 18:12:12 -0700 (PDT) Date: Wed, 5 Aug 2026 18:09:07 -0700 In-Reply-To: <20260806011048.517229-1-jyescas@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260806011048.517229-1-jyescas@google.com> X-Mailer: git-send-email 2.55.0.629.g250fe7f194-goog Message-ID: <20260806011048.517229-7-jyescas@google.com> Subject: [RFC PATCH v2 06/16] mm: Define function to create a dir for each page order From: Juan Yescas To: Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , open list , "open list:MEMORY MANAGEMENT - CORE" Cc: jyescas@google.com, android-mm@google.com, ljs@kernel.org, fvdl@google.com, tkjos@google.com, minchan@google.com, dskiba@google.com, open list , "open list:MEMORY MANAGEMENT - CORE" Content-Type: text/plain; charset="UTF-8" This change creates a directory for each page order inside the zone directory. Signed-off-by: Juan Yescas --- Changes in v2: - Update comments. - Remove unused parameters in function. mm/page_alloc_hogger.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/mm/page_alloc_hogger.c b/mm/page_alloc_hogger.c index e8944080e82e..24856f7ea5d7 100644 --- a/mm/page_alloc_hogger.c +++ b/mm/page_alloc_hogger.c @@ -127,10 +127,29 @@ struct page_alloc { static struct kmem_cache *req_alloc_cache; static struct kmem_cache *page_alloc_cache; +/** + * create_page_orders_subdirs() - Creates a directory for each page order inside + * the zone directory. + */ +static inline int create_page_orders_subdirs(struct dentry *zonedir) +{ + struct dentry *orderdir; + char dirname[12]; + + for (int order = 0; order < NR_PAGE_ORDERS; order++) { + snprintf(dirname, sizeof(dirname), "order-%d", order); + orderdir = debugfs_create_dir(dirname, zonedir); + if (IS_ERR(orderdir)) + return PTR_ERR(orderdir); + } + + return 0; +} /** * create_zones_subdirs() - Creates a directory for each populated zone in the - * node. + * node. Once that the zone directory is created, it creates a directory for + * each order supported. * * Note: ZONE_DEVICE pages won't be allocated using this driver. The main reason * is because they are not managed by the Buddy Allocator or CMA allocator. @@ -142,6 +161,7 @@ static inline int create_zones_subdirs(struct dentry *nodedir, struct zone *zone; struct zone *node_zones = pgdata->node_zones; char dirname[24]; + int ret; for (zone = node_zones; zone - node_zones < MAX_NR_ZONES; ++zone) { if (!populated_zone(zone)) @@ -155,6 +175,10 @@ static inline int create_zones_subdirs(struct dentry *nodedir, zonedir = debugfs_create_dir(dirname, nodedir); if (IS_ERR(zonedir)) return PTR_ERR(zonedir); + + ret = create_page_orders_subdirs(zonedir); + if (ret) + return ret; } return 0; -- 2.55.0.629.g250fe7f194-goog