[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <6601abe90903110732n5c9df9b9td317be316921b7a6@mail.gmail.com>
Date: Wed, 11 Mar 2009 07:32:14 -0700
From: Curt Wohlgemuth <curtw@...gle.com>
To: linux-ext4@...r.kernel.org
Subject: Use of kmalloc vs vmalloc in ext4?
I've been running various tests of ext4 partitions lately, and have
found that with very low memory situations, I'm getting intermittent
mount failures due to ENOMEM from ext4_mb_init() and
ext4_fill_flex_info() . Here's a typical dmesg from the latter:
EXT4-fs: not enough memory for 8198 flex groups
EXT4-fs: unable to initialize flex_bg meta info!
This is from a kzalloc() call of size ~64k . I think the
ext4_mb_init() calls to kmalloc() and alloc_percpu() are even smaller.
I was wondering why all the code in ext4 (and ext[23], for that
matter) uses kmalloc() and friends instead of vmalloc(), at least
where it's safe; is it just for performance reasons?
I've seen the above errors when I do a mount -a, causing several
partitions to be mounted; I can usually mount the failed ones by hand
right afterwards, but this is a big difference for us, in our
environment, compared to, say, ext2 partitions.
Thanks,
Curt
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists