The patch titled Fix writeback calculation has been removed from the -mm tree. Its filename was fix-writeback-calculation.patch This patch was dropped because an updated version will be merged ------------------------------------------------------ Subject: Fix writeback calculation From: Christoph Lameter <clameter@xxxxxxx> We can use the global ZVC counters to establish the exact size of the LRU and the free pages. This allows a more accurate determination of the dirty ratio. This patch will fix the broken ratio calculations if large amounts of memory are allocated to huge pags or other consumers that do not put the pages on to the LRU. However, we are unable to use the accurate base in the case of HIGHMEM and an allocation excluding HIGHMEM pages. In that case just fall back to the old scheme. Signed-off-by: Christoph Lameter <clameter@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- mm/page-writeback.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff -puN mm/page-writeback.c~fix-writeback-calculation mm/page-writeback.c --- a/mm/page-writeback.c~fix-writeback-calculation +++ a/mm/page-writeback.c @@ -128,7 +128,9 @@ get_dirty_limits(long *pbackground, long int unmapped_ratio; long background; long dirty; - unsigned long available_memory = vm_total_pages; + unsigned long available_memory = global_page_state(NR_FREE_PAGES) + + global_page_state(NR_INACTIVE) + + global_page_state(NR_ACTIVE); struct task_struct *tsk; #ifdef CONFIG_HIGHMEM @@ -137,7 +139,12 @@ get_dirty_limits(long *pbackground, long * we exclude high memory from our count. */ if (mapping && !(mapping_gfp_mask(mapping) & __GFP_HIGHMEM)) - available_memory -= totalhigh_pages; + /* + * This is not as accurate as the non highmem calculation + * but it has worked for years. So let it be as it was. + * People know how to deal with it it seems. + */ + available_memory = vm_total_pages - totalhigh_pages; #endif _ Patches currently in -mm which might be from clameter@xxxxxxx are slab-cache_grow-cleanup.patch use-zvc-for-inactive-and-active-counts.patch use-zvc-for-free_pages.patch use-zvc-for-free_pages-fix.patch reorder-zvcs-according-to-cacheline.patch drop-free_pages.patch drop-nr_free_pages_pgdat.patch drop-__get_zone_counts.patch drop-get_zone_counts.patch get_dirty_limits-accurately-calculate-the-available-memory-that-can-be-dirtied.patch get_dirty_limits-accurately-calculate-the-available-memory-that-can-be-dirtied-fix.patch fix-writeback-calculation.patch deal-with-cases-of-zone_dma-meaning-the-first-zone.patch introduce-config_zone_dma.patch optional-zone_dma-in-the-vm.patch optional-zone_dma-in-the-vm-no-gfp_dma-check-in-the-slab-if-no-config_zone_dma-is-set.patch optional-zone_dma-in-the-vm-no-gfp_dma-check-in-the-slab-if-no-config_zone_dma-is-set-reduce-config_zone_dma-ifdefs.patch optional-zone_dma-for-ia64.patch remove-zone_dma-remains-from-parisc.patch remove-zone_dma-remains-from-sh-sh64.patch set-config_zone_dma-for-arches-with-generic_isa_dma.patch zoneid-fix-up-calculations-for-zoneid_pgshift.patch replace-highest_possible_node_id-with-nr_node_ids.patch mm-only-sched-add-a-few-scheduler-event-counters.patch zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch numa-add-zone_to_nid-function-swap_prefetch.patch remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch readahead-state-based-method-aging-accounting.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html