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:
Christoph Hellwig 2017-01-02 15:26:34 +03:00 committed by Jens Axboe
parent 0a6ac4ee7c
commit eeff68c561

View File

@ -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;
} }