(2012/05/19 3:28), Hugh Dickins wrote: > Occasionally, testing memcg's move_charge_at_immigrate on rc7 shows > a flurry of hundreds of warnings at kernel/res_counter.c:96, where > res_counter_uncharge_locked() does WARN_ON(counter->usage < val). > > The first trace of each flurry implicates __mem_cgroup_cancel_charge() > of mc.precharge, and an audit of mc.precharge handling points to > mem_cgroup_move_charge_pte_range()'s THP handling in 12724850e806 > "memcg: avoid THP split in task migration". > > Checking !mc.precharge is good everywhere else, when a single page is > to be charged; but here the "mc.precharge -= HPAGE_PMD_NR" likely to > follow, is liable to result in underflow (a lot can change since the > precharge was estimated). > > Simply check against HPAGE_PMD_NR: there's probably a better alternative, > trying precharge for more, splitting if unsuccessful; but this one-liner > is safer for now - no kernel/res_counter.c:96 warnings seen in 26 hours. > > Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Thank you. Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>