- x += zone_page_state(z, NR_FREE_PAGES) +
- zone_reclaimable_pages(z) - z->dirty_balance_reserve;
+ nr_pages = zone_page_state(z, NR_FREE_PAGES) +
+ zone_reclaimable_pages(z);
+ /*
+ * make sure that the number of pages for this node
+ * is never "negative".
+ */
+ nr_pages -= min(nr_pages, z->dirty_balance_reserve);
+ x += nr_pages;