mapping_pmd_folio_support(9)
β¨ mapping_pmd_folio_support(9) β¨
okay so this is a page from the Kernel API Manual, and honestly it's a little one but it's doing an important job, so let's give it the attention it deserves π«Ά
π NAME π
mapping_pmd_folio_support β check if a mapping supports PMD-sized folio
πΈ SYNOPSIS πΈ
bool mapping_pmd_folio_support (const struct address_space *mapping );
π ARGUMENTS π
mappingβ theaddress_space, bestie. that's the thing you're asking about π
π¦ DESCRIPTION π¦
so here's the tea: some mappings support large folios, right? but that does not automatically mean they support PMD-sized folios. nope. not the same thing, don't conflate them π
this function literally just checks whether a mapping supports PMD-sized folios. that's it. that's the whole vibe check β¨
for example, khugepaged needs this info before it even attempts to collapse THPs β so it's out here asking "hey, do you support PMD-sized folios or not" before doing anything, which is honestly so valid of it π
π RETURN π
Trueif PMD-sized folios are supported π₯- otherwise
falseπ
π SEE ALSO π
all the related lore lives in ./include/linux/pagemap.h, and here's the whole squad:
filemap_set_wb_err(9)filemap_check_wb_err(9)filemap_sample_wb_err(9)file_sample_sb_err(9)mapping_set_error(9)mapping_set_large_folios(9)mapping_align_index(9)folio_flush_mapping(9)folio_inode(9)folio_attach_private(9)folio_change_private(9)folio_detach_private(9)fgf_t(9)fgf_set_order(9)write_begin_get_folio(9)filemap_get_folio(9)filemap_lock_folio(9)filemap_grab_folio(9)find_get_page(9)find_lock_page(9)find_or_create_page(9)grab_cache_page_nowait(9)folio_next_index(9)folio_next_pos(9)folio_file_page(9)folio_contains(9)page_pgoff(9)folio_pos(9)linear_page_delta(9)linear_page_index(9)linear_anon_page_index(9)folio_trylock(9)folio_lock(9)lock_page(9)folio_lock_killable(9)filemap_range_needs_writeback(9)struct readahead_control(9)page_cache_sync_readahead(9)page_cache_async_readahead(9)readahead_folio(9)readahead_pos(9)readahead_length(9)readahead_index(9)readahead_count(9)readahead_batch_length(9)folio_mkwrite_check_truncate(9)i_blocks_per_folio(9)
ngl the ./include/linux directory is where all the magic happens, and this page is dated October 2026 β so like, futuristic behavior honestly π
β¨
k that's the whole page, ily, go read your pagemap header ππ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms