Re: [RFC PATCH 4/4] virtio-net: sleep instead of busy waiting for cvq command
From: Alvaro Karsz
Date: Thu Dec 22 2022 - 01:44:55 EST
Hi Jason,
Adding timeout to the cvq is a great idea IMO.
> - /* Spin for a response, the kick causes an ioport write, trapping
> - * into the hypervisor, so the request should be handled immediately.
> - */
> - while (!virtqueue_get_buf(vi->cvq, &tmp) &&
> - !virtqueue_is_broken(vi->cvq))
> - cpu_relax();
> + virtqueue_wait_for_used(vi->cvq, &tmp);
Do you think that we should continue like nothing happened in case of a timeout?
Shouldn't we reset the device?
What happens if a device completes the control command after timeout?
Thanks
Alvaro