aboutsummaryrefslogtreecommitdiffstats
path: root/mm/vmscan.c
AgeCommit message (Expand)AuthorFilesLines
2020-06-04mm/vmsan: fix some typos in commentEthon Paul1-3/+3
2020-06-03mm: vmscan: limit the range of LRU type balancingJohannes Weiner1-9/+13
2020-06-03mm: vmscan: reclaim writepage is IO costJohannes Weiner1-0/+3
2020-06-03mm: vmscan: determine anon/file pressure balance at the reclaim rootJohannes Weiner1-24/+17
2020-06-03mm: balance LRU lists based on relative thrashingJohannes Weiner1-29/+10
2020-06-03mm: only count actual rotations as LRU reclaim costJohannes Weiner1-5/+3
2020-06-03mm: base LRU balancing on an explicit cost modelJohannes Weiner1-22/+22
2020-06-03mm: vmscan: drop unnecessary div0 avoidance rounding in get_scan_count()Johannes Weiner1-1/+1
2020-06-03mm: allow swappiness that prefers reclaiming anon over the file workingsetJohannes Weiner1-1/+1
2020-06-03mm: keep separate anon and file statistics on page reclaim activityJohannes Weiner1-8/+9
2020-06-03mm/vmscan: update the comment of should_continue_reclaim()Qiwu Chen1-1/+1
2020-06-03mm/vmscan.c: change prototype for shrink_page_listManinder Singh1-12/+12
2020-06-03mm/vmscan: count layzfree pages and fix nr_isolated_* mismatchJaewon Kim1-6/+20
2020-06-03mm/vmscan.c: use update_lru_size() in update_lru_sizes()Wei Yang1-4/+1
2020-06-03mm: simplify calling a compound page destructorMatthew Wilcox (Oracle)1-2/+2
2020-06-03mm/page_alloc: integrate classzone_idx and high_zoneidxJoonsoo Kim1-50/+55
2020-06-02mm/writeback: replace PF_LESS_THROTTLE with PF_LOCAL_THROTTLENeilBrown1-2/+2
2020-05-07mm/vmscan: remove unnecessary argument description of isolate_lru_pages()Qiwu Chen1-1/+0
2020-04-07mm: code cleanup for MADV_FREEHuang Ying1-6/+6
2020-04-02mm/vmscan.c: do_try_to_free_pages(): clean code by removing unnecessary assig...Mateusz Nosek1-1/+0
2020-04-02mm/vmscan.c: make may_enter_fs bool in shrink_page_list()Kirill Tkhai1-3/+2
2020-04-02mm/vmscan.c: clean code by removing unnecessary assignmentMateusz Nosek1-3/+1
2020-04-02mm/vmscan.c: fix data races using kswapd_classzone_idxQian Cai1-19/+26
2020-04-02mm/vmscan.c: remove cpu online notification for nowWei Yang1-26/+1
2020-04-02mm: vmscan: replace open codings to NUMA_NO_NODEYang Shi1-3/+3
2020-04-02mm: swap: make page_evictable() inlineYang Shi1-23/+0
2020-02-21mm/vmscan.c: don't round up scan size for online memory cgroupGavin Shan1-3/+6
2020-01-31mm/vmscan: remove unused RECLAIM_OFF/RECLAIM_ZONEAlex Shi1-4/+2
2020-01-31mm/vmscan: remove prefetch_prev_lru_pageAlex Shi1-14/+0
2020-01-31mm/vmscan.c: remove unused return value of shrink_nodeLiu Song1-3/+1
2019-12-17mm: vmscan: protect shrinker idr replace with CONFIG_MEMCGYang Shi1-1/+1
2019-12-01mm/vmscan.c: fix typo in commentXianting Tian1-1/+1
2019-12-01mm: vmscan: enforce inactive:active ratio at the reclaim rootJohannes Weiner1-69/+116
2019-12-01mm: vmscan: detect file thrashing at the reclaim rootJohannes Weiner1-17/+15
2019-12-01mm: vmscan: move file exhaustion detection to the node levelJohannes Weiner1-38/+42
2019-12-01mm: vmscan: harmonize writeback congestion tracking for nodes & memcgsJohannes Weiner1-58/+26
2019-12-01mm: vmscan: split shrink_node() into node part and memcgs partJohannes Weiner1-16/+25
2019-12-01mm: vmscan: turn shrink_node_memcg() into shrink_lruvec()Johannes Weiner1-11/+10
2019-12-01mm: vmscan: replace shrink_node() loop with a retry jumpJohannes Weiner1-116/+115
2019-12-01mm: vmscan: naming fixes: global_reclaim() and sane_reclaim()Johannes Weiner1-20/+18
2019-12-01mm: vmscan: move inactive_list_is_low() swap check to the callerJohannes Weiner1-8/+1
2019-12-01mm: clean up and clarify lruvec lookup procedureJohannes Weiner1-3/+3
2019-12-01mm: vmscan: simplify lruvec_lru_size()Johannes Weiner1-16/+5
2019-12-01mm/vmscan.c: remove unused scan_control parameter from pageout()Yang Shi1-5/+4
2019-12-01mm/vmscan: remove unused lru_pages argumentAndrey Ryabinin1-12/+5
2019-12-01mm: vmscan: memcontrol: remove mem_cgroup_select_victim_node()Shakeel Butt1-9/+5
2019-10-19mm/vmscan.c: support removing arbitrary sized pages from mappingWilliam Kucharski1-4/+1
2019-10-19mm: memcg: get number of pages on the LRU list in memcgroup base on lru_zone_...Honglei Wang1-4/+5
2019-10-07mm, memcg: make scan aggression always exclude protectionChris Down1-41/+20
2019-10-07mm, memcg: make memory.emin the baseline for utilisation determinationChris Down1-22/+33
2019-10-07mm, memcg: proportional memory.{low,min} reclaimChris Down1-6/+76
2019-09-25mm: introduce MADV_PAGEOUTMinchan Kim1-0/+56
2019-09-25mm: change PAGEREF_RECLAIM_CLEAN with PAGE_REFRECLAIMMinchan Kim1-3/+3
2019-09-24mm: shrinker: make shrinker not depend on memcg kmemYang Shi1-29/+31
2019-09-24mm: move mem_cgroup_uncharge out of __page_cache_release()Yang Shi1-4/+2
2019-09-24mm, reclaim: cleanup should_continue_reclaim()Vlastimil Babka1-29/+14
2019-09-24mm, reclaim: make should_continue_reclaim perform dryrun detectionHillf Danton1-13/+15
2019-09-24mm: vmscan: do not share cgroup iteration between reclaimersJohannes Weiner1-20/+2
2019-09-24mm: introduce compound_nr()Matthew Wilcox (Oracle)1-2/+2
2019-08-30mm, memcg: do not set reclaim_state on soft limit reclaimMichal Hocko1-2/+3
2019-08-13mm, vmscan: do not special-case slab reclaim when watermarks are boostedMel Gorman1-11/+2
2019-08-03mm: vmscan: check if mem cgroup is disabled or not before calling memcg slab ...Yang Shi1-1/+8
2019-07-16mm/vmscan.c: add checks for incorrect handling of current->reclaim_stateAndrew Morton1-13/+24
2019-07-16mm/vmscan.c: calculate reclaimed slab caches in all reclaim pathsYafang Shao1-0/+7
2019-07-16mm/vmscan.c: add a new member reclaim_state in struct shrink_controlYafang Shao1-12/+8
2019-07-12mm: vmscan: correct some vmscan counters for THP swapoutYang Shi1-14/+49
2019-07-12mm: vmscan: remove double slab pressure by inc'ing sc->nr_scannedYang Shi1-5/+0
2019-07-12mm: vmscan: scan anonymous pages on file refaultsKuo-Hsin Yang1-3/+3
2019-07-05mm/vmscan.c: prevent useless kswapd loopsShakeel Butt1-12/+15
2019-06-13mm/vmscan.c: fix trying to reclaim unevictable LRU pageMinchan Kim1-1/+1
2019-06-13mm/vmscan.c: fix recent_rotated historyKirill Tkhai1-2/+2
2019-05-14mm: memcontrol: make cgroup stats and events query API explicitly localJohannes Weiner1-3/+3
2019-05-14mm/vmscan.c: don't disable irq again when count pgrefill for memcgYafang Shao1-1/+1
2019-05-14mm/vmscan.c: simplify shrink_inactive_list()Kirill Tkhai1-22/+9
2019-05-14mm/vmscan: drop may_writepage and classzone_idx from direct reclaim begin tem...Yafang Shao1-11/+3
2019-05-14mm: memcontrol: replace zone summing with lruvec_page_state()Johannes Weiner1-1/+1
2019-05-14mm/vmscan: add tracepoints for node reclaimYafang Shao1-0/+6
2019-05-14mm: generalize putback scan functionsKirill Tkhai1-82/+40
2019-05-14mm: remove pages_to_free argument of move_active_pages_to_lru()Kirill Tkhai1-6/+13
2019-05-14mm: move nr_deactivate accounting to shrink_active_list()Kirill Tkhai1-6/+4
2019-05-14mm: move recent_rotated pages calculation to shrink_inactive_list()Kirill Tkhai1-8/+7
2019-05-07Merge tag 'printk-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/p...Linus Torvalds1-1/+1
2019-04-19mm: fix inactive list balancing between NUMA nodes and cgroupsJohannes Weiner1-20/+9
2019-04-09treewide: Switch printk users from %pf and %pF to %ps and %pS, respectivelySakari Ailus1-1/+1
2019-03-05mm: remove zone_lru_lock() function, access ->lru_lock directlyAndrey Ryabinin1-8/+8
2019-03-05mm/workingset: remove unused @mapping argument in workingset_eviction()Andrey Ryabinin1-1/+1
2019-03-05numa: make "nr_node_ids" unsigned intAlexey Dobriyan1-1/+1
2019-03-05mm/vmscan.c: do not allocate duplicate stack variables in shrink_page_list()Kirill Tkhai1-30/+14
2019-03-05mm: vmscan: do not iterate all mem cgroups for global direct reclaimYang Shi1-4/+3
2019-03-05mm/vmscan.c: remove 7th argument of isolate_lru_pages()Kirill Tkhai1-11/+4
2019-03-05mm: fix some typos in mm directoryWei Yang1-1/+1
2019-02-12Revert "mm: slowly shrink slabs with a relatively small number of objects"Dave Chinner1-10/+0
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