folio_next(9)
π NAME π
folio_next β move to the next physical folio. okay bestie, this is folio_next(9) from the Kernel API Manual, and it's here to help you scoot from one folio to the next when your memory is actually physically contiguous. β¨
β¨ SYNOPSIS β¨
No cap, here's the exact signature:
struct folio * folio_next (struct folio *folio );
πΈ ARGUMENTS πΈ
folioβ the folio we're currently operating on. That's your main character folio right now, bestie. π«Ά
π DESCRIPTION π
Okay so picture this: you've got physically contiguous memory that may span more than one folio β like, for example, a struct bio_vec β and you need to move from one folio to the next. Use this function for that, periodt. It's giving βnext physical folio, please.β π
But do not use it if the memory is only virtually contiguous, because the folios are almost certainly not adjacent to each other. The vibes will be off and the whole thing will not slay. This function is the folio equivalent to writing page++. Iconic. π
π¦ CONTEXT π¦
We assume that the folios are refcounted and/or locked at a higher level, and this function does not adjust the reference counts. So don't expect a refcount glow-up here β that's not this function's job. No cap. π
π₯ RETURN π₯
The next struct folio. That's the whole return, bestie. π
π SEE ALSO π
Kernel file ./include/linux/mm.h is home base, and the whole squad is: folio_page_idx(9), vma_flag_t(9), fault_flag_allow_retry_first(9), vma_kernel_pagesize(9), folio_order(9), folio_reset_order(9), folio_mapcount(9), folio_mapped(9), thp_order(9), thp_size(9), folio_get(9), folio_put(9), folio_put_refs(9), folios_put(9), vma_flags_is_cow_mapping(9), vma_is_cow_mapping(9), vma_desc_is_cow_mapping(9), folio_pfn(9), folio_mk_pte(9), folio_mk_pmd(9), folio_mk_pud(9), folio_maybe_dma_pinned(9), is_zero_page(9), is_zero_folio(9), folio_nr_pages(9), folio_shift(9), folio_size(9), folio_maybe_mapped_shared(9), folio_expected_ref_count(9), zap_vma(9), ptdesc_address(9), ptdesc_set_kernel(9), ptdesc_clear_kernel(9), ptdesc_test_kernel(9), pagetable_alloc(9), pagetable_free(9), vma_lookup(9), vma_start_pgoff(9), vma_end_pgoff(9), vma_last_pgoff(9), vma_start_anon_pgoff(9), vma_end_anon_pgoff(9), vma_last_anon_pgoff(9), mmap_action_remap(9), mmap_action_remap_full(9), mmap_action_ioremap(9), mmap_action_ioremap_full(9), mmap_action_simple_ioremap(9), mmap_action_map_kernel_pages(9), mmap_action_map_kernel_pages_full(9), range_is_subset(9), range_in_vma(9), range_in_vma_desc(9), clear_pages(9).
byeee π β source/version ./include/linux, date October 2026. go be iconic with your folios π«Ά
π¦ 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