i915_perf_poll_locked(9)
π i915_perf_poll_locked β a sweet lil page from the Kernel API Manual
okay bestie, so this one is i915_perf_poll_locked(9) and honestly? It's the glow-up your polling code has been waiting for. It's a poll_wait() but with the right wait queue for a perf stream. iykyk π
β¨ NAME β¨
i915_perf_poll_locked β poll_wait() with a suitable wait queue for stream π
π¦ SYNOPSIS π¦
__poll_t i915_perf_poll_locked (struct i915_perf_stream *stream , struct
file *file , poll_table *wait );
πΈ ARGUMENTS πΈ
streamβ an i915 perf stream π«fileβ an i915 perf stream file, like, the file-y friend of the streamwaitβ the poll state table (it's giving "hold my place in line")
π DESCRIPTION π
So here's the tea, bestie: when userspace wants to poll on an i915 perf stream, this function handles it by calling through to i915_perf_stream_ops->poll_wait, and that call goes to poll_wait with a wait queue that's gonna get woken up whenever there's shiny new stream data. β¨
That's it, that's the whole vibe check. It's a tiny little middle-man and it ate. π
π₯ RETURN π₯
Any poll events that are ready without sleeping. No cap β if it's ready right now, you get it right now, no nap required. π΄β
π SEE ALSO π
okay this list is iconic and also like, extremely long, so buckle up bestie, we're going shopping ποΈ
- Kernel file
./drivers/gpu/drm/i915/i915_perf.c - i915 Perf Overview(9)
- i915 Perf History and Comparison with Core Perf(9)
- OA Tail Pointer Race(9)
- struct perf_open_properties(9)
- oa_buffer_check_unlocked(9)
- append_oa_status(9)
- append_oa_sample(9)
- gen8_append_oa_reports(9)
- gen8_oa_read(9)
- gen7_append_oa_reports(9)
- gen7_oa_read(9)
- i915_oa_wait_unlocked(9)
- i915_oa_poll_wait(9)
- i915_oa_read(9)
- oa_get_render_ctx_id(9)
- oa_put_render_ctx_id(9)
- i915_oa_stream_enable(9)
- i915_oa_stream_disable(9)
- i915_oa_stream_init(9)
- i915_perf_read(9)
- i915_perf_poll(9)
- i915_perf_enable_locked(9)
- i915_perf_disable_locked(9)
- i915_perf_ioctl_locked(9)
- i915_perf_ioctl(9)
- i915_perf_destroy_locked(9)
- i915_perf_release(9)
- i915_perf_open_ioctl_locked(9)
- read_properties_unlocked(9)
- i915_perf_open_ioctl(9)
- i915_perf_register(9)
- i915_perf_unregister(9)
- i915_perf_add_config_ioctl(9)
- i915_perf_remove_config_ioctl(9)
- i915_perf_init(9)
- i915_perf_fini(9)
- i915_perf_ioctl_version(9)
bestie note: this whole thing lives under ./drivers/gpu/drm/i915 π«Ά
and that's the page!! mwah π sourced straight from the ./drivers/gpu/drm/i915 corner of the kernel, dated October 2026, Kernel API Manual energy only. go poll something cute, ily, bye π§ββοΈπ
π¦ 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