aboutsummaryrefslogtreecommitdiffstats
path: root/mm/damon
AgeCommit message (Expand)AuthorFilesLines
2024-03-04mm: madvise: pageout: ignore references rather than clearing youngBarry Song1-1/+1
2024-02-23mm/damon/reclaim: implement memory PSI-driven quota self-tuningSeongJae Park1-0/+25
2024-02-23mm/damon/reclaim: implement user-feedback driven quota auto-tuningSeongJae Park1-0/+28
2024-02-23mm/damon/sysfs-schemes: support PSI-based quota auto-tuneSeongJae Park1-2/+40
2024-02-23mm/damon/core: implement PSI metric DAMOS quota goalSeongJae Park1-0/+25
2024-02-23mm/damon/core: support multiple metrics for quota goalSeongJae Park2-5/+22
2024-02-23mm/damon/core: let goal specified with only target and current valuesSeongJae Park2-12/+7
2024-02-23mm/damon/core: remove ->goal field of damos_quotaSeongJae Park1-12/+5
2024-02-23mm/damon/sysfs: use only quota->goalsSeongJae Park3-19/+35
2024-02-23mm/damon/core: add multiple goals per damos_quota and helpers for thoseSeongJae Park1-7/+71
2024-02-23mm/damon/core: split out quota goal related fields to a structSeongJae Park2-11/+12
2024-02-23mm/damon/sysfs: implement a kdamond command for updating schemes' effective q...SeongJae Park3-0/+56
2024-02-23mm/damon/sysfs-schemes: implement quota effective_bytes fileSeongJae Park1-0/+14
2024-02-23mm/damon/core: set damos_quota->esz as public field and documentSeongJae Park1-4/+4
2024-02-22mm/damon/sysfs: handle 'state' file inputs for every sampling interval if pos...SeongJae Park3-16/+29
2024-02-22mm/damon/dbgfs: rename monitor_on file to monitor_on_DEPRECATEDSeongJae Park1-1/+1
2024-02-22mm/damon/dbgfs: make debugfs interface deprecation message a macroSeongJae Park1-8/+7
2024-02-22mm/damon/dbgfs: implement deprecation notice fileSeongJae Park1-2/+17
2024-02-22mm/damon: rename CONFIG_DAMON_DBGFS to DAMON_DBGFS_DEPRECATEDSeongJae Park1-1/+6
2024-02-20mm/damon/lru_sort: fix quota status loss due to online tuningsSeongJae Park1-7/+36
2024-02-20mm/damon/reclaim: fix quota stauts loss due to online tuningsSeongJae Park1-1/+17
2024-02-20mm/damon/sysfs-schemes: handle schemes sysfs dir removal before commit_scheme...SeongJae Park1-0/+4
2024-02-20mm/damon/core: check apply interval in damon_do_apply_schemes()SeongJae Park1-4/+11
2024-02-07mm/damon/sysfs-schemes: fix wrong DAMOS tried regions update timeout setupSeongJae Park1-1/+1
2023-12-29mm/damon/vaddr: change asm-generic/mman-common.h to linux/mman.hTanzir Hasan1-1/+1
2023-12-20mm/damon/core-test: test max_nr_accesses overflow caused divide-by-zeroSeongJae Park1-0/+11
2023-12-20mm/damon: update email of SeongJaeSeongJae Park7-7/+7
2023-12-20sync mm-stable with mm-hotfixes-stable to pick up depended-upon changesAndrew Morton1-0/+6
2023-12-12mm/damon/core: make damon_start() waits until kdamond_fn() startsSeongJae Park1-0/+6
2023-12-12mm/damon/core-test: add a unit test for the feedback loop algorithmSeongJae Park1-0/+32
2023-12-12mm/damon/sysfs-schemes: implement a command for scheme quota goals only commitSeongJae Park3-0/+46
2023-12-12mm/damon/sysfs-schemes: commit damos quota goals user input to DAMOSSeongJae Park1-0/+32
2023-12-12mm/damon/sysfs-schemes: implement files for scheme quota goals setupSeongJae Park1-3/+221
2023-12-12mm/damon/core: implement goal-oriented feedback-driven quota auto-tuningSeongJae Park1-9/+59
2023-12-10mm/damon/core-test: test damon_split_region_at()'s access rate copyingSeongJae Park1-4/+11
2023-12-06mm/damon/sysfs-schemes: add timeout for update_schemes_tried_regionsSeongJae Park1-6/+43
2023-12-06mm/damon/core: copy nr_accesses when splitting regionSeongJae Park1-0/+1
2023-11-15mm/damon/core.c: avoid unintentional filtering out of schemesHyeongtak Ji1-1/+1
2023-11-15mm/damon/sysfs-schemes: handle tried region directory allocation failureSeongJae Park1-0/+2
2023-11-15mm/damon/sysfs-schemes: handle tried regions sysfs directory allocation failureSeongJae Park1-0/+3
2023-11-15mm/damon/sysfs: check error from damon_sysfs_update_target()SeongJae Park1-1/+3
2023-11-15mm/damon/sysfs: eliminate potential uninitialized variable warningDan Carpenter1-1/+1
2023-11-02Merge tag 'mm-nonmm-stable-2023-11-02-14-08' of git://git.kernel.org/pub/scm/...Linus Torvalds1-2/+1
2023-11-01mm/damon/sysfs: update monitoring target regions for online input commitSeongJae Park1-17/+30
2023-11-01mm/damon/sysfs: remove requested targets when online-commit inputsSeongJae Park1-34/+36
2023-10-25mm/damon/sysfs-test: add a unit test for damon_sysfs_set_targets()SeongJae Park3-0/+100
2023-10-25mm/damon/core: avoid divide-by-zero from pseudo-moving window length calculationSeongJae Park1-1/+1
2023-10-25mm/damon/lru_sort: avoid divide-by-zero in hot threshold calculationSeongJae Park1-3/+1
2023-10-25mm/damon/ops-common: avoid divide-by-zero during region hotness calculationSeongJae Park1-3/+2
2023-10-25mm/damon/core: avoid divide-by-zero during monitoring results updateSeongJae Park1-8/+2
2023-10-18mm/damon/sysfs: avoid empty scheme tried regions for large apply intervalSeongJae Park3-4/+48
2023-10-18mm/damon/sysfs-schemes: do not update tried regions more than one DAMON snapshotSeongJae Park1-0/+77
2023-10-18Merge mm-hotfixes-stable into mm-stable to pick up depended-upon changes.Andrew Morton1-2/+5
2023-10-18mm/damon/sysfs: check DAMOS regions update progress from before_terminate()SeongJae Park1-2/+5
2023-10-16mm/damon/core: remove unnecessary si_meminfo invoke.Huan Yang1-4/+2
2023-10-04kthread: add kthread_stop_putAndreas Gruenbacher1-2/+1
2023-10-04mm/damon/core-test: fix memory leak in damon_new_ctx()Jinjie Ruan1-0/+4
2023-10-04mm/damon/core-test: fix memory leak in damon_new_region()Jinjie Ruan1-1/+3
2023-10-04mm/damon/sysfs-schemes: support DAMOS apply intervalSeongJae Park1-4/+34
2023-10-04mm/damon/core: implement scheme-specific apply intervalSeongJae Park5-9/+72
2023-10-04mm/damon/sysfs-schemes: use nr_accesses_bp as the source of tried_regions/<N>...SeongJae Park1-1/+1
2023-10-04mm/damon/core: make DAMOS uses nr_accesses_bp instead of nr_accessesSeongJae Park1-2/+3
2023-10-04mm/damon/core: mark damon_moving_sum() as a static functionSeongJae Park1-1/+1
2023-10-04mm/damon/core: skip updating nr_accesses_bp for each aggregation intervalSeongJae Park1-2/+0
2023-10-04mm/damon/core: use pseudo-moving sum for nr_accesses_bpSeongJae Park3-10/+27
2023-10-04mm/damon/core: introduce nr_accesses_bpSeongJae Park2-0/+11
2023-10-04mm/damon/core-test: add a unit test for damon_moving_sum()SeongJae Park1-0/+16
2023-10-04mm/damon/core: implement a pseudo-moving sum functionSeongJae Park1-0/+40
2023-10-04mm/damon/vaddr: call damon_update_region_access_rate() alwaysSeongJae Park1-3/+7
2023-10-04mm/damon/core: define and use a dedicated function for region access rate updateSeongJae Park3-8/+20
2023-10-04mm/damon/core: use number of passed access sampling as a timerSeongJae Park1-49/+47
2023-10-04mm/damon/core: add a tracepoint for damos apply target regionsSeongJae Park1-1/+31
2023-10-04mm/damon/core: remove 'struct target *' parameter from damon_aggregated trace...SeongJae Park1-1/+1
2023-10-04mm/damon/core: fix a comment about damon_set_attrs() call timingsSeongJae Park1-1/+5
2023-09-29mm/damon/vaddr-test: fix memory leak in damon_do_test_apply_three_regions()Jinjie Ruan1-0/+2
2023-09-29mm: hugetlb: add huge page size param to set_huge_pte_at()Ryan Roberts1-1/+2
2023-08-21merge mm-hotfixes-stable into mm-stable to pick up depended-upon changesAndrew Morton2-0/+3
2023-08-21mm/damon/sysfs-schemes: support target damos filterSeongJae Park1-0/+27
2023-08-21mm/damon/core: implement target type damos filterSeongJae Park1-6/+16
2023-08-21mm/damon/core-test: add a unit test for __damos_filter_out()SeongJae Park1-0/+61
2023-08-21mm/damon/sysfs-schemes: support address range type DAMOS filterSeongJae Park1-0/+56
2023-08-21mm/damon/core: introduce address range type damos filterSeongJae Park1-0/+52
2023-08-21mm/damon/sysfs: implement a command for updating only schemes tried total bytesSeongJae Park3-8/+27
2023-08-21mm/damon/sysfs-schemes: implement DAMOS tried total bytes fileSeongJae Park1-0/+17
2023-08-21mm/damon/core-test: add a test for damos_new_filter()SeongJae Park1-0/+13
2023-08-21damon: use pmdp_get instead of drectly dereferencing pmdLevi Yun3-10/+17
2023-08-21mm: enable page walking API to lock vmas during the walkSuren Baghdasaryan1-0/+2
2023-08-04mm/damon/core: initialize damo_filter->list from damos_new_filter()SeongJae Park1-0/+1
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