writeback: account NR_WRITTEN at IO completion time
Wu Fengguang authored
NR_WRITTEN is now accounted at block IO enqueue time, which is not very
accurate as to common understanding.  This moves NR_WRITTEN accounting to
the IO completion time and makes it more consistent with BDI_WRITTEN,
which is used for bandwidth estimation.
Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Cc: Michael Rubin <mrubin@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
99b12e3d
Name Last commit Last update
..
Kconfig mm: cleancache core ops functions and config
Kconfig.debug mm: debug-pagealloc: fix kconfig dependency warning
Makefile mm: cleancache core ops functions and config
backing-dev.c mm/backing-dev.c: reset bdi min_ratio in bdi_unregister()
bootmem.c crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn
bounce.c bounce: call flush_dcache_page() after bounce_copy_vec()
cleancache.c mm: cleancache core ops functions and config
compaction.c mm: compaction: abort compaction if too many pages are isolated and caller is asynchronous V2
debug-pagealloc.c generic debug pagealloc
dmapool.c mm/dmapool.c: use TASK_UNINTERRUPTIBLE in dma_pool_alloc()
fadvise.c readahead: introduce FMODE_RANDOM for POSIX_FADV_RANDOM
failslab.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
filemap.c mm: consistent truncate and invalidate loops
filemap_xip.c mm: Convert i_mmap_lock to a mutex
fremap.c mm: don't access vm_flags as 'int'
highmem.c mm,x86: fix kmap_atomic_push vs ioremap_32.c
huge_memory.c mm/huge_memory.c: minor lock simplification in __khugepaged_exit
hugetlb.c mm: hugetlb: fix coding style issues
hwpoison-inject.c Fix common misspellings
init-mm.c mm: convert mm->cpu_vm_cpumask into cpumask_var_t
internal.h mm: nommu: sort mm->mmap list properly
kmemcheck.c kmemcheck: add hooks for the page allocator
kmemleak-test.c kmemleak: remove memset by using kzalloc
kmemleak.c kmemleak: Do not return a pointer to an object that kmemleak did not get
ksm.c ksm: fix NULL pointer dereference in scan_get_next_rmap_item()
maccess.c maccess,probe_kernel: Make write/read src const void *
madvise.c fs: kill i_alloc_sem
memblock.c mm/memblock.c: avoid abuse of RED_INACTIVE
memcontrol.c memcg: fix numa scan information update to be triggered by memory event
memory-failure.c mm/memory-failure.c: fix spinlock vs mutex order
memory.c mm/futex: fix futex writes on archs with SW tracking of dirty & young
memory_hotplug.c mm: extend memory hotplug API to allow memory hotplug in virtual machines
mempolicy.c mm: proc: move show_numa_map() to fs/proc/task_mmu.c
mempool.c mm: remove broken 'kzalloc' mempool
migrate.c migrate: don't account swapcache as shmem
mincore.c thp: mincore transparent hugepage support
mlock.c mm: don't access vm_flags as 'int'
mm_init.c mm: mminit_loglevel cannot be __meminitdata anymore
mmap.c mmap: fix and tidy up overcommit page arithmetic
mmu_context.c exit: fix oops in sync_mm_rss
mmu_notifier.c thp: mmu_notifier_test_young
mmzone.c mm: page allocator: adjust the per-cpu counter threshold when memory is low
mprotect.c thp: mprotect: transparent huge page support
mremap.c mm: Convert i_mmap_lock to a mutex
msync.c sanitize vfs_fsync calling conventions
nobootmem.c memblock/nobootmem: remove unneeded code from alloc_bootmem_node_high()
nommu.c mmap: fix and tidy up overcommit page arithmetic
oom_kill.c oom: remove references to old badness() function
page-writeback.c writeback: account NR_WRITTEN at IO completion time
page_alloc.c mm: page allocator: reconsider zones for allocation after direct reclaim
page_cgroup.c
page_io.c
page_isolation.c
pagewalk.c
percpu-km.c
percpu-vm.c
percpu.c
pgtable-generic.c
prio_tree.c
quicklist.c
readahead.c
rmap.c
shmem.c
slab.c
slob.c
slub.c
sparse-vmemmap.c
sparse.c
swap.c
swap_state.c
swapfile.c
thrash.c
truncate.c
util.c
vmalloc.c
vmscan.c
vmstat.c