This avoids unnecessary checks and dirty throttling on tmpfs/ramfs. It also prevents [ 388.126563] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050 in the balance_dirty_pages tracepoint, which will call dev_name(mapping->backing_dev_info->dev) but shmem_backing_dev_info.dev is NULL. CC: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> --- mm/page-writeback.c | 3 +++ 1 file changed, 3 insertions(+) --- linux-next.orig/mm/page-writeback.c 2010-12-17 19:09:19.000000000 +0800 +++ linux-next/mm/page-writeback.c 2010-12-17 19:09:22.000000000 +0800 @@ -899,6 +899,9 @@ void balance_dirty_pages_ratelimited_nr( { struct backing_dev_info *bdi = mapping->backing_dev_info; + if (!bdi_cap_account_dirty(bdi)) + return; + current->nr_dirtied += nr_pages_dirtied; if (unlikely(!current->nr_dirtied_pause)) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>