aboutsummaryrefslogtreecommitdiffstats
path: root/mm/damon
AgeCommit message (Expand)AuthorFilesLines
2023-07-27mm/damon/core-test: initialise context before test in damon_test_set_attrs()Feng Tang1-5/+5
2023-06-23Merge mm-hotfixes-stable into mm-stable to pick up depended-upon changes.Andrew Morton1-0/+2
2023-06-19mm/damon/core-test: add a test for damon_set_attrs()SeongJae Park1-0/+24
2023-06-19mm: ptep_get() conversionRyan Roberts3-6/+8
2023-06-19mm/pagewalkers: ACTION_AGAIN if pte_offset_map_lock() failsHugh Dickins1-4/+8
2023-06-12mm/damon/core: fix divide error in damon_nr_accesses_to_accesses_bp()Kefeng Wang1-0/+2
2023-06-09mm/damon/ops-common: refactor to use {pte|pmd}p_clear_young_notify()Ryan Roberts1-20/+2
2023-06-09mm/damon/ops-common: atomically test and clear young on ptes and pmdsRyan Roberts4-16/+12
2023-05-02mm/damon/paddr: fix missing folio_sz update in damon_pa_young()Kefeng Wang1-4/+2
2023-05-02mm/damon/paddr: minor refactor of damon_pa_mark_accessed_or_deactivate()Kefeng Wang1-4/+3
2023-05-02mm/damon/paddr: minor refactor of damon_pa_pageout()Kefeng Wang1-8/+5
2023-04-05mm/damon/sysfs: make more kobj_type structures constantThomas Weißschuh1-2/+2
2023-03-07mm/damon/paddr: fix folio_nr_pages() after folio_put() in damon_pa_mark_acces...SeongJae Park1-1/+1
2023-03-07mm/damon/paddr: fix folio_size() call after folio_put() in damon_pa_young()SeongJae Park1-2/+1
2023-02-27mm/damon/paddr: fix missing folio_put()andrew.yang1-4/+3
2023-02-20mm: change to return bool for folio_isolate_lru()Baolin Wang1-1/+1
2023-02-13mm/damon/dbgfs: print DAMON debugfs interface deprecation messageSeongJae Park1-0/+19
2023-02-13mm/damon/Kconfig: add DAMON debugfs interface deprecation noticeSeongJae Park1-3/+4
2023-02-09mm/damon/sysfs: make kobj_type structures constantThomas Weißschuh4-23/+23
2023-02-09mm/damon/vaddr-test.h: stop using vma_mas_store() for maple tree storeLiam R. Howlett1-6/+14
2023-02-02mm/damon/core-test: add a test for damon_update_monitoring_results()SeongJae Park1-0/+30
2023-02-02mm/damon/core: update monitoring results for new monitoring attributesSeongJae Park1-0/+71
2023-02-02mm/damon/core: skip apply schemes if emptyHuaisheng Ye1-1/+2
2023-01-18mm/damon/sysfs-schemes: use strscpy() to instead of strncpy()Xu Panda1-2/+1
2023-01-18mm/damon/paddr: remove damon_pa_access_chk_result structSeongJae Park1-17/+11
2023-01-18mm/damon/paddr: remove folio_sz field from damon_pa_access_chk_resultSeongJae Park1-6/+1
2023-01-18mm/damon/paddr: rename 'damon_pa_access_chk_result->page_sz' to 'folio_sz'SeongJae Park1-10/+11
2023-01-18mm/damon/vaddr: record appropriate folio size when the access is not foundSeongJae Park1-9/+6
2023-01-18mm/damon/vaddr: support folio of neither HPAGE_PMD_SIZE nor PAGE_SIZESeongJae Park1-1/+1
2023-01-18mm/damon/vaddr: rename 'damon_young_walk_private->page_sz' to 'folio_sz'SeongJae Park1-10/+11
2023-01-18mm/damon/vaddr: convert hugetlb related functions to use a folioKefeng Wang1-10/+10
2023-01-18mm/damon: remove unneeded damon_get_page()Kefeng Wang1-7/+0
2023-01-18mm/damon/vaddr: convert damon_young_pmd_entry() to use a folioKefeng Wang1-9/+9
2023-01-18mm/damon/paddr: convert damon_pa_*() to use a folioKefeng Wang1-32/+26
2023-01-18mm/damon: convert damon_ptep/pmdp_mkold() to use a folioKefeng Wang1-10/+10
2023-01-18mm/damon: introduce damon_get_folio()Kefeng Wang2-8/+19
2023-01-18mm/swap: convert deactivate_page() to folio_deactivate()Vishal Moola (Oracle)1-1/+1
2023-01-18mm/damon: convert damon_pa_mark_accessed_or_deactivate() to use foliosVishal Moola (Oracle)1-6/+8
2023-01-18mm/damon/sysfs-schemes: implement scheme filtersSeongJae Park1-1/+92
2023-01-18mm/damon/sysfs-schemes: connect filter directory and filters directorySeongJae Park1-0/+68
2023-01-18mm/damon/sysfs-schemes: implement filter directorySeongJae Park1-0/+128
2023-01-18mm/damon/sysfs-schemes: implement filters directorySeongJae Park1-1/+84
2023-01-18mm/damon/reclaim: add a parameter called skip_anon for avoiding anonymous pag...SeongJae Park1-0/+19
2023-01-18mm/damon/paddr: support DAMOS filtersSeongJae Park1-9/+62
2023-01-18mm/damon/core: implement damos filterSeongJae Park1-0/+39
2022-11-30mm/damon: use kstrtobool() instead of strtobool()Christophe JAILLET2-2/+4
2022-11-30mm/damon/sysfs-schemes: implement DAMOS-tried regions clear commandSeongJae Park3-1/+37
2022-11-30mm/damon/sysfs: implement DAMOS tried regions update commandSeongJae Park3-2/+141
2022-11-30mm/damon/sysfs-schemes: implement scheme region directorySeongJae Park1-1/+122
2022-11-30mm/damon/sysfs-schemes: implement schemes/tried_regions directorySeongJae Park1-0/+57
2022-11-30mm/damon/core: add a callback for scheme target regions checkSeongJae Park1-1/+5
2022-11-30mm/damon/lru_sort: enable and disable synchronouslySeongJae Park1-29/+22
2022-11-30mm/damon/reclaim: enable and disable synchronouslySeongJae Park1-30/+23
2022-11-30mm/damon/{reclaim,lru_sort}: remove unnecessarily included headersSeongJae Park2-4/+0
2022-11-30mm/damon/modules: deduplicate init steps for DAMON context setupSeongJae Park5-30/+53
2022-11-30mm/damon/sysfs: split out schemes directory implementation to separate fileSeongJae Park4-1065/+1091
2022-11-30mm/damon/sysfs: split out kdamond-independent schemes stats update logic into...SeongJae Park1-15/+22
2022-11-30mm/damon/sysfs: move unsigned long range directory to common moduleSeongJae Park3-100/+109
2022-11-30mm/damon/sysfs: move sysfs_lock to common moduleSeongJae Park4-4/+24
2022-11-30mm/damon/sysfs: remove parameters of damon_sysfs_region_alloc()SeongJae Park1-11/+3
2022-11-30mm/damon/sysfs: use damon_addr_range for region's start and end valuesSeongJae Park1-14/+11
2022-11-30mm/damon/core: split out scheme quota adjustment logic into a new functionSeongJae Park1-43/+48
2022-11-30mm/damon/core: split out scheme stat update logic into a new functionSeongJae Park1-5/+11
2022-11-30mm/damon/core: split damos application logic into a new functionSeongJae Park1-34/+39
2022-11-30mm/damon/core: split out DAMOS-charged region skip logic into a new functionSeongJae Park1-31/+65
2022-11-30mm/damon/sysfs: fix wrong empty schemes assumption under online tuning in dam...SeongJae Park1-2/+44
2022-11-22mm/damon/sysfs-schemes: skip stats update if the scheme directory is removedSeongJae Park1-0/+4
2022-11-08mm/damon/dbgfs: check if rm_contexts input is for a real contextSeongJae Park1-0/+7
2022-10-14Merge tag 'mm-stable-2022-10-13' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds2-18/+12
2022-10-12mm/damon: use damon_sz_region() in appropriate placeXin Hao2-11/+10
2022-10-12mm/damon: move sz_damon_region to damon_sz_regionXin Hao1-7/+2
2022-10-12Merge tag 'mm-hotfixes-stable-2022-10-11' of git://git.kernel.org/pub/scm/lin...Linus Torvalds1-0/+1
2022-10-11mm/damon/core: initialize damon_target->list in damon_new_target()SeongJae Park1-0/+1
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds13-860/+596
2022-10-03mm/damon: deduplicate damon_{reclaim,lru_sort}_apply_parameters()Kaixu Xia3-21/+40
2022-10-03mm/damon/sysfs: return 'err' value when call kstrtoul() failedXin Hao1-32/+14
2022-10-03mm/damon: rename damon_pageout_score() to damon_cold_score()Kaixu Xia4-5/+5
2022-10-03mm/damon: return void from damon_set_schemes()Kaixu Xia4-15/+6
2022-10-03mm/damon/lru_sort: change damon_lru_sort_wmarks to staticYang Yingliang1-1/+1
2022-10-03mm/damon/reclaim: change damon_reclaim_wmarks to staticYang Yingliang1-1/+1
2022-10-03mm/damon: use 'struct damon_target *' instead of 'void *' in target_valid()Kaixu Xia1-2/+1
2022-10-03mm/damon: simplify scheme create in lru_sort.cXin Hao1-22/+17
2022-10-03mm/damon/sysfs: avoid call damon_target_has_pid() repeatedlyXin Hao1-1/+2
2022-10-03mm/damon/core: simplify the kdamond stop mechanism by removing 'done'Kaixu Xia1-15/+9
2022-10-03mm/damon/sysfs: simplify the variable 'pid' assignment operationKaixu Xia1-7/+4
2022-10-03mm/damon: simplify the parameter passing for 'prepare_access_checks'Kaixu Xia2-6/+5
2022-10-03mm/damon/lru_sort: deduplicate hot/cold schemes generatorsSeongJae Park1-24/+21
2022-10-03mm/damon/lru_sort: use quotas param generatorSeongJae Park1-51/+19
2022-10-03mm/damon/reclaim: use the quota params generator macroSeongJae Park1-52/+12
2022-10-03mm/damon/modules-common: implement damos time quota params generatorSeongJae Park1-2/+5
2022-10-03mm/damon/modules-common: implement a damos quota params generatorSeongJae Park1-1/+7
2022-10-03mm/damon/lru_sort: use stat generatorSeongJae Park1-71/+12
2022-10-03mm/damon/reclaim: use stat parameters generatorSeongJae Park1-36/+5
2022-10-03mm/damon/modules-common: implement a stats parameters generator macroSeongJae Park1-0/+12
2022-10-03mm/damon/reclaim: use watermarks parameters generator macroSeongJae Park1-47/+9
2022-10-03mm/damon/lru_sort: use watermarks parameters generator macroSeongJae Park2-56/+12
2022-10-03mm/damon/modules-common: implement a watermarks module parameters generator m...SeongJae Park1-0/+7
2022-10-03mm/damon/reclaim: use monitoring attributes parameters generator macroSeongJae Park1-42/+5
2022-10-03mm/damon/lru_sort: use monitoring attributes parameters generaotr macroSeongJae Park1-42/+5
2022-10-03mm/damon: implement a monitoring attributes module parameters generator macroSeongJae Park1-0/+18
2022-10-03mm/damon/lru_sort: use 'struct damon_attrs' for storing parameters for itSeongJae Park1-19/+21
2022-10-03mm/damon/reclaim: use 'struct damon_attrs' for storing parameters for itSeongJae Park1-17/+19
2022-10-03mm/damon/core: reduce parameters for damon_set_attrs()SeongJae Park5-27/+35
2022-10-03mm/damon/core: use a dedicated struct for monitoring attributesSeongJae Park4-24/+24
2022-10-03mm/damon/core: factor out 'damos_quota' private fileds initializationSeongJae Park1-9/+14
2022-10-03mm/damon/core: copy struct-to-struct instead of field-to-field in damon_new_s...SeongJae Park1-17/+4
2022-10-03mm/damon/paddr: deduplicate damon_pa_{mark_accessed,deactivate_pages}()SeongJae Park1-14/+12
2022-10-03mm/damon/paddr: make supported DAMOS actions of paddr clearSeongJae Park1-0/+3
2022-10-03mm/damon: simplify scheme create in damon_lru_sort_apply_parametersXin Hao1-6/+4
2022-10-03mm/damon: improve damon_new_region strategyDawei Li1-2/+17
2022-10-03mm/damon/sysfs: use the wrapper directly to check if the kdamond is runningKaixu Xia1-2/+1
2022-10-03mm/damon/sysfs: change few functions execute orderXin Hao1-10/+14
2022-10-03mm/damon: remove duplicate get_monitoring_region() definitionsXin Hao3-70/+44
2022-10-03mm/damon/Kconfig: notify debugfs deprecation planSeongJae Park1-0/+3
2022-10-03mm/damon/core-test: test damon_set_regionsSeongJae Park1-0/+23
2022-10-03mm/damon/core: avoid holes in newly set monitoring target rangesSeongJae Park1-0/+30
2022-10-03mm/damon/vaddr: add a comment for 'default' case in damon_va_apply_scheme()Kaixu Xia1-0/+3
2022-10-03mm/damon: introduce struct damos_access_patternYajun Deng5-58/+86
2022-10-03mm/damon: simplify damon_ctx check in damon_sysfs_before_terminateXin Hao1-1/+1
2022-10-03mm/damon/core: iterate the regions list from current point in damon_set_regio...Kaixu Xia1-1/+2
2022-10-03mm/damon/sysfs: simplify the judgement whether kdamonds are busyKaixu Xia1-18/+7
2022-09-30damon/sysfs: fix possible memleak on damon_sysfs_add_targetLevi Yun1-1/+1
2022-09-26damon: convert __damon_va_three_regions to use the VMA iteratorLiam R. Howlett2-50/+39
2022-09-26Merge branch 'mm-hotfixes-stable' into mm-stableAndrew Morton1-5/+14
2022-09-11mm/damon: get the hotness from damon_hot_score() in damon_pageout_score()Kaixu Xia1-40/+6
2022-09-11mm/damon/vaddr: remove comparison between mm and last_mm when checking region...Kaixu Xia1-5/+6
2022-09-11mm/damon: simplify the parameter passing for 'check_accesses'Kaixu Xia2-6/+5
2022-09-11mm/damon: replace pmd_huge() with pmd_trans_huge() for THPBaolin Wang1-4/+4
2022-09-11mm/damon: validate if the pmd entry is present before accessingBaolin Wang1-0/+10
2022-09-11mm/damon/core: simplify the parameter passing for region split operationKaixu Xia2-15/+12
2022-09-11mm/damon/dbgfs: use kmalloc for allocating only one elementKenneth Lee1-1/+1
2022-09-11mm/damon/dbgfs: fix memory leak when using debugfs_lookup()Greg Kroah-Hartman1-5/+14
2022-08-28mm/damon/dbgfs: avoid duplicate context directory creationBadari Pulavarty1-0/+3
2022-08-05Merge tag 'mm-stable-2022-08-03' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds9-94/+759
2022-07-29mm/damon/reclaim: fix potential memory leak in damon_reclaim_init()Jianglei Nie1-1/+3
2022-07-17mm/damon/lru_sort: fix potential memory leak in damon_lru_sort_init()SeongJae Park1-1/+3
2022-07-03mm/damon: introduce DAMON-based LRU-lists SortingSeongJae Park3-0/+555
2022-07-03mm/damon/schemes: add 'LRU_DEPRIO' actionSeongJae Park2-0/+21
2022-07-03mm/damon/schemes: add 'LRU_PRIO' DAMOS actionSeongJae Park4-0/+65
2022-07-03mm/damon/paddr: use a separate function for 'DAMOS_PAGEOUT' handlingSeongJae Park1-6/+14
2022-07-03mm/damon/dbgfs: add and use mappings between 'schemes' action inputs and 'dam...SeongJae Park1-14/+50
2022-07-03mm/damon/reclaim: add 'damon_reclaim_' prefix to 'enabled_store()'SeongJae Park1-2/+2
2022-07-03mm/damon/reclaim: make 'enabled' checking timer simplerSeongJae Park1-8/+1
2022-07-03mm/damon/sysfs: deduplicate inputs applyingSeongJae Park1-35/+24
2022-07-03mm/damon/reclaim: deduplicate 'commit_inputs' handlingSeongJae Park1-13/+14
2022-07-03mm/damon/{dbgfs,sysfs}: move target_has_pid() from dbgfs to damon.hSeongJae Park2-15/+8
2022-07-03mm/damon: use set_huge_pte_at() to make huge pte oldBaolin Wang1-2/+1
2022-06-16mm/damon/reclaim: schedule 'damon_reclaim_timer' only after 'system_wq' is in...SeongJae Park1-0/+8
2022-05-19mm: damon: use HPAGE_PMD_SIZEKefeng Wang3-4/+3
2022-05-13mm/damon/reclaim: use resource_size function on resource objectJiapeng Chong1-1/+1
2022-05-13mm/damon/reclaim: support online inputs updateSeongJae Park1-33/+62
2022-05-13mm/damon/sysfs: support online inputs updateSeongJae Park1-9/+90
2022-05-13mm/damon/sysfs: update schemes stat in the kdamond contextSeongJae Park1-26/+135
2022-05-13mm/damon/sysfs: use enum for 'state' input handlingSeongJae Park1-10/+62
2022-05-13mm/damon/sysfs: reuse damon_set_regions() for regions settingSeongJae Park1-15/+18
2022-05-13mm/damon/sysfs: move targets setup code to a separated functionSeongJae Park1-21/+28
2022-05-13mm/damon/sysfs: prohibit multiple physical address space monitoring targetsSeongJae Park1-0/+4
2022-05-13mm/damon/vaddr: remove damon_va_apply_three_regions()SeongJae Park2-20/+4
2022-05-13mm/damon/vaddr: move 'damon_set_regions()' to coreSeongJae Park2-73/+73
2022-05-13mm/damon/vaddr: generalize damon_va_apply_three_regions()SeongJae Park1-24/+42
2022-05-13mm/damon/core: finish kdamond as soon as any callback returns an errorSeongJae Park1-2/+6
2022-05-13mm/damon/core: add a new callback for watermarks checksSeongJae Park1-1/+7
2022-05-13mm/damon/sysfs: support fixed virtual address ranges monitoringSeongJae Park1-7/+6
2022-05-13mm/damon/vaddr: register a damon_operations for fixed virtual address ranges ...SeongJae Park2-2/+17
2022-05-13mm/damon/sysfs: add a file for listing available monitoring opsSeongJae Park1-0/+19
2022-05-13mm/damon/core: add a function for damon_operations registration checksSeongJae Park1-3/+21
2022-04-29mm/damon/reclaim: fix the timer always stays activeHailong Tu1-2/+25
2022-04-29mm/damon: remove unnecessary type castingsYu Zhe1-1/+1
2022-04-29mm/damon/core-test: add a kunit test case for ops registrationSeongJae Park1-0/+36
2022-04-29damon: vaddr-test: tweak code to make the logic clearerXiaomeng Tong1-3/+5
2022-04-01mm/damon: prevent activated scheme from sleeping by deactivated schemesJonghyeon Kim1-1/+4
2022-03-22Merge tag 'folio-5.18c' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-33/+29
2022-03-22mm/damon/sysfs: remove repeat container_of() in damon_sysfs_kdamond_release()Xin Hao1-1/+1
2022-03-22mm/damon/sysfs: support DAMOS statsSeongJae Park1-0/+150
2022-03-22mm/damon/sysfs: support DAMOS watermarksSeongJae Park1-5/+215
2022-03-22mm/damon/sysfs: support schemes prioritizationSeongJae Park1-3/+149
2022-03-22mm/damon/sysfs: support DAMOS quotasSeongJae Park1-1/+145
2022-03-22mm/damon/sysfs: support DAMON-based Operation SchemesSeongJae Park1-0/+410
2022-03-22mm/damon/sysfs: support the physical address space monitoringSeongJae Park1-5/+271
2022-03-22mm/damon/sysfs: link DAMON for virtual address spaces monitoringSeongJae Park1-3/+189
2022-03-22mm/damon: implement a minimal stub for sysfs-based DAMON interfaceSeongJae Park3-0/+1092
2022-03-22mm/damon/core: allow non-exclusive DAMON start/stopSeongJae Park3-10/+17
2022-03-22mm/damon: remove unnecessary CONFIG_DAMON optiontangmeng1-1/+1
2022-03-22mm/damon/paddr,vaddr: remove damon_{p,v}a_{target_valid,set_operations}()SeongJae Park2-33/+2
2022-03-22mm/damon/dbgfs-test: fix is_target_id() changeSeongJae Park1-1/+3
2022-03-22mm/damon/dbgfs: use operations id for knowing if the target has pidSeongJae Park1-3/+3
2022-03-22mm/damon/dbgfs: use damon_select_ops() instead of damon_{v,p}a_set_operations()SeongJae Park1-3/+13
2022-03-22mm/damon/reclaim: use damon_select_ops() instead of damon_{v,p}a_set_operatio...SeongJae Park1-1/+3
2022-03-22mm/damon/paddr,vaddr: register themselves to DAMON in subsys_initcallSeongJae Park2-0/+40
2022-03-22mm/damon: let monitoring operations can be registered and selectedSeongJae Park1-0/+66
2022-03-22mm/damon: rename damon_primitives to damon_operationsSeongJae Park11-71/+72
2022-03-22mm/damon: remove redundant page validationBaolin Wang1-6/+0
2022-03-22mm/damon: remove the target id conceptSeongJae Park7-122/+128
2022-03-22mm/damon/core: move damon_set_targets() into dbgfsSeongJae Park4-52/+52
2022-03-22mm/damon/dbgfs/init_regions: use target index instead of target idSeongJae Park2-23/+22
2022-03-21mm/damon: minor cleanup for damon_pa_youngMiaohe Lin1-1/+1
2022-03-21mm/rmap: Convert rmap_walk() to take a folioMatthew Wilcox (Oracle)1-8/+7
2022-03-21mm/damon: Convert damon_pa_young() to use a folioMatthew Wilcox (Oracle)1-12/+15
2022-03-21mm/damon: Convert damon_pa_mkold() to use a folioMatthew Wilcox (Oracle)1-7/+9
2022-03-21mm: Add DEFINE_PAGE_VMA_WALK and DEFINE_FOLIO_VMA_WALKMatthew Wilcox (Oracle)1-10/+2