]> git.baikalelectronics.ru Git - kernel.git/commit
storvsc: get rid of bounce buffer
authorVitaly Kuznetsov <vkuznets@redhat.com>
Thu, 1 Oct 2015 21:53:17 +0000 (14:53 -0700)
committerJames Bottomley <JBottomley@Odin.com>
Tue, 10 Nov 2015 00:26:43 +0000 (16:26 -0800)
commit63d7d319168e462d720a42532ecc36707d444f56
treee247946d2e7922bca1565086e66497315e6d2841
parent465a122681674617ea2270f78b6663e575e6f330
storvsc: get rid of bounce buffer

Storvsc driver needs to ensure there are no 'holes' in the presented
sg list (all segments in the middle of the list need to be of PAGE_SIZE).
When a hole is detected storvsc driver creates a 'bounce sgl' without
holes and copies data over with copy_{to,from}_bounce_buffer() functions.
Setting virt_boundary_mask to PAGE_SIZE - 1 guarantees we'll never see
such holes so we can significantly simplify the driver. This is also
supposed to bring us some performance improvement for certain workloads
as we eliminate copying.

Reported-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Tested-by: Alex Ng <alexng@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/storvsc_drv.c