drm_pagemap_acquire_owner(9)
π drm_pagemap_acquire_owner(9) β like, the interconnect group join era
okay bestie, welcome to the kernel API manual page for drm_pagemap_acquire_owner(9) β yes that's the whole title, she's long, she's iconic, we love her π
β¨ NAME β¨
drm_pagemap_acquire_owner β join an interconnect group π«Ά
π¦ SYNOPSIS π¦
int drm_pagemap_acquire_owner (struct drm_pagemap_peer *peer , struct
drm_pagemap_owner_list *owner_list , interconnect_fn has_interconnect );
πΈ ARGUMENTS πΈ
peerβ astruct drm_pagemap_peerthat's keeping track of the device interconnect, she's got the receipts πowner_listβ pointer to the owner_list, which keeps track of literally all the interconnectshas_interconnectβ the callback function that figures out whether two peers have a fast local interconnect. the vibe checker, basically β‘
π DESCRIPTION π
so what happens is: drm_pagemap_acquire_owner repeatedly calls has_interconnect for peer and the other peers chilling on owner_list, to figure out the set of peers that peer has a fast interconnect with. ngl that set is gonna share a common struct drm_pagemap_owner, and when the call returns successfully, peer::owner points at that struct β holding a reference, no cap β and peer gets registered in owner_list. slay π
and if peer has no fast interconnects to any other peers? then a brand new unique struct drm_pagemap_owner gets allocated just for it π β and that one can totally be shared later with other peers that, at some future point, turn out to have a fast interconnect with peer. main character energy, but make it shareable β¨
π¨ super important bestie: whenpeeris done participating in an interconnect group, you must calldrm_pagemap_release_ownerto drop the reference on thestruct drm_pagemap_owner. don't leave her hanging π
π₯ RETURN π₯
0 on success, and a negative error code on failure. that's it, that's the whole thing π
π SEE ALSO π
- kernel file
./drivers/gpu/drm/drm_pagemap_util.c struct drm_pagemap_cache(9)struct drm_pagemap_shrinker(9)drm_pagemap_cache_create_devm(9)Cache lookup(9)drm_pagemap_cache_lock_lookup(9)drm_pagemap_cache_unlock_lookup(9)drm_pagemap_get_from_cache(9)drm_pagemap_cache_set_pagemap(9)drm_pagemap_get_from_cache_if_active(9)drm_pagemap_shrinker_might_lock(9)drm_pagemap_shrinker_add(9)drm_pagemap_shrinker_create_devm(9)struct drm_pagemap_owner(9)drm_pagemap_release_owner(9)interconnect_fn(9)
and that's the page, bestie π§π sign-off time: this lil beauty lives over in ./drivers/gpu/drm, dated October 2026, and it's filed under drm_pagemap_acquire_owner(9). obsessed. periodt. π
π¦ 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