Re: [LSF/MM/BPF BOF] Userspace command aborts
From: Hannes Reinecke <hare@suse.de>
Date: 2023-02-18 09:50:25
Also in:
linux-nvme, linux-scsi
On 2/17/23 19:53, Chaitanya Kulkarni wrote:
On 2/16/23 08:40, Keith Busch wrote:quoted
On Thu, Feb 16, 2023 at 12:50:03PM +0100, Hannes Reinecke wrote:quoted
Hi all, it has come up in other threads, so it might be worthwhile to have its own topic: Userspace command aborts As it stands we cannot abort I/O commands from userspace. This is hitting us when running in a virtual machine: The VM sets a timeout when submitting a command, but that information can't be transmitted to the VM host. The VM host then issues a different command (with another timeout), and again that timeout can't be transmitted to the attached devices. So when the VM detects a timeout, it will try to issue an abort, but that goes nowhere as the VM host has no way to abort commands from userspace. So in the end the VM has to wait for the command to complete, causing stalls in the VM if the host had to undergo error recovery or something.Aborts are racy. A lot of hardware implements these as a no-op, too.I'd avoid implementing userspace aborts and fix things in spec first.
What's there to fix in the spec for aborts? You can't avoid the fact that aborts might be sent just at the time when the completion arrives ... Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.de +49 911 74053 688 SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew Myers, Andrew McDonald, Martje Boudien Moerman