Re: [PATCH 1/1] scsi: storvsc: Don't pass unused PFNs to Hyper-V host

From: Martin K. Petersen
Date: Tue May 16 2023 - 22:14:24 EST


On Mon, 15 May 2023 10:20:41 -0700, Michael Kelley wrote:

> In a SCSI request, storvsc pre-allocates space for up to
> MAX_PAGE_BUFFER_COUNT physical frame numbers to be passed to Hyper-V.
> If the size of the I/O request requires more PFNs, a separate memory
> area of exactly the correct size is dynamically allocated.
>
> But when the pre-allocated area is used, current code always passes
> MAX_PAGE_BUFFER_COUNT PFNs to Hyper-V, even if fewer are needed. While
> this doesn't break anything because the additional PFNs are always zero,
> more bytes than necessary are copied into the VMBus channel ring buffer.
> This takes CPU cycles and wastes space in the ring buffer. For a typical
> 4 Kbyte I/O that requires only a single PFN, 248 unnecessary bytes are
> copied.
>
> [...]

Applied to 6.4/scsi-fixes, thanks!

[1/1] scsi: storvsc: Don't pass unused PFNs to Hyper-V host
https://git.kernel.org/mkp/scsi/c/4e81a6cba517

--
Martin K. Petersen Oracle Linux Engineering