The patch titled throttle-writers-of-shared-mappings-tidy has been added to the -mm tree. Its filename is throttle-writers-of-shared-mappings-tidy.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this From: Andrew Morton <akpm@xxxxxxxx> - We don't need to use balance_dirty_pages_nr(). - Don't run balance_dirty_pages() if the page was already dirty. - Consolidate it into a helper function. Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Nick Piggin <nickpiggin@xxxxxxxxxxxx> Cc: Hugh Dickins <hugh@xxxxxxxxxxx> Cc: Christoph Lameter <clameter@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/linux/writeback.h | 1 + mm/memory.c | 10 ++-------- mm/page-writeback.c | 10 ++++++++++ 3 files changed, 13 insertions(+), 8 deletions(-) diff -puN include/linux/writeback.h~throttle-writers-of-shared-mappings-tidy include/linux/writeback.h --- devel/include/linux/writeback.h~throttle-writers-of-shared-mappings-tidy 2006-05-11 02:21:59.000000000 -0700 +++ devel-akpm/include/linux/writeback.h 2006-05-11 02:21:59.000000000 -0700 @@ -114,6 +114,7 @@ int sync_page_range(struct inode *inode, loff_t pos, loff_t count); int sync_page_range_nolock(struct inode *inode, struct address_space *mapping, loff_t pos, loff_t count); +void set_page_dirty_balance(struct page *page); /* pdflush.c */ extern int nr_pdflush_threads; /* Global so it can be exported to sysctl diff -puN mm/memory.c~throttle-writers-of-shared-mappings-tidy mm/memory.c --- devel/mm/memory.c~throttle-writers-of-shared-mappings-tidy 2006-05-11 02:21:59.000000000 -0700 +++ devel-akpm/mm/memory.c 2006-05-11 02:21:59.000000000 -0700 @@ -2164,11 +2164,8 @@ retry: unlock: pte_unmap_unlock(page_table, ptl); if (dirty_page) { - struct address_space *mapping = page_mapping(dirty_page); - set_page_dirty(dirty_page); + set_page_dirty_balance(dirty_page); put_page(dirty_page); - if (mapping) - balance_dirty_pages_ratelimited_nr(mapping, 1); } return ret; oom: @@ -2288,11 +2285,8 @@ static inline int handle_pte_fault(struc unlock: pte_unmap_unlock(pte, ptl); if (dirty_page) { - struct address_space *mapping = page_mapping(dirty_page); - set_page_dirty(dirty_page); + set_page_dirty_balance(dirty_page); put_page(dirty_page); - if (mapping) - balance_dirty_pages_ratelimited_nr(mapping, 1); } return VM_FAULT_MINOR; } diff -puN mm/page-writeback.c~throttle-writers-of-shared-mappings-tidy mm/page-writeback.c --- devel/mm/page-writeback.c~throttle-writers-of-shared-mappings-tidy 2006-05-11 02:21:59.000000000 -0700 +++ devel-akpm/mm/page-writeback.c 2006-05-11 02:21:59.000000000 -0700 @@ -255,6 +255,16 @@ static void balance_dirty_pages(struct a pdflush_operation(background_writeout, 0); } +void set_page_dirty_balance(struct page *page) +{ + if (set_page_dirty(page)) { + struct address_space *mapping = page_mapping(page); + + if (mapping) + balance_dirty_pages(mapping); + } +} + /** * balance_dirty_pages_ratelimited_nr - balance dirty memory state * @mapping: address_space which was dirtied _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch autofs4-nfy_none-wait-race-fix-tidy.patch setup_per_zone_pages_min-overflow-fix.patch deprecate-smbfs-in-favour-of-cifs.patch git-acpi.patch acpi-update-asus_acpi-driver-registration-fix.patch acpi-memory-hotplug-cannot-manage-_crs-with-plural-resoureces.patch catch-notification-of-memory-add-event-of-acpi-via-container-driver-register-start-func-for-memory-device.patch catch-notification-of-memory-add-event-of-acpi-via-container-driveravoid-redundant-call-add_memory.patch remove-for_each_cpu.patch sony_apci-resume.patch powernow-k8-crash-workaround.patch s3c24xx-hardware-spi-driver-tidy.patch git-dvb.patch git-gfs2.patch via-pmu-add-input-device-tidy.patch git-libata-all.patch git-mtd.patch git-netdev-all.patch smc911x-Kconfig-fix.patch pci-error-recovery-e1000-network-device-driver.patch git-powerpc.patch git-rbtree.patch git-sas.patch git-serial.patch gregkh-pci-pci-64-bit-resources-drivers-others-changes-amba-fix.patch kconfigurable-resources-arch-dependent-changes-arch-a-i-fix.patch git-scsi-misc.patch git-scsi-rc-fixes.patch areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers.patch git-watchdog.patch xfs-sparc32-build-fix.patch pg_uncached-is-ia64-only.patch pgdat-allocation-for-new-node-add-specify-node-id-powerpc-fix.patch pgdat-allocation-for-new-node-add-specify-node-id-tidy.patch pgdat-allocation-for-new-node-add-specify-node-id-fix-3.patch pgdat-allocation-for-new-node-add-get-node-id-by-acpi-tidy.patch pgdat-allocation-for-new-node-add-generic-alloc-node_data-tidy.patch pgdat-allocation-for-new-node-add-refresh-node_data-fix.patch pgdat-allocation-for-new-node-add-export-kswapd-start-func-tidy.patch catch-valid-mem-range-at-onlining-memory-tidy.patch catch-valid-mem-range-at-onlining-memory-fix.patch mm-introduce-remap_vmalloc_range-fix.patch tracking-dirty-pages-in-shared-mappings-v4-fix.patch throttle-writers-of-shared-mappings-tidy.patch acx1xx-wireless-driver.patch dont-use-flush_tlb_all-in-suspend-time-tidy.patch prune_one_dentry-tweaks.patch mmput-might-sleep.patch jbd-avoid-kfree-null.patch ext3_clear_inode-avoid-kfree-null.patch leds-amstrad-delta-led-support-tidy.patch percpu-counter-data-type-changes-to-suppport-fix.patch connector-exports.patch config_net=n-build-fix.patch jbd-split-checkpoint-lists-tidy.patch improve-randomness-of-hash_long-on-64bit-tidy.patch hangcheck-remove-monotomic_clock-on-x86.patch pi-futex-futex-code-cleanups-fix.patch reiser4.patch savagefb-add-state-save-and_restore-hooks-tidy.patch kgdb-core-lite-add-reboot-command.patch kgdb-8250-fix.patch nr_blockdev_pages-in_interrupt-warning.patch device-suspend-debug.patch revert-tty-buffering-comment-out-debug-code.patch slab-leaks3-default-y.patch x86-kmap_atomic-debugging.patch profile-likely-unlikely-macros-tidy.patch profile-likely-unlikely-macros-fix.patch profile-likely-unlikely-macros-fix-2.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