i915_oa_wait_unlocked(9)
π NAME π
hey bestie, welcome to i915_oa_wait_unlocked(9) β your fave page from the Kernel API Manual π and yes, i915_oa_wait_unlocked handles blocking IO until OA data is available. no cap. π
β¨ SYNOPSIS β¨
int i915_oa_wait_unlocked (struct i915_perf_stream *stream );
πΈ ARGUMENTS πΈ
streamβ an i915-perf stream opened for OA metrics. this is the stream bestie weβre waiting on π«Ά
π¦ DESCRIPTION π¦
okay so picture this: userspace tries to read from a blocking stream FD opened for OA metrics, and this function is the one handling the waiting game π it waits until the hrtimer callback finds a non-empty OA buffer and wakes us up. thatβs the whole vibe. β¨
π NOTE π
ngl, itβs acceptable to have this return with some false positives since any subsequent read handling will return -EAGAIN if there isnβt really data ready for userspace yet. so yeah, a little false-positive moment is not the end of the world π«Ά
β RETURN β
zero on success, or a negative error code. periodt. π
π₯ SEE ALSO π₯
- 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_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_locked(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)
source/version: ./drivers/gpu/drm/i915 π β’ date: October 2026 π β’ page: i915_oa_wait_unlocked(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