[RFC PATCH 0/3] target: try satisfying memory requests with higher-order allocations

From: Paolo Bonzini
Date: Wed Sep 05 2012 - 11:13:48 EST


Hi all,

while testing PSCSI I noticed that even requests for a smallish amount
of data (approximately 700 KB) failed due to an excessive number of
segments in the request. In fact, using alloc_page resulted in a
completely fragmented request, with no merging of consecutive pages
at all.

This patch series fixes this problem by using higher-order allocations
to build the data scatterlist. The problem is that iscsi assumes that the
scatterlist consists of single pages, which is not true anymore. So
patch 2 has to introduce some relatively complicated changes to
iscsi_map_iovec and iscsi_unmap_iovec.

While doing this, I noticed something strange in iscsit_do_crypto_hash_sg.
Patch 1 adds a warning about it.

The approach may be completely wrong and it needs more testing anyway.
Please review!

Paolo

Paolo Bonzini (3):
tcm_iscsi: warn on incorrect precondition for iscsit_do_crypto_hash_sg
tcm_iscsi: support multiple sizes in the scatterlist
target: try satisfying memory requests with contiguous blocks

drivers/target/iscsi/iscsi_target.c | 106 +++++++++++++++++++++++++-----
drivers/target/iscsi/iscsi_target_core.h | 2 +-
drivers/target/target_core_transport.c | 58 ++++++++++++++---
3 files changed, 138 insertions(+), 28 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/