aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core
diff options
context:
space:
mode:
authorSagi Grimberg <sagig@mellanox.com>2015-04-14 18:08:28 +0300
committerDoug Ledford <dledford@redhat.com>2015-04-15 16:07:14 -0400
commitba943fb237ea48b01e3229f10cdb2a4274978a2d (patch)
tree9a722d640df18d6cc23b0eb2e0164d6824f65683 /drivers/infiniband/core
parentIB/iser: Bump version to 1.6 (diff)
downloadlinux-dev-ba943fb237ea48b01e3229f10cdb2a4274978a2d.tar.xz
linux-dev-ba943fb237ea48b01e3229f10cdb2a4274978a2d.zip
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>
Diffstat (limited to 'drivers/infiniband/core')
0 files changed, 0 insertions, 0 deletions