linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* GFP_ usage in kmalloc with mballoc
@ 2008-01-24 15:56 Aneesh Kumar K.V
  0 siblings, 0 replies; only message in thread
From: Aneesh Kumar K.V @ 2008-01-24 15:56 UTC (permalink / raw)
  To: Theodore Y Tso, Mingming Cao, Alex Tomas, Andreas Dilger

Hi,


I looked at the GFP flag usage in mballoc.  I think the below change
make sense with respect to mballoc.

First hunk is memory allocation during ext4_mb_init which is called
during mount time. I guess it is ok to convert that to GFP_KERNEL.

Second hunk is during ext4_mb_free_metadata. I guess it should be
GFP_NOFS. This is called during ext4_free_blocks.


diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index bec699a..a15f18e 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2662,7 +2662,7 @@ int ext4_mb_init(struct super_block *sb, int needs_recovery)
 	sbi->s_mb_group_prealloc = MB_DEFAULT_GROUP_PREALLOC;
 
 	i = sizeof(struct ext4_locality_group) * NR_CPUS;
-	sbi->s_locality_groups = kmalloc(i, GFP_NOFS);
+	sbi->s_locality_groups = kmalloc(i, GFP_KERNEL);
 	if (sbi->s_locality_groups == NULL) {
 		clear_opt(sbi->s_mount_opt, MBALLOC);
 		kfree(sbi->s_mb_offsets);
@@ -4366,7 +4366,7 @@ static int ext4_mb_free_metadata(handle_t *handle, struct ext4_buddy *e4b,
 
 		if (md == NULL) {
 			ext4_unlock_group(sb, group);
-			md = kmalloc(sizeof(*md), GFP_KERNEL);
+			md = kmalloc(sizeof(*md), GFP_NOFS);
 			if (md == NULL)
 				return -ENOMEM;
 			md->num = 0;

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2008-01-24 15:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-24 15:56 GFP_ usage in kmalloc with mballoc Aneesh Kumar K.V

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).