Christoph Hellwig c53c6d6a68 scatterlist: allow chaining to preallocated chunks
Blk-mq drivers usually preallocate their S/G list as part of the request,
but if we want to support the very large S/G lists currently supported by
the SCSI code that would tie up a lot of memory in the preallocated request
pool.  Add support to the scatterlist code so that it can initialize a
S/G list that uses a preallocated first chunks and dynamically allocated
additional chunks.  That way the scsi-mq code can preallocate a first
page worth of S/G entries as part of the request, and dynamically extend
the S/G list when needed.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Webb Scales <webbnh@hp.com>
Acked-by: Jens Axboe <axboe@kernel.dk>
Tested-by: Bart Van Assche <bvanassche@acm.org>
Tested-by: Robert Elliott <elliott@hp.com>
2014-07-25 17:16:21 -04:00
..
2014-06-23 14:12:01 -04:00
2013-09-10 13:03:41 -07:00
2014-06-04 16:54:19 -07:00
2014-05-24 07:28:01 +09:00
2014-04-30 19:49:37 +01:00
2014-05-05 09:09:14 +02:00
2014-05-05 09:09:14 +02:00
2014-05-05 09:09:14 +02:00
2013-06-18 13:48:45 +02:00
2013-04-29 18:28:42 -07:00