linux-stable/drivers/infiniband/ulp
Sagi Grimberg ba943fb237 IB/iser: Rewrite bounce buffer code path
In some rare cases, IO operations may be not aligned to page
boundaries. This prevents iser from performing fast memory
registration. In order to overcome that iser uses a bounce
buffer to carry the transaction. We basically allocate a buffer
in the size of the transaction and perform a copy.

The buffer allocation using kmalloc is too restrictive since it
requires higher order (atomic) allocations for large transactions
(which may result in memory exhaustion fairly fast for some workloads).
We rewrite the bounce buffer code path to allocate scattered pages
and perform a copy between the transaction sg and the bounce sg.

Reported-by: Alex Lyakas <alex@zadarastorage.com>
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-04-15 16:07:14 -04:00
..
ipoib infiniband/ipoib: implement ndo_get_iflink 2015-04-02 14:05:01 -04:00
iser IB/iser: Rewrite bounce buffer code path 2015-04-15 16:07:14 -04:00
isert iscsi/iser-target: Support multi-sequence sendtargets text response 2015-02-12 11:24:29 -08:00
srp SCSI for-linus on 20141220 2014-12-20 13:42:57 -08:00
srpt ib_srpt: wait_for_completion_timeout does not return negative status 2015-01-20 15:48:17 -08:00
Makefile IB: Allow build of hw/ and ulp/ subdirectories independently 2014-06-02 14:51:12 -07:00