Re: [PATCH 3/9] scsi: qedi: Use zeroing allocator instead of allocator/memset
Himanshu, > Use dma_zalloc_coherent instead of dma_alloc_coherent followed by memset > 0. Does not apply to 4.16/scsi-queue. Please resubmit. Thanks! -- Martin K. Petersen Oracle Linux Engineering
Re: [PATCH 3/9] scsi: qedi: Use zeroing allocator instead of allocator/memset
Himanshu, > Use dma_zalloc_coherent instead of dma_alloc_coherent followed by memset > 0. Does not apply to 4.16/scsi-queue. Please resubmit. Thanks! -- Martin K. Petersen Oracle Linux Engineering
Re: [PATCH 3/9] scsi: qedi: Use zeroing allocator instead of allocator/memset
On 30/12/17 8:58 PM, "Himanshu Jha"wrote: >Use dma_zalloc_coherent instead of dma_alloc_coherent followed by memset >0. > >Generated-by: scripts/coccinelle/api/alloc/kzalloc-simple.cocci > >Suggested-by: Luis R. Rodriguez >Signed-off-by: Himanshu Jha >--- > drivers/scsi/qedi/qedi_main.c | 42 >+++--- > 1 file changed, 15 insertions(+), 27 deletions(-) > >diff --git a/drivers/scsi/qedi/qedi_main.c b/drivers/scsi/qedi/qedi_main.c >index 34a..5ef0b36 100644 >--- a/drivers/scsi/qedi/qedi_main.c >+++ b/drivers/scsi/qedi/qedi_main.c >@@ -1268,16 +1268,14 @@ static int qedi_alloc_bdq(struct qedi_ctx *qedi) > } > > /* Allocate list of PBL pages */ >- qedi->bdq_pbl_list = dma_alloc_coherent(>pdev->dev, >- PAGE_SIZE, >- >bdq_pbl_list_dma, >- GFP_KERNEL); >+ qedi->bdq_pbl_list = dma_zalloc_coherent(>pdev->dev, PAGE_SIZE, >+ >bdq_pbl_list_dma, >+ GFP_KERNEL); > if (!qedi->bdq_pbl_list) { > QEDI_ERR(>dbg_ctx, >"Could not allocate list of PBL pages.\n"); > return -ENOMEM; > } >- memset(qedi->bdq_pbl_list, 0, PAGE_SIZE); > > /* >* Now populate PBL list with pages that contain pointers to the >@@ -1367,11 +1365,10 @@ static int qedi_alloc_global_queues(struct >qedi_ctx *qedi) > (qedi->global_queues[i]->cq_pbl_size + > (QEDI_PAGE_SIZE - 1)); > >- qedi->global_queues[i]->cq = >- dma_alloc_coherent(>pdev->dev, >- qedi->global_queues[i]->cq_mem_size, >- >global_queues[i]->cq_dma, >- GFP_KERNEL); >+ qedi->global_queues[i]->cq = >+ dma_zalloc_coherent(>pdev->dev, >+ qedi->global_queues[i]->cq_mem_size, >+ >global_queues[i]->cq_dma, >+ GFP_KERNEL); > > if (!qedi->global_queues[i]->cq) { > QEDI_WARN(>dbg_ctx, >@@ -1379,14 +1376,10 @@ static int qedi_alloc_global_queues(struct >qedi_ctx *qedi) > status = -ENOMEM; > goto mem_alloc_failure; > } >- memset(qedi->global_queues[i]->cq, 0, >- qedi->global_queues[i]->cq_mem_size); >- >- qedi->global_queues[i]->cq_pbl = >- dma_alloc_coherent(>pdev->dev, >- qedi->global_queues[i]->cq_pbl_size, >- >global_queues[i]->cq_pbl_dma, >- GFP_KERNEL); >+ qedi->global_queues[i]->cq_pbl = >+ dma_zalloc_coherent(>pdev->dev, >+ qedi->global_queues[i]->cq_pbl_size, >+ >global_queues[i]->cq_pbl_dma, >+ GFP_KERNEL); > > if (!qedi->global_queues[i]->cq_pbl) { > QEDI_WARN(>dbg_ctx, >@@ -1394,8 +1387,6 @@ static int qedi_alloc_global_queues(struct qedi_ctx >*qedi) > status = -ENOMEM; > goto mem_alloc_failure; > } >- memset(qedi->global_queues[i]->cq_pbl, 0, >- qedi->global_queues[i]->cq_pbl_size); > > /* Create PBL */ > num_pages = qedi->global_queues[i]->cq_mem_size / >@@ -1456,25 +1447,22 @@ int qedi_alloc_sq(struct qedi_ctx *qedi, struct >qedi_endpoint *ep) > ep->sq_pbl_size = (ep->sq_mem_size / QEDI_PAGE_SIZE) * sizeof(void *); > ep->sq_pbl_size = ep->sq_pbl_size + QEDI_PAGE_SIZE; > >- ep->sq = dma_alloc_coherent(>pdev->dev, ep->sq_mem_size, >- >sq_dma, GFP_KERNEL); >+ ep->sq = dma_zalloc_coherent(>pdev->dev, ep->sq_mem_size, >+ >sq_dma, GFP_KERNEL); > if (!ep->sq) { > QEDI_WARN(>dbg_ctx, > "Could not allocate send queue.\n"); > rval = -ENOMEM; > goto out; > } >- memset(ep->sq, 0, ep->sq_mem_size); >- >- ep->sq_pbl = dma_alloc_coherent(>pdev->dev, ep->sq_pbl_size, >- >sq_pbl_dma, GFP_KERNEL); >+ ep->sq_pbl = dma_zalloc_coherent(>pdev->dev, ep->sq_pbl_size, >+ >sq_pbl_dma, GFP_KERNEL); > if (!ep->sq_pbl) { > QEDI_WARN(>dbg_ctx, > "Could not allocate send queue PBL.\n"); > rval
Re: [PATCH 3/9] scsi: qedi: Use zeroing allocator instead of allocator/memset
On 30/12/17 8:58 PM, "Himanshu Jha" wrote: >Use dma_zalloc_coherent instead of dma_alloc_coherent followed by memset >0. > >Generated-by: scripts/coccinelle/api/alloc/kzalloc-simple.cocci > >Suggested-by: Luis R. Rodriguez >Signed-off-by: Himanshu Jha >--- > drivers/scsi/qedi/qedi_main.c | 42 >+++--- > 1 file changed, 15 insertions(+), 27 deletions(-) > >diff --git a/drivers/scsi/qedi/qedi_main.c b/drivers/scsi/qedi/qedi_main.c >index 34a..5ef0b36 100644 >--- a/drivers/scsi/qedi/qedi_main.c >+++ b/drivers/scsi/qedi/qedi_main.c >@@ -1268,16 +1268,14 @@ static int qedi_alloc_bdq(struct qedi_ctx *qedi) > } > > /* Allocate list of PBL pages */ >- qedi->bdq_pbl_list = dma_alloc_coherent(>pdev->dev, >- PAGE_SIZE, >- >bdq_pbl_list_dma, >- GFP_KERNEL); >+ qedi->bdq_pbl_list = dma_zalloc_coherent(>pdev->dev, PAGE_SIZE, >+ >bdq_pbl_list_dma, >+ GFP_KERNEL); > if (!qedi->bdq_pbl_list) { > QEDI_ERR(>dbg_ctx, >"Could not allocate list of PBL pages.\n"); > return -ENOMEM; > } >- memset(qedi->bdq_pbl_list, 0, PAGE_SIZE); > > /* >* Now populate PBL list with pages that contain pointers to the >@@ -1367,11 +1365,10 @@ static int qedi_alloc_global_queues(struct >qedi_ctx *qedi) > (qedi->global_queues[i]->cq_pbl_size + > (QEDI_PAGE_SIZE - 1)); > >- qedi->global_queues[i]->cq = >- dma_alloc_coherent(>pdev->dev, >- qedi->global_queues[i]->cq_mem_size, >- >global_queues[i]->cq_dma, >- GFP_KERNEL); >+ qedi->global_queues[i]->cq = >+ dma_zalloc_coherent(>pdev->dev, >+ qedi->global_queues[i]->cq_mem_size, >+ >global_queues[i]->cq_dma, >+ GFP_KERNEL); > > if (!qedi->global_queues[i]->cq) { > QEDI_WARN(>dbg_ctx, >@@ -1379,14 +1376,10 @@ static int qedi_alloc_global_queues(struct >qedi_ctx *qedi) > status = -ENOMEM; > goto mem_alloc_failure; > } >- memset(qedi->global_queues[i]->cq, 0, >- qedi->global_queues[i]->cq_mem_size); >- >- qedi->global_queues[i]->cq_pbl = >- dma_alloc_coherent(>pdev->dev, >- qedi->global_queues[i]->cq_pbl_size, >- >global_queues[i]->cq_pbl_dma, >- GFP_KERNEL); >+ qedi->global_queues[i]->cq_pbl = >+ dma_zalloc_coherent(>pdev->dev, >+ qedi->global_queues[i]->cq_pbl_size, >+ >global_queues[i]->cq_pbl_dma, >+ GFP_KERNEL); > > if (!qedi->global_queues[i]->cq_pbl) { > QEDI_WARN(>dbg_ctx, >@@ -1394,8 +1387,6 @@ static int qedi_alloc_global_queues(struct qedi_ctx >*qedi) > status = -ENOMEM; > goto mem_alloc_failure; > } >- memset(qedi->global_queues[i]->cq_pbl, 0, >- qedi->global_queues[i]->cq_pbl_size); > > /* Create PBL */ > num_pages = qedi->global_queues[i]->cq_mem_size / >@@ -1456,25 +1447,22 @@ int qedi_alloc_sq(struct qedi_ctx *qedi, struct >qedi_endpoint *ep) > ep->sq_pbl_size = (ep->sq_mem_size / QEDI_PAGE_SIZE) * sizeof(void *); > ep->sq_pbl_size = ep->sq_pbl_size + QEDI_PAGE_SIZE; > >- ep->sq = dma_alloc_coherent(>pdev->dev, ep->sq_mem_size, >- >sq_dma, GFP_KERNEL); >+ ep->sq = dma_zalloc_coherent(>pdev->dev, ep->sq_mem_size, >+ >sq_dma, GFP_KERNEL); > if (!ep->sq) { > QEDI_WARN(>dbg_ctx, > "Could not allocate send queue.\n"); > rval = -ENOMEM; > goto out; > } >- memset(ep->sq, 0, ep->sq_mem_size); >- >- ep->sq_pbl = dma_alloc_coherent(>pdev->dev, ep->sq_pbl_size, >- >sq_pbl_dma, GFP_KERNEL); >+ ep->sq_pbl = dma_zalloc_coherent(>pdev->dev, ep->sq_pbl_size, >+ >sq_pbl_dma, GFP_KERNEL); > if (!ep->sq_pbl) { > QEDI_WARN(>dbg_ctx, > "Could not allocate send queue PBL.\n"); > rval = -ENOMEM; > goto out_free_sq; > } >-