Skip to contentSkip to conversation

treewide: kmem_cache_alloc GFP_ZERO cleanups

PATCH Applied Joe Perches 3 participants 9 messages Aug 29, 2013 – Aug 30, 2013

Subsystems (9)
lore
Share & tools
lore
#0 lore raw

cover treewide: kmem_cache_alloc GFP_ZERO cleanups

Just a few cleanups to use zalloc style calls and reduce the uses of __GFP_ZERO for kmem_cache_alloc[_node] uses.

Use the more kernel normal zalloc style.

Joe Perches (6):
slab/block: Add and use kmem_cache_zalloc_node
block: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc
i915_gem: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc
aio: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc
ceph: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc
f2fs: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc

 block/blk-core.c                |  3 +--
 block/blk-integrity.c           |  3 +--
 block/blk-ioc.c                 |  6 ++----
 block/cfq-iosched.c             | 10 ++++------
 drivers/gpu/drm/i915/i915_gem.c |  2 +-
 fs/aio.c                        |  2 +-
 fs/ceph/dir.c                   |  2 +-
 fs/ceph/file.c                  |  2 +-
 fs/f2fs/super.c                 |  2 +-
 include/linux/slab.h            |  5 +++++
 10 files changed, 18 insertions(+), 19 deletions(-)
Signature · 7 lines
1.8.1.2.459.gbcd45b4.dirty

--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to [email protected].  For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"[email protected]">[email protected]</a>
#1 lore raw

PATCH 1/6 slab/block: Add and use kmem_cache_zalloc_node

Create and use kmem_cache_zalloc_node utility to be acompatible style with all the zalloc equivalents for kmem_cache_zalloc.

Reduce the uses of __GFP_ZERO.

---
 block/blk-core.c     |  3 +--
 block/blk-ioc.c      |  6 ++----
 block/cfq-iosched.c  | 10 ++++------
 include/linux/slab.h |  5 +++++
 4 files changed, 12 insertions(+), 12 deletions(-)
block/blk-core.c +1 -2
index 3182734..eb7cad2 100644
@@ -591,8 +591,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)
 	struct request_queue *q;
 	int err;
 
-	q = kmem_cache_alloc_node(blk_requestq_cachep,
-				gfp_mask | __GFP_ZERO, node_id);
+	q = kmem_cache_zalloc_node(blk_requestq_cachep, gfp_mask, node_id);
 	if (!q)
 		return NULL;
 
block/blk-ioc.c +2 -4
index 46cd7bd..3163751 100644
@@ -237,8 +237,7 @@ int create_task_io_context(struct task_struct *task, gfp_t gfp_flags, int node)
 	struct io_context *ioc;
 	int ret;
 
-	ioc = kmem_cache_alloc_node(iocontext_cachep, gfp_flags | __GFP_ZERO,
-				    node);
+	ioc = kmem_cache_zalloc_node(iocontext_cachep, gfp_flags, node);
 	if (unlikely(!ioc))
 		return -ENOMEM;
 
@@ -362,8 +361,7 @@ struct io_cq *ioc_create_icq(struct io_context *ioc, struct request_queue *q,
 	struct io_cq *icq;
 
 	/* allocate stuff */
-	icq = kmem_cache_alloc_node(et->icq_cache, gfp_mask | __GFP_ZERO,
-				    q->node);
+	icq = kmem_cache_zalloc_node(et->icq_cache, gfp_mask, q->node);
 	if (!icq)
 		return NULL;
 
block/cfq-iosched.c +4 -6
index dabb9d0..42a52d5 100644
@@ -3584,18 +3584,16 @@ retry:
 		} else if (gfp_mask & __GFP_WAIT) {
 			rcu_read_unlock();
 			spin_unlock_irq(cfqd->queue->queue_lock);
-			new_cfqq = kmem_cache_alloc_node(cfq_pool,
-					gfp_mask | __GFP_ZERO,
-					cfqd->queue->node);
+			new_cfqq = kmem_cache_zalloc_node(cfq_pool, gfp_mask,
+							  cfqd->queue->node);
 			spin_lock_irq(cfqd->queue->queue_lock);
 			if (new_cfqq)
 				goto retry;
 			else
 				return &cfqd->oom_cfqq;
 		} else {
-			cfqq = kmem_cache_alloc_node(cfq_pool,
-					gfp_mask | __GFP_ZERO,
-					cfqd->queue->node);
+			cfqq = kmem_cache_zalloc_node(cfq_pool, gfp_mask,
+						      cfqd->queue->node);
 		}
 
 		if (cfqq) {
include/linux/slab.h +5 -0
index 6c5cc0e..48b7484 100644
@@ -536,6 +536,11 @@ static inline void *kmem_cache_zalloc(struct kmem_cache *k, gfp_t flags)
 	return kmem_cache_alloc(k, flags | __GFP_ZERO);
 }
 
+static inline void *kmem_cache_zalloc_node(struct kmem_cache *k, gfp_t flags,
+					   int node)
+{
+	return kmem_cache_alloc_node(k, flags | __GFP_ZERO, node);
+}
 /**
  * kzalloc - allocate memory. The memory is set to zero.
  * @size: how many bytes of memory are required.
Signature · 7 lines
1.8.1.2.459.gbcd45b4.dirty

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected].  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Acked-by on v1 1/6
#2 lore raw

Re: [PATCH 1/6] slab/block: Add and use kmem_cache_zalloc_node

Quoted 3 lines · Joe Perches

Create and use kmem_cache_zalloc_node utility to be acompatible style with all the zalloc equivalents for kmem_cache_zalloc.

Well I thought more along the lines of dropping the *_zalloc in favor of __GFP_ZERO but if this is more convenient then I have no objections.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#3 lore raw

PATCH 2/6 block: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc

In reply to Joe Perches

The helper exists, might as well use it instead of __GFP_ZERO.

---
 block/blk-integrity.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
block/blk-integrity.c +1 -2
index 03cf717..b97f2e2 100644
@@ -388,8 +388,7 @@ int blk_integrity_register(struct gendisk *disk, struct blk_integrity *template)
 	BUG_ON(disk == NULL);
 
 	if (disk->integrity == NULL) {
-		bi = kmem_cache_alloc(integrity_cachep,
-				      GFP_KERNEL | __GFP_ZERO);
+		bi = kmem_cache_zalloc(integrity_cachep, GFP_KERNEL);
 		if (!bi)
 			return -1;
 
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
#4 lore raw

PATCH 3/6 i915_gem: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc

In reply to Joe Perches

The helper exists, might as well use it instead of __GFP_ZERO.

---
 drivers/gpu/drm/i915/i915_gem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/i915/i915_gem.c +1 -1
index 8a0eb96..c4acd96 100644
@@ -214,7 +214,7 @@ i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data,
 void *i915_gem_object_alloc(struct drm_device *dev)
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
-	return kmem_cache_alloc(dev_priv->slab, GFP_KERNEL | __GFP_ZERO);
+	return kmem_cache_zalloc(dev_priv->slab, GFP_KERNEL);
 }
 
 void i915_gem_object_free(struct drm_i915_gem_object *obj)
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
#5 lore raw

Re: [PATCH 3/6] i915_gem: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc

Quoted 3 lines · Joe Perches

The helper exists, might as well use it instead of __GFP_ZERO.

Queued for -next, thanks for the patch.
-Daniel

Signature · 3 lines
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
#6 lore raw

PATCH 4/6 aio: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc

In reply to Joe Perches

The helper exists, might as well use it instead of __GFP_ZERO.

---
 fs/aio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/aio.c +1 -1
index 9f783e3..f680878 100644
@@ -774,7 +774,7 @@ static inline struct kiocb *aio_get_req(struct kioctx *ctx)
 	if (!get_reqs_available(ctx))
 		return NULL;
 
-	req = kmem_cache_alloc(kiocb_cachep, GFP_KERNEL|__GFP_ZERO);
+	req = kmem_cache_zalloc(kiocb_cachep, GFP_KERNEL);
 	if (unlikely(!req))
 		goto out_put;
 
Signature · 7 lines
1.8.1.2.459.gbcd45b4.dirty

--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to [email protected].  For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"[email protected]">[email protected]</a>
#7 lore raw

PATCH 5/6 ceph: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc

In reply to Joe Perches

The helper exists, might as well use it instead of __GFP_ZERO.

---
 fs/ceph/dir.c  | 2 +-
 fs/ceph/file.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
fs/ceph/dir.c +1 -1
index 868b61d..c10bc70 100644
@@ -40,7 +40,7 @@ int ceph_init_dentry(struct dentry *dentry)
 	if (dentry->d_fsdata)
 		return 0;
 
-	di = kmem_cache_alloc(ceph_dentry_cachep, GFP_NOFS | __GFP_ZERO);
+	di = kmem_cache_zalloc(ceph_dentry_cachep, GFP_NOFS);
 	if (!di)
 		return -ENOMEM;          /* oh well */
 
fs/ceph/file.c +1 -1
index 20d0222..1b5f8ec 100644
@@ -75,7 +75,7 @@ static int ceph_init_file(struct inode *inode, struct file *file, int fmode)
 	case S_IFDIR:
 		dout("init_file %p %p 0%o (regular)\n", inode, file,
 		     inode->i_mode);
-		cf = kmem_cache_alloc(ceph_file_cachep, GFP_NOFS | __GFP_ZERO);
+		cf = kmem_cache_zalloc(ceph_file_cachep, GFP_NOFS);
 		if (cf == NULL) {
 			ceph_put_fmode(ceph_inode(inode), fmode); /* clean up */
 			return -ENOMEM;
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
#8 lore raw

PATCH 6/6 f2fs: Convert kmem_cache_alloc(...GFP_ZERO) to kmem_cache_zalloc

In reply to Joe Perches

The helper exists, might as well use it instead of __GFP_ZERO.

---
 fs/f2fs/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/f2fs/super.c +1 -1
index 13d0a0f..d43709a 100644
@@ -286,7 +286,7 @@ static struct inode *f2fs_alloc_inode(struct super_block *sb)
 {
 	struct f2fs_inode_info *fi;
 
-	fi = kmem_cache_alloc(f2fs_inode_cachep, GFP_NOFS | __GFP_ZERO);
+	fi = kmem_cache_zalloc(f2fs_inode_cachep, GFP_NOFS);
 	if (!fi)
 		return NULL;
 
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty