]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mm: constify compound_order() and page_size()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 10 Sep 2025 14:29:17 +0000 (15:29 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 21 Sep 2025 21:22:32 +0000 (14:22 -0700)
Patch series "Small cleanups".

These small cleanups can be applied now to reduce conflicts during the
next merge window.  They're all from various efforts to split struct page
from other memdescs.  Thanks to Vlastimil for the suggestion.

This patch (of 3):

These functions do not modify their arguments.  Telling the compiler this
may improve code generation, and allows us to pass const arguments from
other functions.

Link: https://lkml.kernel.org/r/20250910142923.2465470-1-willy@infradead.org
Link: https://lkml.kernel.org/r/20250910142923.2465470-2-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/mm.h

index 8f5b4df9b1667a6f6b19993f3c528b2a21706d1b..fcb1e72eea408aaf1693d1702e869e2a71dede7e 100644 (file)
@@ -1036,9 +1036,9 @@ static inline unsigned long folio_large_nr_pages(const struct folio *folio)
  * set before the order is initialised, or this may be a tail page.
  * See compaction.c for some good examples.
  */
-static inline unsigned int compound_order(struct page *page)
+static inline unsigned int compound_order(const struct page *page)
 {
-       struct folio *folio = (struct folio *)page;
+       const struct folio *folio = (struct folio *)page;
 
        if (!test_bit(PG_head, &folio->flags.f))
                return 0;
@@ -1256,7 +1256,7 @@ int folio_mc_copy(struct folio *dst, struct folio *src);
 unsigned long nr_free_buffer_pages(void);
 
 /* Returns the number of bytes in this potentially compound page. */
-static inline unsigned long page_size(struct page *page)
+static inline unsigned long page_size(const struct page *page)
 {
        return PAGE_SIZE << compound_order(page);
 }