scsi: remove gfp_flags member in scsi_host_cmd_pool
authorChristoph Hellwig <hch@lst.de>
Mon, 2 Jan 2017 11:38:03 +0000 (14:38 +0300)
committerJens Axboe <axboe@fb.com>
Fri, 27 Jan 2017 22:08:35 +0000 (15:08 -0700)
When using the slab allocator we already decide at cache creation time if
an allocation comes from a GFP_DMA pool using the SLAB_CACHE_DMA flag,
and there is no point passing the kmalloc-family only GFP_DMA flag to
kmem_cache_alloc.  Drop all the infrastructure for doing so.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/scsi/scsi.c

index 75455d4dab68b5cd49378635d2848da8340b7ff3..0f93892f5e2eea9bed4047c324fcc5c3e50b1576 100644 (file)
@@ -105,7 +105,6 @@ struct scsi_host_cmd_pool {
        char                    *cmd_name;
        char                    *sense_name;
        unsigned int            slab_flags;
-       gfp_t                   gfp_mask;
 };
 
 static struct scsi_host_cmd_pool scsi_cmd_pool = {
@@ -118,7 +117,6 @@ static struct scsi_host_cmd_pool scsi_cmd_dma_pool = {
        .cmd_name       = "scsi_cmd_cache(DMA)",
        .sense_name     = "scsi_sense_cache(DMA)",
        .slab_flags     = SLAB_HWCACHE_ALIGN|SLAB_CACHE_DMA,
-       .gfp_mask       = __GFP_DMA,
 };
 
 static DEFINE_MUTEX(host_cmd_pool_mutex);
@@ -156,12 +154,11 @@ scsi_host_alloc_command(struct Scsi_Host *shost, gfp_t gfp_mask)
        struct scsi_host_cmd_pool *pool = shost->cmd_pool;
        struct scsi_cmnd *cmd;
 
-       cmd = kmem_cache_zalloc(pool->cmd_slab, gfp_mask | pool->gfp_mask);
+       cmd = kmem_cache_zalloc(pool->cmd_slab, gfp_mask);
        if (!cmd)
                goto fail;
 
-       cmd->sense_buffer = kmem_cache_alloc(pool->sense_slab,
-                                            gfp_mask | pool->gfp_mask);
+       cmd->sense_buffer = kmem_cache_alloc(pool->sense_slab, gfp_mask);
        if (!cmd->sense_buffer)
                goto fail_free_cmd;
 
@@ -327,10 +324,8 @@ scsi_alloc_host_cmd_pool(struct Scsi_Host *shost)
        }
 
        pool->slab_flags = SLAB_HWCACHE_ALIGN;
-       if (shost->unchecked_isa_dma) {
+       if (shost->unchecked_isa_dma)
                pool->slab_flags |= SLAB_CACHE_DMA;
-               pool->gfp_mask = __GFP_DMA;
-       }
 
        if (hostt->cmd_size)
                hostt->cmd_pool = pool;
@@ -424,7 +419,6 @@ static void scsi_put_host_cmd_pool(struct Scsi_Host *shost)
  */
 int scsi_setup_command_freelist(struct Scsi_Host *shost)
 {
-       const gfp_t gfp_mask = shost->unchecked_isa_dma ? GFP_DMA : GFP_KERNEL;
        struct scsi_cmnd *cmd;
 
        spin_lock_init(&shost->free_list_lock);
@@ -437,7 +431,7 @@ int scsi_setup_command_freelist(struct Scsi_Host *shost)
        /*
         * Get one backup command for this host.
         */
-       cmd = scsi_host_alloc_command(shost, gfp_mask);
+       cmd = scsi_host_alloc_command(shost, GFP_KERNEL);
        if (!cmd) {
                scsi_put_host_cmd_pool(shost);
                shost->cmd_pool = NULL;