i915_unalig...mcpy_from_wc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i915_unaligned_memcpy_from_wc πŸ’…

ok so this is a page from the Kernel API Manual bestie, and it's about one very specific little copy function. buckle up, it's short but it's iconic ✨


🌸 NAME 🌸

i915_unaligned_memcpy_from_wc β€” the girlies said "copy from WC but like... make it fast, and don't be weird about alignment" πŸ’«


πŸ¦‹ SYNOPSIS πŸ¦‹

void i915_unaligned_memcpy_from_wc (void *dst , const void *src ,
       unsigned long len );

πŸŽ€ ARGUMENTS πŸŽ€

  • dst β€” the destination pointer, aka where the bytes are going 🫢
  • src β€” the source pointer, aka where the bytes are coming from ✨
  • len β€” how many bytes you're copying, literally just a count, no vibes attached

πŸ’– DESCRIPTION πŸ’–

so this is basically i915_memcpy_from_wc's messier little sibling, and ngl she is so real for that. she copies len bytes from src to dst using non-temporal instructions where available β€” yes bestie, the fast ones, we love to see it πŸ”₯

the whole point of the "unaligned" variant is that she accepts that her arguments may not be aligned. she's not gonna make a whole thing of it, she's not gonna throw a fit, she's just gonna do the copy. πŸ’…

⚠️ but here's the catch, and it's a real one: the arguments must be valid for the potential 16-byte read past the end. so like, yes she's flexible about alignment, but she will read up to 16 bytes past the end of what you gave her, and you need that region to be actually valid. no cap, do not skip this part. 😭

🧚 SEE ALSO 🧚

  • Kernel file ./drivers/gpu/drm/i915/i915_memcpy.c β€” the mothership itself 🏠
  • i915_memcpy_from_wc(9) β€” the aligned one, the original, the main character πŸ‘‘

ok that's the whole page, short and sweet, she ate and left no crumbs πŸ“

and for the credits moment β€” this one lives over in ./drivers/gpu/drm/i915, dated October 2026, and the header/footer both spell the name as i915_unalig...mcpy_from_wc(9) because even manpage titles deserve a little truncation drama πŸ’€πŸ’œ slay, bye! πŸ¦‹

πŸ“¦ where this page comes from