mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-07 17:20:21 +01:00
The default vn_relax is mainly targeting Vulkan commands expecting a rely like object creation and property queries. The defined relax reason here is VN_RELAX_REASON_RING_SPACE. The polling strategy involves more busy waits to overcome sleep penalty affecting cpu utilization, as well as an edge case for Android system server which forces to sleep longer even with trivial hrtimer interval. However, for the below relax reasons: - VN_RELAX_REASON_RING_SPACE - VN_RELAX_REASON_FENCE - VN_RELAX_REASON_SEMAPHORE - VN_RELAX_REASON_QUERY It's a waste of cpu cycles if we do more busy waits if the initial polled signals are not "ready". Having less busy waits there allows to jump to higher order of sleeps sooner to disturb the scheduler less until signaled. Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28287> |
||
|---|---|---|
| .. | ||
| ci | ||
| vdrm | ||
| venus-protocol | ||
| virtio-gpu | ||
| vtest | ||
| vulkan | ||
| meson.build | ||