mesa/src/virtio
Dmitry Osipenko b9ad22d24e virtio/vdrm: Fix lockup in vdrm_host_sync()
The vdrm_execbuf() missed to set the seqno field for requests sent to host.
This causes vdrm_host_sync() to lock up due to the unset seqno in a case
where two or more threads are using vdrm_execbuf() and vdrm_send_req()
concurrently, like in this scenario:

	thread1: vdrm_send_req()  shmem->seqno=1 req->seqno=2
	thread2: vdrm_execbuf()   shmem->seqno=1 req->seqno=0
	thread1: vdrm_host_sync() shmem->seqno=0 req->seqno=2

Fix the lockup by setting the seqno in vdrm_execbuf().

Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27021>
2024-01-12 16:53:59 +00:00
..
ci ci: drop containers, builds, and tests from post-merge pipeline 2023-12-06 08:26:04 +00:00
vdrm virtio/vdrm: Fix lockup in vdrm_host_sync() 2024-01-12 16:53:59 +00:00
venus-protocol venus: switch to vn_ring as the protocol interface - part 3 2023-12-08 04:06:37 +00:00
virtio-gpu virgl: Only send the same amount of data than declared in pipe_sampler_state 2024-01-04 11:00:12 +00:00
vtest venus: rename sync_queue -> timeline 2022-12-16 21:12:38 +00:00
vulkan venus: allow to retrieve pipeline cache on TLS ring 2024-01-11 06:05:01 +00:00
meson.build virtio: Add vdrm native-context helper 2023-11-04 03:00:04 +00:00