[SCSI] mpt2sas: Create a pool of chain buffer instead of dedicated per IOs
authorKashyap, Desai <kashyap.desai@lsi.com>
Fri, 12 Nov 2010 23:04:06 +0000 (04:34 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 21 Dec 2010 18:24:04 +0000 (12:24 -0600)
commit35f805b52c94f8e6cb22907ef32517132a15cb96
treeeb26ec6db8b4093d5659eb0f351b1dbc228c5359
parent6cb8ef573fd4c2bd72248f492fe336133660148d
[SCSI] mpt2sas: Create a pool of chain buffer instead of dedicated per IOs

Create a pool of chain buffers, instead of dedicated per IO:
This enahancment is to address memory allocation failure when asking
for more than 2300 IOs per host.   There is just not enough contiquious
DMA physical memory to make one single allocation to hold both message
frames and chain buffers when asking for more than 2300 request. In order
to address this problem we will have to allocate memory for each chain
buffer in a seperate individual memory allocation, placing each chain
element of 128 bytes onto a pool of available chains, which can be
shared amoung all request.
Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/mpt2sas/mpt2sas_base.c
drivers/scsi/mpt2sas/mpt2sas_base.h
drivers/scsi/mpt2sas/mpt2sas_scsih.c