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 68D053F39EE for ; Thu, 23 Jul 2026 07:50:05 +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=1784793007; cv=none; b=td8W2DPa3Lo6Cn0LwqQ33vVoJwfbgGgsJJQ7Y6fN6+wA7JJiNkLl+zPA01OyoW8Js+CWhSAncuAcF8b0HJNbSgnTm/YQWM2zNaDu+wkqAwfUOQ9C2Tlx5OWWib/2bUTiz0IJr13W/dXxsHUrB23ayo3FsX0EwXRzqfhDn8MsTic= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784793007; c=relaxed/simple; bh=qAL5uKkIHv4BorVeGHtI9sxp0dgxdVR+jrNIJhG8MJI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=obG5MnW055vmkIuZcl3LdSECOdYIJNHj11nFqSgVJzH7fPiXnFM6sHd/Q7ZlYv8ZH/BKYXctfE6nN+nh1GX2b2oVqhWEo83BffNfKaCiiuDWExGy8a5gShFkq6aMcsx+j1jFRnO+EweXxEUW+iXuyW3ky+YwnKj9MLzvwCAkrdI= 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=QxHyb79d; 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="QxHyb79d" Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-38e8fee6af3so442488a91.1 for ; Thu, 23 Jul 2026 00:50:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1784793004; x=1785397804; 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=4IEwjjGUSei6Ojejw9AeCmT16n0CwbrOZSGJzNcMlIs=; b=QxHyb79dYxGVksErPQ9tsAFSQSOU03U8lXGPyU5LTJMqFPJayjDrYPN9sgMZg1Ztgz errid3NIjOp3o/qRXjoeYHs9in67IXVJgXcny5unWmW0x6Uc9v2DnMd7wGsPjny5evvi 8tCQ+Pjg34cct1/Pbhdzl5AaatPJFa1mHPy3Ak4QMmbsTiIyDajAPel8V83aD76wpDjv pY8nbiHT6Zu9Mipv1JP6sCbJ9HEx0ooIMqg2HiEsdD01XZdyzfgqzeKbZ4gHywmUuDQy +3z1mFukW1lYM23jw3IVjI977eli4H+B2gawoPf0T+ZnVj+oQlL1hy0TVHu3VutbA0vx 8xeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784793004; x=1785397804; 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=4IEwjjGUSei6Ojejw9AeCmT16n0CwbrOZSGJzNcMlIs=; b=W4kMCLi4v38RZ7sekOooV1z68dBhMZMgEgihK4ABxOyQZcXam5443qTFFRoPBLLmPT Bz+xKlZPADSUC04P76XOZQZy+qMIeY7lVQENkECDEMyfyv4UxLO1YjUcA6byVxvwV8kO KHDNilEUJY+hD5jwqcCP9Tt1LCPKBRMR77tpiqtYP3KlrUf45mtg8QXnQgdaxAtOCVqd IVIOx8wQMhXrMisAVzyFd2ENeynQ0UbSXiL8akpXJ99gvcDO7Tq285+BHOT/Sdy/Olc0 9h/dy2sIgFnGzvkpqdwIBRz6Vs4OjFlg080+FchjL2CatHsLYSUkzD6gOqmqfdggaU7k HQCA== X-Forwarded-Encrypted: i=1; AHgh+RqQZjPHsU83EptTw4uTqG5Iq0Bp1wJxRAkCRCJNEVlU0c0tl8TRauATtPQNP4YJoLbKopTYKXSCJ1MefGM=@vger.kernel.org X-Gm-Message-State: AOJu0YwpRBsFtf6EDRHLkSQG+rr19X4dPJH2QD9Z+e0rG2RVw3rP6pMx zt7eAdyNdS04amp5nPtksazoRXjwFXQdec6vcRd6kfy1ZfdxDQtliSdMSXuAQXriCaL8Y6yZ3do d3lhK240viQ== X-Received: from dlyy29.prod.google.com ([2002:a05:7022:69d:b0:13c:e9f1:794]) (user=jyescas job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:1dc6:b0:38e:5ac1:9517 with SMTP id 98e67ed59e1d1-38ec6495a0amr2170050a91.3.1784793004352; Thu, 23 Jul 2026 00:50:04 -0700 (PDT) Date: Thu, 23 Jul 2026 00:47:10 -0700 In-Reply-To: <20260723074854.1013941-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: <20260723074854.1013941-1-jyescas@google.com> X-Mailer: git-send-email 2.55.0.229.g6434b31f56-goog Message-ID: <20260723074854.1013941-7-jyescas@google.com> Subject: [RFC PATCH 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, 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 --- mm/page_alloc_hogger.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/mm/page_alloc_hogger.c b/mm/page_alloc_hogger.c index 1cec9ec5e35e..de86b8526338 100644 --- a/mm/page_alloc_hogger.c +++ b/mm/page_alloc_hogger.c @@ -127,6 +127,28 @@ struct page_alloc { struct kmem_cache *req_alloc_cache; struct kmem_cache *page_alloc_cache; +/** + * create_page_orders_subdirs() - Creates a directory for each page order inside + * the zone directory. Once that the page order directory is created, it creates + * a directory for each migrate type. + */ +static inline int create_page_orders_subdirs(struct dentry *zonedir, + int node_idx, int zone_idx, + struct zone *zone) +{ + 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. Once that the zone directory is created, it creates a directory for @@ -143,6 +165,7 @@ static inline int create_zones_subdirs(struct dentry *nodedir, int node_idx, struct zone *node_zones = pgdata->node_zones; int zone_idx; char dirname[24]; + int ret; for (zone = node_zones, zone_idx = 0; zone - node_zones < MAX_NR_ZONES; ++zone, ++zone_idx) { @@ -157,6 +180,11 @@ static inline int create_zones_subdirs(struct dentry *nodedir, int node_idx, zonedir = debugfs_create_dir(dirname, nodedir); if (IS_ERR(zonedir)) return PTR_ERR(zonedir); + + ret = create_page_orders_subdirs(zonedir, node_idx, zone_idx, + zone); + if (ret) + return ret; } return 0; -- 2.55.0.229.g6434b31f56-goog