kernel-hacking-2024-linux-s.../mm
Johannes Weiner f53d7ce32e mm: memcg: shorten preempt-disabled section around event checks
Only the ratelimit checks themselves have to run with preemption
disabled, the resulting actions - checking for usage thresholds,
updating the soft limit tree - can and should run with preemption
enabled.

Signed-off-by: Johannes Weiner <jweiner@redhat.com>
Reported-by: Yong Zhang <yong.zhang0@gmail.com>
Tested-by: Yong Zhang <yong.zhang0@gmail.com>
Reported-by: Luis Henriques <henrix@camandro.org>
Tested-by: Luis Henriques <henrix@camandro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-01-12 20:13:05 -08:00
..
backing-dev.c
bootmem.c mm: bootmem: try harder to free pages in bulk 2012-01-10 16:30:45 -08:00
bounce.c
cleancache.c
compaction.c mm: compaction: push isolate search base of compact control one pfn ahead 2012-01-10 16:30:44 -08:00
debug-pagealloc.c
dmapool.c
fadvise.c fadvise: only initiate writeback for specified range with FADV_DONTNEED 2012-01-10 16:30:43 -08:00
failslab.c switch debugfs to umode_t 2012-01-03 22:54:56 -05:00
filemap.c memcg: add mem_cgroup_replace_page_cache() to fix LRU issue 2012-01-12 20:13:04 -08:00
filemap_xip.c
fremap.c
highmem.c
huge_memory.c memcg: make mem_cgroup_split_huge_fixup() more efficient 2012-01-12 20:13:05 -08:00
hugetlb.c mm/hugetlb.c: avoid bogus counter of surplus huge page 2012-01-10 16:30:45 -08:00
hwpoison-inject.c
init-mm.c
internal.h
Kconfig
Kconfig.debug mm: more intensive memory corruption debugging 2012-01-10 16:30:42 -08:00
kmemcheck.c
kmemleak-test.c
kmemleak.c
ksm.c
maccess.c
madvise.c
Makefile
memblock.c
memcontrol.c mm: memcg: shorten preempt-disabled section around event checks 2012-01-12 20:13:05 -08:00
memory-failure.c
memory.c
memory_hotplug.c
mempolicy.c mm/mempolicy.c: mpol_equal(): use bool 2012-01-10 16:30:45 -08:00
mempool.c mempool: fix first round failure behavior 2012-01-10 16:30:45 -08:00
migrate.c mm/migrate.c: remove the unused macro lru_to_page 2012-01-10 16:30:46 -08:00
mincore.c
mlock.c
mm_init.c
mmap.c mm: simplify find_vma_prev() 2012-01-10 16:30:44 -08:00
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c
mremap.c mremap: enforce rmap src/dst vma ordering in case of vma_merge() succeeding in copy_vma() 2012-01-10 16:30:44 -08:00
msync.c
nobootmem.c
nommu.c
oom_kill.c tracepoint: add tracepoints for debugging oom_score_adj 2012-01-10 16:30:44 -08:00
page-writeback.c Merge branch 'writeback-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux 2012-01-10 16:59:59 -08:00
page_alloc.c mm: collect LRU list heads into struct lruvec 2012-01-12 20:13:05 -08:00
page_cgroup.c mm: memcg: remove unused node/section info from pc->flags 2012-01-12 20:13:05 -08:00
page_io.c
page_isolation.c
pagewalk.c
percpu-km.c
percpu-vm.c
percpu.c
pgtable-generic.c
prio_tree.c
process_vm_access.c
quicklist.c
readahead.c
rmap.c mremap: enforce rmap src/dst vma ordering in case of vma_merge() succeeding in copy_vma() 2012-01-10 16:30:44 -08:00
shmem.c vfs: switch ->show_options() to struct dentry * 2012-01-06 23:19:54 -05:00
slab.c Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux 2012-01-11 18:52:23 -08:00
slob.c
slub.c mm,x86,um: move CMPXCHG_DOUBLE config option 2012-01-12 20:13:03 -08:00
sparse-vmemmap.c
sparse.c
swap.c mm: make per-memcg LRU lists exclusive 2012-01-12 20:13:05 -08:00
swap_state.c fs: move code out of buffer.c 2012-01-03 22:54:07 -05:00
swapfile.c mm: avoid livelock on !__GFP_FS allocations 2012-01-10 16:30:42 -08:00
thrash.c
truncate.c
util.c
vmalloc.c mm/vmalloc.c: change void* into explict vm_struct* 2012-01-10 16:30:46 -08:00
vmscan.c mm: make per-memcg LRU lists exclusive 2012-01-12 20:13:05 -08:00
vmstat.c mm,x86,um: move CMPXCHG_LOCAL config option 2012-01-12 20:13:03 -08:00