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