Stephen reports that 'make htmldocs' currently issues two warnings: include/linux/mm_types.h:275: warning: Function parameter or member '__filler' not described in 'folio' include/linux/mm_types.h:275: warning: Function parameter or member 'mlock_count' not described in 'folio' Certainly __filler doesn't want documenting there, and all but one use of mlock_count is through page->mlock_count at present: so I think it's best just to remove them both from struct folio for now, and sort out the right way to document folio->mlock_count once that is the one true way. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Fixes: 07ca76067308 ("mm/munlock: maintain page->mlock_count while unevictable") Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> --- include/linux/mm_types.h | 8 +------- mm/swap.c | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) --- 5.18-pre/include/linux/mm_types.h +++ linux/include/linux/mm_types.h @@ -253,13 +253,7 @@ struct folio { struct { /* public: */ unsigned long flags; - union { - struct list_head lru; - struct { - void *__filler; - unsigned int mlock_count; - }; - }; + struct list_head lru; struct address_space *mapping; pgoff_t index; void *private; --- 5.18-pre/mm/swap.c +++ linux/mm/swap.c @@ -1026,13 +1026,13 @@ static void __pagevec_lru_add_fn(struct folio_clear_active(folio); folio_set_unevictable(folio); /* - * folio->mlock_count = !!folio_test_mlocked(folio)? + * page->mlock_count = !!PageMlocked(page)? * But that leaves __mlock_page() in doubt whether another * actor has already counted the mlock or not. Err on the * safe side, underestimate, let page reclaim fix it, rather * than leaving a page on the unevictable LRU indefinitely. */ - folio->mlock_count = 0; + folio_page(folio, 0)->mlock_count = 0; if (!was_unevictable) __count_vm_events(UNEVICTABLE_PGCULLED, nr_pages); }