On Mon 04-10-10 12:31:45, Jan Kara wrote: > On Mon 04-10-10 19:12:13, Namhyung Kim wrote: > > Use printk_ratelimited() instead of doing it manually. > Thanks. I've merged the patch into my tree. Grumble, you apparently didn't try to compile the thing... The patch was missing #include <linux/ratelimit.h>. I've fixed that up now. Please be more careful next time. Thanks. Honza > > > > > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> > > --- > > fs/jbd/journal.c | 9 +++------ > > 1 files changed, 3 insertions(+), 6 deletions(-) > > > > diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c > > index 6f20a75..f79767d 100644 > > --- a/fs/jbd/journal.c > > +++ b/fs/jbd/journal.c > > @@ -1718,7 +1718,6 @@ static void journal_destroy_journal_head_cache(void) > > static struct journal_head *journal_alloc_journal_head(void) > > { > > struct journal_head *ret; > > - static unsigned long last_warning; > > > > #ifdef CONFIG_JBD_DEBUG > > atomic_inc(&nr_journal_heads); > > @@ -1726,11 +1725,9 @@ static struct journal_head *journal_alloc_journal_head(void) > > ret = kmem_cache_alloc(journal_head_cache, GFP_NOFS); > > if (ret == NULL) { > > jbd_debug(1, "out of memory for journal_head\n"); > > - if (time_after(jiffies, last_warning + 5*HZ)) { > > - printk(KERN_NOTICE "ENOMEM in %s, retrying.\n", > > - __func__); > > - last_warning = jiffies; > > - } > > + printk_ratelimited(KERN_NOTICE "ENOMEM in %s, retrying.\n", > > + __func__); > > + > > while (ret == NULL) { > > yield(); > > ret = kmem_cache_alloc(journal_head_cache, GFP_NOFS); > > -- > > 1.7.0.4 > > > -- > Jan Kara <jack@xxxxxxx> > SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html