On Thu, 2 Sep 2010, KOSAKI Motohiro wrote: > > nr_free_pages += delta; > > if (nr_free_pages < 0) > > nr_free_pages = 0; > > nr_free_pages is unsined. this wouldn't works ;) The VM counters are signed and must be signed otherwise the deferred update scheme would cause desasters. For treatment in the page allocator these may be converted to unsigned. The effect needs to be the same as retrieving a global or zone ZVC counter. Which is currently implemented in the following way: static inline unsigned long zone_page_state(struct zone *zone, enum zone_stat_item item) { long x = atomic_long_read(&zone->vm_stat[item]); #ifdef CONFIG_SMP if (x < 0) x = 0; #endif return x; } -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>