aboutsummaryrefslogtreecommitdiffstats
path: root/mm/compaction.c
AgeCommit message (Expand)AuthorFilesLines
2024-03-14Merge tag 'mm-stable-2024-03-13-20-04' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-132/+223
2024-03-04mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL a...Vlastimil Babka1-6/+1
2024-02-23mm/compaction: optimize >0 order folio compaction with free page split.Zi Yan1-5/+30
2024-02-23mm/compaction: add support for >0 order folio memory compaction.Zi Yan1-61/+79
2024-02-23mm/compaction: enable compacting >0 order folios.Zi Yan1-25/+76
2024-02-23mm: compaction: early termination in compact_nodes()Kefeng Wang1-7/+17
2024-02-22mm: compaction: limit the suitable target page order to be less than cc->orderBaolin Wang1-1/+3
2024-02-22mm: compaction: refactor compact_node()Kefeng Wang1-44/+21
2024-02-22mm: compaction: update the cc->nr_migratepages when allocating or freeing the...Baolin Wang1-2/+10
2024-01-17Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-12/+31
2024-01-08mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDERKirill A. Shutemov1-2/+2
2024-01-08mm, treewide: introduce NR_PAGE_ORDERSKirill A. Shutemov1-1/+1
2023-12-12mm: compaction: avoid fast_isolate_freepages blindly choose improper pageblockBarry Song1-0/+3
2023-11-14Merge branch 'kvm-guestmemfd' into HEADPaolo Bonzini1-12/+31
2023-11-13mm: Add AS_UNMOVABLE to mark mapping as completely unmovableSean Christopherson1-12/+31
2023-10-04mm/compaction: factor out code to test if we should run compaction for target...Kemeng Shi1-27/+39
2023-10-04mm/compaction: improve comment of is_via_compact_memoryKemeng Shi1-2/+4
2023-10-04mm/compaction: remove repeat compact_blockskip_flush check in reset_isolation...Kemeng Shi1-3/+2
2023-10-04mm/compaction: correctly return failure with bogus compound_order in strict modeKemeng Shi1-3/+3
2023-10-04mm/compaction: call list_is_{first}/{last} more intuitively in move_freelist_...Kemeng Shi1-2/+2
2023-10-04mm/compaction: use correct list in move_freelist_{head}/{tail}Kemeng Shi1-4/+4
2023-08-21merge mm-hotfixes-stable into mm-stable to pick up depended-upon changesAndrew Morton1-3/+5
2023-08-21mm/compaction: remove unused parameter pgdata of fragmentation_score_wmarkKemeng Shi1-3/+3
2023-08-21mm/compaction: only set skip flag if cc->no_set_skip_hint is falseKemeng Shi1-1/+1
2023-08-21mm/compaction: remove unnecessary return for void functionKemeng Shi1-3/+1
2023-08-21mm/compaction: correct comment to complete migration failureKemeng Shi1-1/+1
2023-08-21mm/compaction: correct comment of cached migrate pfn updateKemeng Shi1-1/+1
2023-08-21mm/compaction: correct comment of fast_find_migrateblock in isolate_migratepagesKemeng Shi1-3/+3
2023-08-21mm/compaction: skip page block marked skip in isolate_migratepages_blockKemeng Shi1-0/+1
2023-08-21mm/compaction: correct last_migrated_pfn update in compact_zoneKemeng Shi1-1/+2
2023-08-21mm/compaction: remove unnecessary "else continue" at end of loop in isolate_f...Kemeng Shi1-2/+0
2023-08-21mm/compaction: remove unnecessary cursor page in isolate_freepages_blockKemeng Shi1-6/+5
2023-08-21mm/compaction: merge end_pfn boundary check in isolate_freepages_rangeKemeng Shi1-3/+2
2023-08-21mm/compaction: set compact_cached_free_pfn correctly in update_pageblock_skipKemeng Shi1-1/+2
2023-08-21mm: improve the comment in isolate_migratepages_block()Matthew Wilcox1-7/+7
2023-08-18mm/compaction: avoid unneeded pageblock_end_pfn when no_set_skip_hint is setKemeng Shi1-2/+2
2023-08-18mm/compaction: correct comment of candidate pfn in fast_isolate_freepagesKemeng Shi1-1/+1
2023-08-18mm: compaction: skip the memory hole rapidly when isolating free pagesBaolin Wang1-1/+33
2023-08-18mm: compaction: use the correct type of list for free pagesBaolin Wang1-2/+2
2023-08-04mm: compaction: fix endless looping over same migrate blockJohannes Weiner1-3/+5
2023-06-23mm: compaction: convert to use a folio in isolate_migratepages_block()Kefeng Wang1-40/+44
2023-06-23mm: compaction: skip memory hole rapidly when isolating migratable pagesBaolin Wang1-1/+34
2023-06-19mm: compaction: mark kcompactd_run() and kcompactd_stop() __meminitMiaohe Lin1-2/+2
2023-06-09mm: compaction: skip fast freepages isolation if enough freepages are isolatedBaolin Wang1-0/+4
2023-06-09mm: compaction: add trace event for fast freepages isolationBaolin Wang1-1/+5
2023-06-09mm: compaction: only set skip flag if cc->no_set_skip_hint is falseBaolin Wang1-1/+1
2023-06-09mm: compaction: skip more fully scanned pageblockBaolin Wang1-1/+1
2023-06-09mm: compaction: change fast_isolate_freepages() to void typeBaolin Wang1-5/+3
2023-06-09mm: compaction: drop the redundant page validation in update_pageblock_skip()Baolin Wang1-3/+0
2023-06-09mm: compaction: avoid GFP_NOFS ABBA deadlockJohannes Weiner1-2/+14
2023-06-09mm: compaction: have compaction_suitable() return boolJohannes Weiner1-33/+31
2023-06-09mm: compaction: drop redundant watermark check in compaction_zonelist_suitable()Johannes Weiner1-7/+0
2023-06-09mm: compaction: remove unnecessary is_via_compact_memory() checksJohannes Weiner1-10/+1
2023-06-09mm: compaction: refactor __compaction_suitable()Johannes Weiner1-29/+50
2023-06-09mm: convert migrate_pages() to work on foliosMatthew Wilcox (Oracle)1-8/+7
2023-06-09Revert "Revert "mm/compaction: fix set skip in fast_find_migrateblock""Mel Gorman1-1/+0
2023-06-09mm: compaction: update pageblock skip when first migration candidate is not a...Mel Gorman1-11/+12
2023-06-09mm: compaction: only force pageblock scan completion when skip hints are obeyedMel Gorman1-2/+3
2023-06-09mm: compaction: ensure rescanning only happens on partially scanned pageblocksMel Gorman1-2/+3
2023-06-09mm: compaction: optimize compact_memory to comply with the admin-guideWen Yang1-1/+11
2023-04-27Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-4/+16
2023-04-13mm: compaction: remove incorrect #ifdef checksArnd Bergmann1-4/+0
2023-04-13mm: compaction: move compaction sysctl to its own fileMinghao Chi1-12/+72
2023-04-05mm: compaction: fix the possible deadlock when isolating hugetlb pagesBaolin Wang1-0/+5
2023-04-05mm: compaction: consider the number of scanning compound pages in isolate fai...Baolin Wang1-2/+9
2023-04-05mm, treewide: redefine MAX_ORDER sanelyKirill A. Shutemov1-4/+4
2023-02-23Merge tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-42/+59
2023-02-20mm: change to return bool for isolate_movable_page()Baolin Wang1-1/+1
2023-02-02mm, compaction: finish pageblocks on complete migration failureMel Gorman1-8/+22
2023-02-02mm, compaction: finish scanning the current pageblock if requestedMel Gorman1-0/+7
2023-02-02mm, compaction: check if a page has been captured before draining PCP pagesMel Gorman1-6/+6
2023-02-02mm, compaction: rename compact_control->rescan to finish_pageblockMel Gorman1-12/+12
2023-02-02mm: compaction: avoid fragmentation score calculation for empty zonesBaolin Wang1-0/+2
2023-02-02mm: compaction: add missing kcompactd wakeup trace eventBaolin Wang1-0/+2
2023-02-02mm: compaction: count the migration scanned pages events for proactive compac...Baolin Wang1-0/+5
2023-02-02mm: compaction: move list validation into compact_zone()Baolin Wang1-12/+3
2023-02-02mm: compaction: remove redundant VM_BUG_ON() in compact_zone()Baolin Wang1-3/+0
2023-01-29Revert "mm/compaction: fix set skip in fast_find_migrateblock"Vlastimil Babka1-0/+1
2023-01-18mm: remove PageMovable exportGreg Kroah-Hartman1-1/+0
2022-11-30mm, compaction: fix fast_isolate_around() to stay within boundariesNARIBAYASHI Akira1-13/+5
2022-11-30mm: migrate: fix THP's mapcount on isolationGavin Shan1-11/+11
2022-10-14Merge tag 'mm-stable-2022-10-13' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+0
2022-10-12mm/compaction: fix set skip in fast_find_migrateblockChuyi Zhou1-1/+0
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-7/+17
2022-10-03mm: add pageblock_aligned() macroKefeng Wang1-4/+4
2022-10-03mm: reuse pageblock_start/end_pfn() macroKefeng Wang1-2/+0
2022-09-19mm/compaction: Get rid of RT ifdefferyThomas Gleixner1-5/+1
2022-09-11mm: fix null-ptr-deref in kswapd_is_running()Kefeng Wang1-1/+13
2022-08-05Merge tag 'mm-stable-2022-08-03' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+4
2022-08-02fs: Remove aops->migratepage()Matthew Wilcox (Oracle)1-3/+2
2022-08-02fs: Add aops->migrate_folioMatthew Wilcox (Oracle)1-1/+3
2022-08-02mm: Convert all PageMovable users to movable_operationsMatthew Wilcox (Oracle)1-16/+13
2022-07-29mm: compaction: include compound page count for scanning in pageblock isolationWilliam Lam1-0/+3
2022-07-03mm, docs: fix comments that mention mem_hotplug_end()Yun-Ze Li1-1/+1
2022-05-13mm, compaction: fast_find_migrateblock() should return pfn in the target zoneRei Yamamoto1-0/+2
2022-05-13tracing: incorrect gfp_t conversionVasily Averin1-1/+1
2022-04-28mm: compaction: make sure highest is above the min_pfnMiaohe Lin1-1/+1
2022-04-28mm: compaction: simplify the code in __compact_finishedMiaohe Lin1-21/+8
2022-04-28mm: compaction: make compaction_zonelist_suitable return false when COMPACT_S...Miaohe Lin1-1/+1
2022-04-28mm: compaction: avoid possible NULL pointer dereference in kcompactd_cpu_onlineMiaohe Lin1-1/+2
2022-04-28mm: compaction: clean up comment about async compaction in isolate_migratepagesMiaohe Lin1-6/+6
2022-04-28mm: compaction: use helper compound_nr in isolate_migratepages_blockMiaohe Lin1-1/+1
2022-04-28mm: compaction: use COMPACT_CLUSTER_MAX in compaction.cMiaohe Lin1-4/+4
2022-04-28mm: compaction: clean up comment about suitable migration target recheckMiaohe Lin1-7/+1
2022-04-28mm: compaction: clean up comment for sched contentionMiaohe Lin1-7/+4
2022-04-28mm: compaction: remove unneeded assignment to isolate_start_pfnMiaohe Lin1-1/+1
2022-04-28mm: compaction: remove unneeded pfn updateMiaohe Lin1-1/+0
2022-04-28mm: compaction: remove unneeded return value of kcompactd_runMiaohe Lin1-5/+2
2022-04-28mm: compaction: use helper isolation_suitable()Miaohe Lin1-1/+1
2022-04-15mm: compaction: fix compiler warning when CONFIG_COMPACTION=nCharan Teja Kalla1-5/+5
2022-03-22mm: compaction: cleanup the compaction trace eventsBaolin Wang1-6/+3
2022-03-22mm: __isolate_lru_page_prepare() in isolate_migratepages_block()Hugh Dickins1-7/+44
2022-01-15mm: compaction: fix the migration stats in trace_mm_compaction_migratepages()Baolin Wang1-3/+4
2021-11-06Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-2/+8
2021-11-06mm/vmscan: centralise timeout values for reclaim_throttleMel Gorman1-1/+1
2021-11-06mm/vmscan: throttle reclaim and compaction when too may pages are isolatedMel Gorman1-2/+8
2021-09-27mm/memcg: Add folio_lruvec_lock() and similar functionsMatthew Wilcox (Oracle)1-1/+1
2021-09-27mm/memcg: Add folio_lruvec()Matthew Wilcox (Oracle)1-1/+1
2021-09-08Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-13/+7
2021-09-08mm: remove pfn_valid_within() and CONFIG_HOLES_IN_ZONEMike Rapoport1-13/+7
2021-09-03mm: compaction: support triggering of proactive compaction by userCharan Teja Reddy1-2/+36
2021-09-03mm: compaction: optimize proactive compaction deferralsCharan Teja Reddy1-10/+19
2021-09-03mm/migrate: enable returning precise migrate_pages() success countYang Shi1-1/+1
2021-07-02Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-11/+9
2021-06-30mm/compaction: fix 'limit' in fast_isolate_freepagesWonhyuk Yang1-3/+3
2021-06-30mm: compaction: remove duplicate !list_empty(&sublist) checkLiu Xiang1-4/+2
2021-06-30mm/compaction: use DEVICE_ATTR_WO macroYueHaibing1-4/+4
2021-06-29Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-1/+1
2021-06-29mm: memcontrol: remove the pgdata parameter of mem_cgroup_page_lruvecMuchun Song1-1/+1
2021-06-18sched: Introduce task_is_running()Peter Zijlstra1-1/+1
2021-05-07mm: fix typos in commentsIngo Molnar1-2/+2
2021-05-05mm/mempool: minor coding style tweaksZhiyuan Dai1-1/+1
2021-05-05mm: replace migrate_[prep|finish] with lru_cache_[disable|enable]Minchan Kim1-1/+2
2021-05-05mm: compaction: update the COMPACT[STALL|FAIL] events properlyCharan Teja Reddy1-0/+8
2021-05-05mm/compaction: remove unused variable sysctl_compact_memoryPintu Kumar1-3/+0
2021-05-05mm: make alloc_contig_range handle in-use hugetlb pagesOscar Salvador1-1/+11
2021-05-05mm: make alloc_contig_range handle free hugetlb pagesOscar Salvador1-3/+30
2021-05-05mm,compaction: let isolate_migratepages_{range,block} return error codesOscar Salvador1-27/+25
2021-02-24mm, compaction: make fast_isolate_freepages() stay within zoneVlastimil Babka1-5/+11
2021-02-24mm/compaction: fix misbehaviors of fast_find_migrateblock()Wonhyuk Yang1-15/+12
2021-02-24mm/compaction: correct deferral logic for proactive compactionCharan Teja Reddy1-6/+14
2021-02-24mm/compaction: remove duplicated VM_BUG_ON_PAGE !PageLockedMiaohe Lin1-1/+0
2021-02-24mm/compaction: remove rcu_read_lock during page compactionAlex Shi1-4/+1
2021-02-24mm/swap.c: don't pass "enum lru_list" to del_page_from_lru_list()Yu Zhao1-1/+1
2021-02-24mm/vmscan: __isolate_lru_page_prepare() cleanupAlex Shi1-1/+1
2021-02-05mm, compaction: move high_pfn to the for loop scopeRokudo Yan1-1/+2
2020-12-15mm/lru: replace pgdat lru_lock with lruvec lockAlex Shi1-20/+36
2020-12-15mm/compaction: do page isolation first in compactionAlex Shi1-9/+33
2020-12-15mm/compaction: make defer_compaction and compaction_deferred staticHui Su1-4/+4
2020-12-15mm/compaction: move compaction_suitable's comment to right placeHui Su1-7/+7
2020-12-15mm/compaction: rename 'start_pfn' to 'iteration_start_pfn' in compact_zone()Yanfei Xu1-4/+3
2020-11-14mm/compaction: stop isolation if too many pages are isolated and we have page...Zi Yan1-0/+4
2020-11-14mm/compaction: count pages and stop correctly during page isolationZi Yan1-4/+4
2020-10-16mm: rename page_order() to buddy_order()Matthew Wilcox (Oracle)1-3/+3
2020-10-13mm/compaction.c: micro-optimization remove unnecessary branchMateusz Nosek1-3/+2
2020-08-14mm: replace hpage_nr_pages with thp_nr_pagesMatthew Wilcox (Oracle)1-1/+1
2020-08-12mm/compaction.c: delete duplicated wordRandy Dunlap1-1/+1
2020-08-12mm/compaction: correct the comments of compact_defer_shiftAlex Shi1-1/+1
2020-08-12mm: use unsigned types for fragmentation scoreNitin Gupta1-9/+9
2020-08-12mm: fix compile error due to COMPACTION_HPAGE_ORDERNitin Gupta1-1/+1
2020-08-12mm: proactive compactionNitin Gupta1-5/+178
2020-06-26mm, compaction: make capture control handling safe wrt interruptsVlastimil Babka1-3/+14
2020-06-04mm/compaction: fix a typo in comment "pessemistic"->"pessimistic"Ethon Paul1-1/+1
2020-06-03Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-34/+36
2020-06-03mm: rename gfpflags_to_migratetype to gfp_migratetype for same conventionWei Yang1-1/+1
2020-06-03mm/page_alloc: integrate classzone_idx and high_zoneidxJoonsoo Kim1-32/+32
2020-06-03mm: memmap_init: iterate over memblock regions rather that check each PFNBaoquan He1-1/+3
2020-06-03Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-nextLinus Torvalds1-1/+1
2020-05-28mm/swap: Use local_lock for protectionIngo Molnar1-5/+1
2020-04-27sysctl: pass kernel pointers to ->proc_handlerChristoph Hellwig1-1/+1
2020-04-07mm/compaction: add missing annotation for compact_lock_irqsaveJules Irenge1-0/+1
2020-04-07mm: code cleanup for MADV_FREEHuang Ying1-1/+1
2020-04-02mm/compaction.c: clean code by removing unnecessary assignmentMateusz Nosek1-1/+0
2020-04-02mm/compaction: Disable compact_unevictable_allowed on RTSebastian Andrzej Siewior1-0/+4
2020-04-02mm, compaction: fully assume capture is not NULL in compact_zone_order()Vlastimil Babka1-2/+2
2020-04-02mm,thp,compaction,cma: allow THP migration for CMA allocationsRik van Riel1-9/+13
2019-10-14mm, compaction: fix wrong pfn handling in __reset_isolation_pfn()Vlastimil Babka1-3/+4
2019-09-24mm/compaction.c: remove unnecessary zone parameter in isolate_migratepages()Pengfei Li1-7/+6
2019-09-24mm/compaction.c: clear total_{migrate,free}_scanned before scanning a new zoneYafang Shao1-22/+13
2019-09-24mm: introduce compound_nr()Matthew Wilcox (Oracle)1-1/+1
2019-08-03mm: compaction: avoid 100% CPU usage during compaction when a task is killedMel Gorman1-4/+7
2019-06-01mm, compaction: make sure we isolate a valid PFNSuzuki K Poulose1-1/+1
2019-05-18mm/compaction.c: correct zone boundary handling when isolating pages from a p...Mel Gorman1-2/+2
2019-05-14mm: move buddy list manipulations into helpersDan Williams1-2/+2
2019-05-14mm/compaction.c: fix an undefined behaviourQian Cai1-1/+3
2019-04-04mm/compaction.c: abort search if isolation failsQian Cai1-1/+1
2019-04-04mm/compaction.c: correct zone boundary handling when resetting pageblock skip...Mel Gorman1-10/+17
2019-03-05mm/compaction: pass pgdat to too_many_isolated() instead of zoneAndrey Ryabinin1-10/+9
2019-03-05mm: remove zone_lru_lock() function, access ->lru_lock directlyAndrey Ryabinin1-7/+8
2019-03-05mm, compaction: capture a page under direct compactionMel Gorman1-7/+24
2019-03-05mm, compaction: be selective about what pageblocks to clear skip hintsMel Gorman1-18/+106
2019-03-05mm, compaction: sample pageblocks for free pagesMel Gorman1-6/+22
2019-03-05mm, compaction: round-robin the order while searching the free lists for a ta...Mel Gorman1-3/+30
2019-03-05mm, compaction: reduce premature advancement of the migration target scannerMel Gorman1-17/+10
2019-03-05mm, compaction: do not consider a need to reschedule as contentionMel Gorman1-19/+4
2019-03-05mm, compaction: rework compact_should_abort as compact_check_reschedMel Gorman1-38/+23
2019-03-05mm, compaction: keep cached migration PFNs synced for unusable pageblocksMel Gorman1-0/+18
2019-03-05mm, compaction: check early for huge pages encountered by the migration scannerMel Gorman1-4/+12
2019-03-05mm, compaction: finish pageblock scanning on contentionMel Gorman1-56/+34
2019-03-05mm, compaction: avoid rescanning the same pageblock multiple timesMel Gorman1-6/+26