drm_pagemap_populate_mm(9)
π drm_pagemap_populate_mm(9) β Kernel API Manual π
okay so bestie, we're looking at drm_pagemap_populate_mm(9) from the Kernel API Manual, and it's lowkey a whole moment. π«Ά Let's get into it.
β¨ NAME β¨
drm_pagemap_populate_mm β Populate a virtual range with device memory pages β¨
πΈ SYNOPSIS πΈ
int drm_pagemap_populate_mm (struct drm_pagemap *dpagemap , unsigned
long start , unsigned long end , struct mm_struct *mm , unsigned long
timeslice_ms );
π ARGUMENTS π
dpagemapβ Pointer to thedrm_pagemapmanaging the device memory. That's the main character doing the managing. πstartβ Start of the virtual range to populate.endβ End of the virtual range to populate.mmβ Pointer to the virtual address space.timeslice_msβ The time requested for the migrated pagemap pages to be present inmmbefore being allowed to be migrated back. Basically the "stay here for this long" timer, fr fr. β³
π¦ DESCRIPTION π¦
Attempt to populate a virtual range with device memory pages, clearing them or migrating data from the existing pages if necessary. The function is best effort only, and implementations may vary in how hard they try to satisfy the request. So like, no cap: it's gonna try, but the effort level can vary depending on the implementation. π
π₯ RETURN π₯
0 on success, negative error code on error.
If the hardware device was removed / unbound the function will return -ENODEV. Bestie, that's the "device said bye" era. π
π SEE ALSO π
Kernel file ./drivers/gpu/drm/drm_pagemap.cβOverview(9)Migration(9)struct drm_pagemap_zdd(9)drm_pagemap_zdd_alloc(9)drm_pagemap_zdd_get(9)drm_pagemap_zdd_destroy(9)drm_pagemap_zdd_put(9)drm_pagemap_migration_unlock_put_folio(9)drm_pagemap_migration_unlock_put_pages(9)drm_pagemap_get_devmem_page(9)drm_pagemap_migrate_map_device_private_pages(9)struct drm_pagemap_iova_state(9)drm_pagemap_migrate_map_system_pages(9)drm_pagemap_migrate_populate_src_pages(9)drm_pagemap_migrate_unmap_pages(9)struct migrate_range_loc(9)drm_pagemap_cpages(9)drm_pagemap_migrate_to_devmem(9)drm_pagemap_migrate_populate_ram_pfn(9)struct drm_pagemap_dev_hold(9)drm_pagemap_reinit(9)drm_pagemap_init(9)drm_pagemap_put(9)drm_pagemap_page_get_flags(9)drm_pagemap_page_set_flags(9)drm_pagemap_retire_migrated_pages(9)drm_pagemap_skip_retired_pages(9)drm_pagemap_evict_to_ram(9)__drm_pagemap_migrate_to_ram(9)drm_pagemap_folio_free(9)drm_pagemap_migrate_to_ram(9)drm_pagemap_pagemap_ops_get(9)drm_pagemap_devmem_init(9)drm_pagemap_page_to_dpagemap(9)
xoxo, your kernel bestie π
β this iconic little page is brought to you by source/version ./drivers/gpu/drm, dated October 2026, for drm_pagemap_populate_mm(9) π
π¦ 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