forked from luck/tmp_suning_uos_patched
scsi: remove scsi_cmd_dma_pool
There is no need for GFP_DMA allocations of the scsi_cmnd structures themselves, all that might be DMAed to or from is the actual payload, or the sense buffers. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.com> Acked-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
0a6ac4ee7c
commit
eeff68c561
|
@ -102,17 +102,10 @@ struct scsi_host_cmd_pool {
|
||||||
struct kmem_cache *cmd_slab;
|
struct kmem_cache *cmd_slab;
|
||||||
unsigned int users;
|
unsigned int users;
|
||||||
char *cmd_name;
|
char *cmd_name;
|
||||||
unsigned int slab_flags;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct scsi_host_cmd_pool scsi_cmd_pool = {
|
static struct scsi_host_cmd_pool scsi_cmd_pool = {
|
||||||
.cmd_name = "scsi_cmd_cache",
|
.cmd_name = "scsi_cmd_cache",
|
||||||
.slab_flags = SLAB_HWCACHE_ALIGN,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct scsi_host_cmd_pool scsi_cmd_dma_pool = {
|
|
||||||
.cmd_name = "scsi_cmd_cache(DMA)",
|
|
||||||
.slab_flags = SLAB_HWCACHE_ALIGN|SLAB_CACHE_DMA,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static DEFINE_MUTEX(host_cmd_pool_mutex);
|
static DEFINE_MUTEX(host_cmd_pool_mutex);
|
||||||
|
@ -290,8 +283,6 @@ scsi_find_host_cmd_pool(struct Scsi_Host *shost)
|
||||||
{
|
{
|
||||||
if (shost->hostt->cmd_size)
|
if (shost->hostt->cmd_size)
|
||||||
return shost->hostt->cmd_pool;
|
return shost->hostt->cmd_pool;
|
||||||
if (shost->unchecked_isa_dma)
|
|
||||||
return &scsi_cmd_dma_pool;
|
|
||||||
return &scsi_cmd_pool;
|
return &scsi_cmd_pool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -318,10 +309,6 @@ scsi_alloc_host_cmd_pool(struct Scsi_Host *shost)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
pool->slab_flags = SLAB_HWCACHE_ALIGN;
|
|
||||||
if (shost->unchecked_isa_dma)
|
|
||||||
pool->slab_flags |= SLAB_CACHE_DMA;
|
|
||||||
|
|
||||||
if (hostt->cmd_size)
|
if (hostt->cmd_size)
|
||||||
hostt->cmd_pool = pool;
|
hostt->cmd_pool = pool;
|
||||||
|
|
||||||
|
@ -349,7 +336,7 @@ scsi_get_host_cmd_pool(struct Scsi_Host *shost)
|
||||||
|
|
||||||
if (!pool->users) {
|
if (!pool->users) {
|
||||||
pool->cmd_slab = kmem_cache_create(pool->cmd_name, cmd_size, 0,
|
pool->cmd_slab = kmem_cache_create(pool->cmd_name, cmd_size, 0,
|
||||||
pool->slab_flags, NULL);
|
SLAB_HWCACHE_ALIGN, NULL);
|
||||||
if (!pool->cmd_slab)
|
if (!pool->cmd_slab)
|
||||||
goto out_free_pool;
|
goto out_free_pool;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user