Skip to content

Commit 9d003de

Browse files
Matthew Wilcox (Oracle)akpm00
authored andcommitted
mm: remove page->order
We already use page->private for storing the order of a page while it's in the buddy allocator system; extend that to also storing the order while it's in the pcp_llist. Link: https://lkml.kernel.org/r/20250910142923.2465470-4-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Acked-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent 6fd893a commit 9d003de

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

include/linux/mm_types.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,7 @@ struct page {
9797
/* Or, free page */
9898
struct list_head buddy_list;
9999
struct list_head pcp_list;
100-
struct {
101-
struct llist_node pcp_llist;
102-
unsigned int order;
103-
};
100+
struct llist_node pcp_llist;
104101
};
105102
struct address_space *mapping;
106103
union {
@@ -111,7 +108,8 @@ struct page {
111108
* @private: Mapping-private opaque data.
112109
* Usually used for buffer_heads if PagePrivate.
113110
* Used for swp_entry_t if swapcache flag set.
114-
* Indicates order in the buddy system if PageBuddy.
111+
* Indicates order in the buddy system if PageBuddy
112+
* or on pcp_llist.
115113
*/
116114
unsigned long private;
117115
};

mm/page_alloc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1520,7 +1520,7 @@ static void add_page_to_zone_llist(struct zone *zone, struct page *page,
15201520
unsigned int order)
15211521
{
15221522
/* Remember the order */
1523-
page->order = order;
1523+
page->private = order;
15241524
/* Add the page to the free list */
15251525
llist_add(&page->pcp_llist, &zone->trylock_free_pages);
15261526
}
@@ -1549,7 +1549,7 @@ static void free_one_page(struct zone *zone, struct page *page,
15491549

15501550
llnode = llist_del_all(llhead);
15511551
llist_for_each_entry_safe(p, tmp, llnode, pcp_llist) {
1552-
unsigned int p_order = p->order;
1552+
unsigned int p_order = p->private;
15531553

15541554
split_large_buddy(zone, p, page_to_pfn(p), p_order, fpi_flags);
15551555
__count_vm_events(PGFREE, 1 << p_order);

0 commit comments

Comments
 (0)