Message ID | 20220531150611.1303156-2-willy@infradead.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Allocate and free frozen pages | expand |
On 31.05.22 17:06, Matthew Wilcox (Oracle) wrote: > Both callers pass in page_zone(page), so move that into free_one_page(). > Shrinks page_alloc.o by 196 bytes with allmodconfig. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> > --- > mm/page_alloc.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 29d775b60cf9..68bb77900f67 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1529,11 +1529,10 @@ static void free_pcppages_bulk(struct zone *zone, int count, > spin_unlock(&zone->lock); > } > > -static void free_one_page(struct zone *zone, > - struct page *page, unsigned long pfn, > - unsigned int order, > - int migratetype, fpi_t fpi_flags) > +static void free_one_page(struct page *page, unsigned long pfn, > + unsigned int order, int migratetype, fpi_t fpi_flags) > { > + struct zone *zone = page_zone(page); > unsigned long flags; > > spin_lock_irqsave(&zone->lock, flags); > @@ -3448,7 +3447,7 @@ void free_unref_page(struct page *page, unsigned int order) > migratetype = get_pcppage_migratetype(page); > if (unlikely(migratetype >= MIGRATE_PCPTYPES)) { > if (unlikely(is_migrate_isolate(migratetype))) { > - free_one_page(page_zone(page), page, pfn, order, migratetype, FPI_NONE); > + free_one_page(page, pfn, order, migratetype, FPI_NONE); > return; > } > migratetype = MIGRATE_MOVABLE; > @@ -3484,7 +3483,7 @@ void free_unref_page_list(struct list_head *list) > migratetype = get_pcppage_migratetype(page); > if (unlikely(is_migrate_isolate(migratetype))) { > list_del(&page->lru); > - free_one_page(page_zone(page), page, pfn, 0, migratetype, FPI_NONE); > + free_one_page(page, pfn, 0, migratetype, FPI_NONE); > continue; > } > } Reviewed-by: David Hildenbrand <david@redhat.com>
On 2022/5/31 23:06, Matthew Wilcox (Oracle) wrote: > Both callers pass in page_zone(page), so move that into free_one_page(). > Shrinks page_alloc.o by 196 bytes with allmodconfig. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Miaohe Lin <linmiaohe@huawei.com> Thanks! > --- > mm/page_alloc.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 29d775b60cf9..68bb77900f67 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1529,11 +1529,10 @@ static void free_pcppages_bulk(struct zone *zone, int count, > spin_unlock(&zone->lock); > } > > -static void free_one_page(struct zone *zone, > - struct page *page, unsigned long pfn, > - unsigned int order, > - int migratetype, fpi_t fpi_flags) > +static void free_one_page(struct page *page, unsigned long pfn, > + unsigned int order, int migratetype, fpi_t fpi_flags) > { > + struct zone *zone = page_zone(page); > unsigned long flags; > > spin_lock_irqsave(&zone->lock, flags); > @@ -3448,7 +3447,7 @@ void free_unref_page(struct page *page, unsigned int order) > migratetype = get_pcppage_migratetype(page); > if (unlikely(migratetype >= MIGRATE_PCPTYPES)) { > if (unlikely(is_migrate_isolate(migratetype))) { > - free_one_page(page_zone(page), page, pfn, order, migratetype, FPI_NONE); > + free_one_page(page, pfn, order, migratetype, FPI_NONE); > return; > } > migratetype = MIGRATE_MOVABLE; > @@ -3484,7 +3483,7 @@ void free_unref_page_list(struct list_head *list) > migratetype = get_pcppage_migratetype(page); > if (unlikely(is_migrate_isolate(migratetype))) { > list_del(&page->lru); > - free_one_page(page_zone(page), page, pfn, 0, migratetype, FPI_NONE); > + free_one_page(page, pfn, 0, migratetype, FPI_NONE); > continue; > } > } >
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 29d775b60cf9..68bb77900f67 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1529,11 +1529,10 @@ static void free_pcppages_bulk(struct zone *zone, int count, spin_unlock(&zone->lock); } -static void free_one_page(struct zone *zone, - struct page *page, unsigned long pfn, - unsigned int order, - int migratetype, fpi_t fpi_flags) +static void free_one_page(struct page *page, unsigned long pfn, + unsigned int order, int migratetype, fpi_t fpi_flags) { + struct zone *zone = page_zone(page); unsigned long flags; spin_lock_irqsave(&zone->lock, flags); @@ -3448,7 +3447,7 @@ void free_unref_page(struct page *page, unsigned int order) migratetype = get_pcppage_migratetype(page); if (unlikely(migratetype >= MIGRATE_PCPTYPES)) { if (unlikely(is_migrate_isolate(migratetype))) { - free_one_page(page_zone(page), page, pfn, order, migratetype, FPI_NONE); + free_one_page(page, pfn, order, migratetype, FPI_NONE); return; } migratetype = MIGRATE_MOVABLE; @@ -3484,7 +3483,7 @@ void free_unref_page_list(struct list_head *list) migratetype = get_pcppage_migratetype(page); if (unlikely(is_migrate_isolate(migratetype))) { list_del(&page->lru); - free_one_page(page_zone(page), page, pfn, 0, migratetype, FPI_NONE); + free_one_page(page, pfn, 0, migratetype, FPI_NONE); continue; } }
Both callers pass in page_zone(page), so move that into free_one_page(). Shrinks page_alloc.o by 196 bytes with allmodconfig. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- mm/page_alloc.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)