virgl/ci: Setup virtio-vsock based IPC
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Tue, 8 Feb 2022 20:48:39 +0000 (22:48 +0200)
committerMarge Bot <emma+marge@anholt.net>
Thu, 17 Feb 2022 06:32:30 +0000 (06:32 +0000)
commit9ef8af357ddabef47e25414a1ab96e46273a01d1
treefbe1bb54d32c502a59f4744711029a200e4fa2d8
parentfcce90a095e0d36d2bc1397202f405e529950137
virgl/ci: Setup virtio-vsock based IPC

The mechanism currently used to pass data from the dEQP child process
executed in a crosvm guest environment towards the deqp-runner wrapper
script that starts the crosvm instance is based on creating, writing
and reading regular files.

In addition to the main drawback of using the storage, this approach
is potentially unreliable because the data cannot be transferred in
real-time and there is no control on ending the transmission. It also
requires a forced sleep for syncing the content, while the minimum
amount of time necessary to wait cannot be easily and safely
determined.

Replace this with an IPC based on the virtio transport for virtual
sockets (virtio-vsock).

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14995>
.gitlab-ci/crosvm-init.sh
.gitlab-ci/crosvm-runner.sh