git: e51729f608da - main - linuxkpi: Move `release_pages()` to linux_page.c
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 12 May 2025 17:46:48 UTC
The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=e51729f608dae341b82543d33a11d4ba1f36d46a commit e51729f608dae341b82543d33a11d4ba1f36d46a Author: Jean-Sébastien Pédron <dumbbell@FreeBSD.org> AuthorDate: 2025-04-13 10:58:27 +0000 Commit: Jean-Sébastien Pédron <dumbbell@FreeBSD.org> CommitDate: 2025-05-12 17:08:02 +0000 linuxkpi: Move `release_pages()` to linux_page.c We want to avoid putting code managing memory in inline functions in the future. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49810 --- sys/compat/linuxkpi/common/include/linux/mm.h | 3 +++ sys/compat/linuxkpi/common/include/linux/pagemap.h | 9 --------- sys/compat/linuxkpi/common/src/linux_page.c | 9 +++++++++ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index b4c8bf3c1c30..17b7a4137b7a 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -275,6 +275,9 @@ get_page(struct page *page) vm_page_wire(page); } +void linux_release_pages(struct page **pages, int nr); +#define release_pages(pages, nr) linux_release_pages((pages), (nr)) + extern long lkpi_get_user_pages(unsigned long start, unsigned long nr_pages, unsigned int gup_flags, struct page **); diff --git a/sys/compat/linuxkpi/common/include/linux/pagemap.h b/sys/compat/linuxkpi/common/include/linux/pagemap.h index 7244b61257dc..92159f7a2eb8 100644 --- a/sys/compat/linuxkpi/common/include/linux/pagemap.h +++ b/sys/compat/linuxkpi/common/include/linux/pagemap.h @@ -39,15 +39,6 @@ unsigned long linux_invalidate_mapping_pages(vm_object_t obj, pgoff_t start, pgoff_t end); -static inline void -release_pages(struct page **pages, int nr) -{ - int i; - - for (i = 0; i < nr; i++) - put_page(pages[i]); -} - static inline void mapping_clear_unevictable(vm_object_t mapping) { diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index 93aaea01f0df..5114dc708a9e 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -177,6 +177,15 @@ linux_free_pages(struct page *page, unsigned int order) } } +void +linux_release_pages(struct page **pages, int nr) +{ + int i; + + for (i = 0; i < nr; i++) + put_page(pages[i]); +} + vm_offset_t linux_alloc_kmem(gfp_t flags, unsigned int order) {