aboutsummaryrefslogtreecommitdiffstats
path: root/mm/vmscan.c
AgeCommit message (Expand)AuthorFilesLines
2018-12-28mm: put_and_wait_on_page_locked() while page is migratedHugh Dickins1-8/+2
2018-12-28mm: reclaim small amounts of memory when an external fragmentation event occursMel Gorman1-9/+124
2018-11-20Merge drm/drm-next into drm-intel-next-queuedJani Nikula1-14/+34
2018-11-07mm, drm/i915: mark pinned shmemfs pages as unevictableKuo-Hsin Yang1-11/+11
2018-10-28Merge branch 'xarray' of git://git.infradead.org/users/willy/linux-daxLinus Torvalds1-5/+5
2018-10-26mm: zero-seek shrinkersJohannes Weiner1-3/+12
2018-10-26psi: pressure stall information for CPU, memory, and IOJohannes Weiner1-0/+9
2018-10-26mm: workingset: tell cache transitions from workingset thrashingJohannes Weiner1-0/+1
2018-10-26mm: don't miss the last page because of round-off errorRoman Gushchin1-2/+4
2018-10-21mm: Convert is_page_cache_freeable to XArrayMatthew Wilcox1-4/+4
2018-10-21mm: Convert delete_from_swap_cache to XArrayMatthew Wilcox1-1/+1
2018-10-05mm/vmscan.c: fix int overflow in callers of do_shrink_slab()Kirill Tkhai1-4/+3
2018-09-20mm: slowly shrink slabs with a relatively small number of objectsRoman Gushchin1-0/+11
2018-08-22mm: fix page_freeze_refs and page_unfreeze_refs in commentsJiang Biao1-1/+1
2018-08-22mm: check shrinker is memcg-aware in register_shrinker_prepared()Kirill Tkhai1-1/+2
2018-08-17mm: use special value SHRINKER_REGISTERING instead of list_empty() checkKirill Tkhai1-22/+21
2018-08-17mm/vmscan.c: move check for SHRINKER_NUMA_AWARE to do_shrink_slab()Kirill Tkhai1-3/+3
2018-08-17mm/vmscan.c: clear shrinker bit if there are no objects related to memcgKirill Tkhai1-2/+24
2018-08-17mm: add SHRINK_EMPTY shrinker methods return valueKirill Tkhai1-3/+9
2018-08-17mm/vmscan.c: generalize shrink_slab() calls in shrink_node()Vladimir Davydov1-15/+6
2018-08-17mm/vmscan.c: iterate only over charged shrinkers during memcg shrink_slab()Kirill Tkhai1-9/+75
2018-08-17mm, memcg: assign memcg-aware shrinkers bitmap to memcgKirill Tkhai1-1/+7
2018-08-17mm: assign id to every memcg-aware shrinkerKirill Tkhai1-0/+63
2018-08-17mm/vmscan.c: condense scan_controlGreg Thelen1-12/+20
2018-06-07memcg: introduce memory.minRoman Gushchin1-1/+17
2018-06-07lockdep: fix fs_reclaim annotationOmar Sandoval1-7/+13
2018-06-02mm: fix the NULL mapping case in __isolate_lru_page()Hugh Dickins1-1/+1
2018-04-16mm,vmscan: Allow preallocating memory for register_shrinker().Tetsuo Handa1-1/+20
2018-04-11page cache: use xa_lockMatthew Wilcox1-6/+6
2018-04-11mm: memcg: make sure memory.events is uptodate when waking pollersJohannes Weiner1-1/+1
2018-04-11mm, vmscan, tracing: use pointer to reclaim_stat struct in trace eventSteven Rostedt1-17/+1
2018-04-11mm/vmscan: don't mess with pgdat->flags in memcg reclaimAndrey Ryabinin1-24/+72
2018-04-11mm/vmscan: don't change pgdat state on base of a single LRU list stateAndrey Ryabinin1-51/+75
2018-04-11mm/vmscan: remove redundant current_may_throttle() checkAndrey Ryabinin1-1/+1
2018-04-11mm/vmscan: update stale commentsAndrey Ryabinin1-5/+5
2018-04-05mm, page_alloc: wakeup kcompactd even if kswapd cannot free more memoryDavid Rientjes1-9/+23
2018-04-05mm,vmscan: don't pretend forward progress upon shrinker_rwsem contentionTetsuo Handa1-9/+1
2018-04-05mm: fix races between address_space dereference and free in page_evicatableHuang Ying1-1/+7
2018-03-22mm/vmscan: wake up flushers for legacy cgroups tooAndrey Ryabinin1-15/+16
2018-02-21mm, mlock, vmscan: no more skipping pagevecsShakeel Butt1-58/+1
2018-02-06mm: docs: add blank lines to silence sphinx "Unexpected indentation" errorsMike Rapoport1-0/+1
2018-01-31mm: pin address_space before dereferencing it while isolating an LRU pageMel Gorman1-2/+12
2018-01-31mm: remove unused pgdat_reclaimable_pages()Jan Kara1-16/+0
2018-01-31mm: do not stall register_shrinker()Minchan Kim1-0/+9
2018-01-31mm: use sc->priority for slab shrink targetsJosef Bacik1-34/+13
2017-12-18mm,vmscan: Make unregister_shrinker() no-op if register_shrinker() failed.Tetsuo Handa1-0/+3
2017-11-15mm: remove cold parameter from free_hot_cold_page*Mel Gorman1-3/+3
2017-11-15mm: remove unused pgdat->inactive_ratioAndrey Ryabinin1-1/+1
2017-11-14Merge branch 'for-4.15/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-03fs: kill 'nr_pages' argument from wakeup_flusher_threads()Jens Axboe1-1/+1
2017-09-06mm, THP, swap: add THP swapping out fallback countingHuang Ying1-0/+3
2017-09-06mm, THP, swap: delay splitting THP after swapped outHuang Ying1-43/+52
2017-09-06mm, vmscan: do not loop on too_many_isolated for everMichal Hocko1-1/+7
2017-09-06mm: track actual nr_scanned during shrink_slab()Chris Wilson1-3/+4
2017-08-10locking/lockdep: Rework FS_RECLAIM annotationPeter Zijlstra1-7/+6
2017-07-12mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL with more useful s...Michal Hocko1-4/+4
2017-07-10mm, vmscan: avoid thrashing anon lru when free + file is lowDavid Rientjes1-2/+11
2017-07-06mm: vmstat: move slab statistics from zone to node countersJohannes Weiner1-1/+1
2017-07-06mm: per-cgroup memory reclaim statsRoman Gushchin1-7/+23
2017-07-06mm, THP, swap: enable THP swap optimization only if has compound mapHuang Ying1-4/+13
2017-07-06mm, THP, swap: check whether THP can be split firstlyHuang Ying1-0/+4
2017-07-06mm, THP, swap: move anonymous THP split logic to vmscanMinchan Kim1-1/+16
2017-07-06mm, THP, swap: unify swap slot free functions to put_swap_pageMinchan Kim1-1/+1
2017-07-06mm/vmscan.c: fix unsequenced modification and access warningNick Desaulniers1-7/+6
2017-05-23mm/vmscan: Adjust system_state checksThomas Gleixner1-1/+1
2017-05-12mm: vmscan: scan until it finds eligible pagesMinchan Kim1-6/+15
2017-05-08mm: introduce memalloc_noreclaim_{save,restore}Vlastimil Babka1-6/+11
2017-05-03mm: memcontrol: use node page state naming scheme for memcgJohannes Weiner1-3/+2
2017-05-03mm: memcontrol: re-use node VM page state enumJohannes Weiner1-3/+2
2017-05-03mm: memcontrol: clean up memory.events counting functionJohannes Weiner1-1/+1
2017-05-03mm: vmscan: fix IO/refault regression in cache workingset transitionJohannes Weiner1-20/+74
2017-05-03mm: make ttu's return booleanMinchan Kim1-6/+1
2017-05-03mm: remove SWAP_AGAIN in ttuMinchan Kim1-2/+0
2017-05-03mm: remove SWAP_MLOCK in ttuMinchan Kim1-13/+7
2017-05-03mm: remove SWAP_DIRTY in ttuMinchan Kim1-3/+0
2017-05-03mm/vmscan: more restrictive condition for retry in do_try_to_free_pagesYisheng Xie1-5/+13
2017-05-03mm, vmscan: prevent kswapd sleeping prematurely due to mismatched classzone_idxMel Gorman1-54/+66
2017-05-03mm, vmscan: only clear pgdat congested/dirty/writeback state when balancedMel Gorman1-9/+11
2017-05-03mm, vmscan: fix zone balance check in prepare_kswapd_sleepShantanu Goel1-4/+10
2017-05-03mm: introduce memalloc_nofs_{save,restore} APIMichal Hocko1-3/+3
2017-05-03mm: reclaim MADV_FREE pagesShaohua Li1-12/+22
2017-05-03mm: delete unnecessary TTU_* flagsShaohua Li1-7/+4
2017-05-03Revert "mm, vmscan: account for skipped pages as a partial scan"Johannes Weiner1-18/+4
2017-05-03mm: delete NR_PAGES_SCANNED and pgdat_reclaimable()Johannes Weiner1-9/+0
2017-05-03mm: don't avoid high-priority reclaim on memcg limit reclaimJohannes Weiner1-57/+37
2017-05-03mm: don't avoid high-priority reclaim on unreclaimable nodesJohannes Weiner1-14/+5
2017-05-03mm: remove seemingly spurious reclaimability check from laptop_mode gatingJohannes Weiner1-1/+1
2017-05-03mm: fix check for reclaimable pages in PF_MEMALLOC reclaim throttlingJohannes Weiner1-2/+4
2017-05-03mm: fix 100% CPU kswapd busyloop on unreclaimable nodesJohannes Weiner1-15/+32
2017-03-02sched/headers: Prepare to move the memalloc_noio_*() APIs to <linux/sched/mm.h>Ingo Molnar1-0/+1
2017-02-24mm, vmscan: clear PGDAT_WRITEBACK when zone is balancedMel Gorman1-0/+1
2017-02-24mm: vmscan: move dirty pages out of the way until they're flushedJohannes Weiner1-3/+12
2017-02-24mm: vmscan: only write dirty pages that the scanner has seen twiceJohannes Weiner1-5/+10
2017-02-24mm: vmscan: remove old flusher wakeup from direct reclaim pathJohannes Weiner1-17/+0
2017-02-24mm: vmscan: kick flushers when we encounter dirty pages on the LRUJohannes Weiner1-5/+13
2017-02-24mm: vmscan: scan dirty pages even in laptop modeJohannes Weiner1-12/+2
2017-02-22Revert "mm: bail out in shrink_inactive_list()"Michal Hocko1-27/+0
2017-02-22mm, vmscan: consider eligible zones in get_scan_countMichal Hocko1-2/+2
2017-02-22mm, vmscan: cleanup lru size claculationsMichal Hocko1-45/+44
2017-02-22mm, vmscan: do not count freed pages as PGDEACTIVATEMichal Hocko1-3/+1
2017-02-22mm, vmscan: add mm_vmscan_inactive_list_is_low tracepointMichal Hocko1-9/+14
2017-02-22mm, vmscan: enhance mm_vmscan_lru_shrink_inactive tracepointMichal Hocko1-0/+14
2017-02-22mm, vmscan: extract shrink_page_list reclaim counters into a structMichal Hocko1-31/+30
2017-02-22mm, vmscan: show LRU name in mm_vmscan_lru_isolate tracepointMichal Hocko1-2/+1
2017-02-22mm, vmscan: show the number of skipped pages in mm_vmscan_lru_isolateMichal Hocko1-6/+7
2017-02-22mm, vmscan: add active list aging tracepointMichal Hocko1-4/+14
2017-01-10mm, memcg: fix the active list aging for lowmem requests when memcg is enabledMichal Hocko1-10/+17
2016-12-12Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-3/+11
2016-12-12Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-14/+14
2016-12-12mm/vmscan.c: set correct defer count for shrinkerShaohua Li1-3/+11
2016-12-02mm, vmscan: add cond_resched() into shrink_node_memcg()Michal Hocko1-0/+2
2016-11-09mm/vmscan: Convert to hotplug state machineSebastian Andrzej Siewior1-14/+14
2016-10-27mm: memcontrol: do not recurse in direct reclaimJohannes Weiner1-0/+2
2016-10-07mm: use zonelist name instead of using hardcoded indexAneesh Kumar K.V1-1/+1
2016-10-07mm, vmscan: get rid of throttle_vm_writeoutMichal Hocko1-2/+0
2016-10-07mm, vmscan: make compaction_ready() more accurate and readableVlastimil Babka1-23/+20
2016-10-07mm, compaction: create compact_gap wrapperVlastimil Babka1-3/+3
2016-10-07mm, compaction: rename COMPACT_PARTIAL to COMPACT_SUCCESSVlastimil Babka1-1/+1
2016-09-24mm: delete unnecessary and unsafe init_tlb_ubc()Hugh Dickins1-19/+0
2016-09-01mm, vmscan: only allocate and reclaim from zones with pages managed by the bu...Mel Gorman1-11/+11
2016-08-02mm: vmscan: fix memcg-aware shrinkers not called on global reclaimVladimir Davydov1-1/+1
2016-07-28mm: bail out in shrink_inactive_list()Minchan Kim1-0/+27
2016-07-28mm, vmscan: account for skipped pages as a partial scanMel Gorman1-2/+18
2016-07-28mm: consider whether to decivate based on eligible zones inactive ratioMel Gorman1-5/+29
2016-07-28mm: remove reclaim and compaction retry approximationsMel Gorman1-0/+18
2016-07-28mm: add per-zone lru list statMinchan Kim1-9/+0
2016-07-28mm, vmscan: release/reacquire lru_lock on pgdat changeMel Gorman1-11/+10
2016-07-28mm, vmscan: remove redundant check in shrink_zones()Mel Gorman1-3/+0
2016-07-28mm, vmscan: Update all zone LRU sizes before updating memcgMel Gorman1-7/+33
2016-07-28mm, vmstat: remove zone and node double accounting by approximating retriesMel Gorman1-16/+0
2016-07-28mm: vmstat: account per-zone stalls and pages skipped during reclaimMel Gorman1-2/+13
2016-07-28mm, vmscan: add classzone information to tracepointsMel Gorman1-5/+9
2016-07-28mm, vmscan: Have kswapd reclaim from all zones if reclaiming and buffer_heads...Mel Gorman1-8/+14
2016-07-28mm, vmscan: avoid passing in `remaining' unnecessarily to prepare_kswapd_sleep()Mel Gorman1-8/+4
2016-07-28mm, vmscan: avoid passing in classzone_idx unnecessarily to compaction_readyMel Gorman1-20/+7
2016-07-28mm, vmscan: avoid passing in classzone_idx unnecessarily to shrink_nodeMel Gorman1-11/+9
2016-07-28mm: convert zone_reclaim to node_reclaimMel Gorman1-39/+38
2016-07-28mm, vmscan: only wakeup kswapd once per node for the requested classzoneMel Gorman1-2/+11
2016-07-28mm: move vmscan writes and file write accounting to the nodeMel Gorman1-2/+2
2016-07-28mm: move most file-based accounting to the nodeMel Gorman1-8/+8
2016-07-28mm: move page mapped accounting to the nodeMel Gorman1-1/+1
2016-07-28mm, memcg: move memcg limit enforcement from zones to nodesMel Gorman1-10/+9
2016-07-28mm, vmscan: make shrink_node decisions more node-centricMel Gorman1-26/+35
2016-07-28mm: vmscan: do not reclaim from kswapd if there is any eligible zoneMel Gorman1-32/+27
2016-07-28mm, vmscan: remove duplicate logic clearing node congestion and dirty stateMel Gorman1-12/+12
2016-07-28mm, vmscan: by default have direct reclaim only shrink once per nodeMel Gorman1-8/+14
2016-07-28mm, vmscan: simplify the logic deciding whether kswapd sleepsMel Gorman1-51/+50
2016-07-28mm, vmscan: remove balance gapMel Gorman1-11/+8
2016-07-28mm, vmscan: make kswapd reclaim in terms of nodesMel Gorman1-191/+101
2016-07-28mm, vmscan: have kswapd only scan based on the highest requested zoneMel Gorman1-5/+2
2016-07-28mm, vmscan: begin reclaiming pages on a per-node basisMel Gorman1-24/+55
2016-07-28mm, vmscan: move LRU lists to nodeMel Gorman1-95/+131
2016-07-28mm, vmscan: move lru_lock to the nodeMel Gorman1-24/+24
2016-07-26vmscan: split file huge pages before paging them outKirill A. Shutemov1-0/+6
2016-07-26mm: balloon: use general non-lru movable page featureMinchan Kim1-1/+1
2016-05-20mm, oom: rework oom detectionMichal Hocko1-21/+4
2016-05-20vmscan: consider classzone_idx in compaction_readyMichal Hocko1-4/+4
2016-05-20mm: vmscan: reduce size of inactive file listRik van Riel1-62/+42
2016-05-19mm: update_lru_size do the __mod_zone_page_stateHugh Dickins1-13/+10
2016-05-19mm: rename _count, field of the struct page, to _refcountJoonsoo Kim1-2/+2
2016-04-28mm: wake kcompactd before kswapd's short sleepVlastimil Babka1-14/+14
2016-04-28mm: vmscan: reclaim highmem zone if buffer_heads is over limitMinchan Kim1-1/+1
2016-03-17mm: introduce page reference manipulation functionsJoonsoo Kim1-3/+3
2016-03-17mm: vmscan: pass root_mem_cgroup instead of NULL to memcg aware shrinkerVladimir Davydov1-5/+10
2016-03-17mm, kswapd: replace kswapd compaction with waking up kcompactdVlastimil Babka1-99/+48
2016-03-17mm, kswapd: remove bogus check of balance_classzone_idxVlastimil Babka1-2/+1
2016-03-15mm: remove unnecessary uses of lock_page_memcg()Johannes Weiner1-4/+0
2016-03-15mm: simplify lock_page_memcg()Johannes Weiner1-6/+5
2016-03-15mm: workingset: per-cgroup cache thrash detectionJohannes Weiner1-9/+9
2016-03-15mm: memcontrol: generalize locking for the page->mem_cgroup bindingJohannes Weiner1-4/+4
2016-03-15mm, vmscan: make zone_reclaimable_pages more preciseMichal Hocko1-7/+7
2016-03-15mm: vmscan: do not clear SHRINKER_NUMA_AWARE if nr_node_ids == 1Vladimir Davydov1-8/+0
2016-02-05mm: downgrade VM_BUG in isolate_lru_page() to warningKirill A. Shutemov1-1/+1
2016-01-22dax: support dirty DAX entries in radix treeRoss Zwisler1-1/+8
2016-01-20mm: free swap cache aggressively if memcg swap is fullVladimir Davydov1-1/+1
2016-01-20mm: vmscan: do not scan anon pages if memcg swap limit is hitVladimir Davydov1-1/+1
2016-01-20mm: memcontrol: replace mem_cgroup_lruvec_online with mem_cgroup_onlineVladimir Davydov1-1/+1
2016-01-20mm: vmscan: pass memcg to get_scan_count()Vladimir Davydov1-12/+8
2016-01-20mm: memcontrol: give the kmem states more descriptive namesJohannes Weiner1-1/+1
2016-01-15mm: support madvise(MADV_FREE)Minchan Kim1-2/+12
2016-01-15page-flags: define PG_locked behavior on compound pagesKirill A. Shutemov1-1/+1
2016-01-14mm: make sure isolate_lru_page() is never called for tail pageKirill A. Shutemov1-0/+1
2016-01-14mm: memcontrol: hook up vmpressure to socket pressureJohannes Weiner1-1/+9
2016-01-14mm/readahead.c, mm/vmscan.c: use lru_to_page instead of list_to_pageGeliang Tang1-2/+0
2016-01-14mm, vmscan: consider isolated pages in zone_reclaimable_pagesMichal Hocko1-2/+4
2016-01-14vmscan: do not force-scan file lru if its absolute size is smallVladimir Davydov1-3/+9
2016-01-14mm: change mm_vmscan_lru_shrink_inactive() proto typesyalin wang1-5/+2
2016-01-14mm/vmscan.c: change trace_mm_vmscan_writepage() proto typeyalin wang1-1/+1
2015-11-06mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep...Mel Gorman1-2/+2
2015-11-06mm, page_alloc: remove unnecessary parameter from zone_watermark_ok_safeMel Gorman1-2/+2
2015-11-05Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-15/+12
2015-11-05mm/vmscan.c: fix types of some localsAlexandru Moise1-4/+4
2015-11-05mm/vmscan: make inactive_anon/file_is_low return boolYaowei Bai1-7/+7
2015-11-05mm/vmscan: make inactive_anon_is_low_global return directlyYaowei Bai1-4/+1
2015-11-05Merge branch 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cg...Linus Torvalds1-1/+1
2015-09-22vmscan: fix sane_reclaim helper for legacy memcgVladimir Davydov1-1/+1
2015-09-08mm, vmscan: unlock page while waiting on writebackHugh Dickins1-2/+5
2015-09-08vmscan: fix increasing nr_isolated incurred by putback unevictable pagesJaewon Kim1-1/+1
2015-09-08mm: vmscan: never isolate more pages than necessaryVladimir Davydov1-1/+2