aboutsummaryrefslogtreecommitdiffstats
path: root/mm/damon
AgeCommit message (Expand)AuthorFilesLines
2025-04-01mm/damon/core: simplify control flow in damon_register_ops()Taotao Chen1-5/+4
2025-03-21mm/damon: implement a new DAMOS filter type for active pagesNhat Pham2-0/+4
2025-03-17mm/damon/sysfs-schemes: avoid Wformat-security warning on damon_sysfs_access_...SeongJae Park1-1/+1
2025-03-17mm/damon: remove damon_operations->reset_aggregatedSeongJae Park3-4/+0
2025-03-17mm/damon: remove damon_callback->before_damos_applySeongJae Park1-9/+4
2025-03-17mm/damon: remove damon_callback->after_samplingSeongJae Park1-3/+0
2025-03-17mm/damon: remove ->before_start of damon_callbackSeongJae Park1-2/+0
2025-03-17mm/damon/sysfs-schemes: remove obsolete comment for damon_sysfs_schemes_clear...SeongJae Park1-1/+0
2025-03-17mm/damon/sysfs: remove damon_sysfs_cmd_request and its readersSeongJae Park1-23/+1
2025-03-17mm/damon/sysfs: remove damon_sysfs_cmd_request_callback() and its callersSeongJae Park1-62/+0
2025-03-17mm/damon/sysfs: remove damon_sysfs_cmd_request code from damon_sysfs_handle_c...SeongJae Park1-32/+0
2025-03-17mm/damon/sysfs: handle commit command using damon_call()SeongJae Park1-11/+6
2025-03-17mm/damon/core: make damon_set_attrs() be safe to be called from damon_call()SeongJae Park2-14/+48
2025-03-17mm/damon/core: invoke kdamond_call() after merging is done if possibleSeongJae Park1-3/+3
2025-03-17mm/damon/sysfs: validate user inputs from damon_sysfs_commit_input()SeongJae Park1-2/+10
2025-03-17mm/damon/sysfs-schemes: return error when for attempts to install filters on ...SeongJae Park1-0/+20
2025-03-17mm/damon/sysfs-schemes: record filters of which layer should be added to the ...SeongJae Park1-10/+36
2025-03-17mm/damon/core: expose damos_filter_for_ops() to DAMON kernel API callersSeongJae Park1-1/+8
2025-03-17mm/damon/sysfs-schemes: commit filters in {core,ops}_filters directoriesSeongJae Park1-3/+11
2025-03-17mm/damon/sysfs-schemes: implement core_filters and ops_filters directoriesSeongJae Park1-2/+38
2025-03-17mm/damon/sysfs-schemes: let damon_sysfs_scheme_set_filters() be used for diff...SeongJae Park1-4/+7
2025-03-17mm/damon/paddr: respect ops_filters_default_rejectSeongJae Park1-1/+1
2025-03-17mm/damon/core: set damos_filter default allowance behavior based on installed...SeongJae Park1-5/+36
2025-03-17mm/damon/paddr: support only damos->ops_filtersSeongJae Park1-12/+0
2025-03-17mm/damon/core: put ops-handled filters to damos->ops_filtersSeongJae Park1-1/+16
2025-03-17mm/damon/core: support committing ops_filtersSeongJae Park1-1/+39
2025-03-17mm/damon/paddr: support ops_filtersSeongJae Park1-0/+12
2025-03-17mm/damon/core: introduce damos->ops_filtersSeongJae Park1-0/+1
2025-03-17mm/damon/sysfs: implement a command to update auto-tuned monitoring intervalsSeongJae Park1-0/+20
2025-03-17mm/damon/sysfs: commit intervals tuning goalSeongJae Park1-0/+7
2025-03-17mm/damon/sysfs: implement intervals tuning goal directorySeongJae Park1-0/+189
2025-03-17mm/damon/core: implement intervals auto-tuningSeongJae Park1-0/+76
2025-03-17mm/damon: add data structure for monitoring intervals auto-tuningSeongJae Park1-0/+22
2025-03-16mm/damon: implement a new DAMOS filter type for unmapped pagesSeongJae Park2-0/+4
2025-03-16mm/damon/sysfs-schemes: add files for setting damos_filter->sz_rangeUsama Arif1-0/+54
2025-03-16mm/damon: introduce DAMOS filter type hugepage_sizeUsama Arif3-0/+10
2025-03-16mm/damon/core: do damos walking in entire regions granularitySeongJae Park1-6/+3
2025-03-16mm/damon/core: do not call damos_walk_control->walk() if walk is completedSeongJae Park1-0/+3
2025-03-16mm/damon/core: unset damos->walk_completed after confimed setSeongJae Park1-0/+3
2025-03-16mm/damon: avoid applying DAMOS action to same entity multiple timesSeongJae Park2-12/+28
2025-03-16mm/damon/ops: have damon_get_folio return folio even for tail pagesUsama Arif2-7/+19
2025-03-16mm/damon: handle device-exclusive entries correctly in damon_folio_mkold_one()David Hildenbrand1-2/+21
2025-03-16mm/damon: handle device-exclusive entries correctly in damon_folio_young_one()David Hildenbrand1-1/+9
2025-03-16mm/damon/core: initialize damos->walk_completed in damon_new_scheme()SeongJae Park1-0/+1
2025-03-16mm/damon: respect core layer filters' allowance decision on ops layerSeongJae Park2-1/+8
2025-01-25mm/damon/core: use str_high_low() helper in damos_wmark_wait_us()Thorsten Blum1-3/+3
2025-01-25mm/damon/paddr: improve readability of damon_pa_statJoshua Hahn1-4/+1
2025-01-25mm/damon/paddr: increment pa_stat damon address range by folio sizeUsama Arif1-2/+6
2025-01-25mm/damon/sysfs-schemes: add a file for setting damos_filter->allowSeongJae Park1-1/+31
2025-01-25mm/damon: add 'allow' argument to damos_new_filter()SeongJae Park5-8/+10
2025-01-25mm/damon/paddr: support damos_filter->allowSeongJae Park1-3/+3
2025-01-25mm/damon/core: support damos_filter->allowSeongJae Park2-8/+8
2025-01-25mm/damon/core: add damos_filter->allow fieldSeongJae Park1-0/+1
2025-01-25mm/damon: remove DAMON debugfs interfaceSeongJae Park3-1165/+0
2025-01-25mm/damon: remove DAMON debugfs interface kunit testsSeongJae Park4-194/+0
2025-01-25mm/damon/sysfs-schemes: expose per-region filter-passed bytesSeongJae Park3-3/+21
2025-01-25mm/damon/core: pass per-region filter-passed bytes to damos_walk_control->wal...SeongJae Park2-4/+5
2025-01-25mm/damon/syfs-schemes: implement per-scheme filter-passed bytes statSeongJae Park1-0/+16
2025-01-25mm/damon/core: implement per-scheme ops-handled filter-passed bytes statSeongJae Park1-2/+4
2025-01-25mm/damon/paddr: report filter-passed bytes back for DAMOS_STAT actionSeongJae Park1-1/+34
2025-01-25mm/damon/paddr: report filter-passed bytes back for normal actionsSeongJae Park1-11/+22
2025-01-25mm/damon: ask apply_scheme() to report filter-passed region-internal bytesSeongJae Park3-3/+5
2025-01-25mm/damon/sysfs: remove unused code for schemes tried regions updateSeongJae Park3-282/+2
2025-01-25mm/damon/sysfs: use damos_walk() for update_schemes_tried_{bytes,regions}SeongJae Park3-0/+96
2025-01-25mm/damon/core: implement damos_walk()SeongJae Park1-0/+132
2025-01-25mm/damon/sysfs: use damon_call() for update_schemes_effective_quotasSeongJae Park1-8/+7
2025-01-25mm/damon/sysfs: use damon_call() for commit_schemes_quota_goalsSeongJae Park1-5/+6
2025-01-25mm/damon/sysfs: use damon_call() for update_schemes_statsSeongJae Park1-10/+21
2025-01-25mm/damon/core: introduce damon_call()SeongJae Park1-0/+86
2025-01-25mm/damon/sysfs: handle clear_schemes_tried_regions from DAMON sysfs contextSeongJae Park2-15/+4
2025-01-25mm/damon/sysfs-schemes: remove unnecessary schemes existence check in damon_s...SeongJae Park3-14/+7
2025-01-13mm/damon/tests/vaddr-kunit.h: reduce stack consumptionAndrew Morton1-1/+1
2025-01-13mm/damon/core: remove duplicate list_empty quota->goals checkHonggyu Kim1-5/+2
2024-12-30mm/damon/core: fix ignored quota goals and filters of newly committed schemesSeongJae Park1-0/+5
2024-12-30mm/damon/core: fix new damon_target objects leaks on damon_commit_targets()SeongJae Park1-1/+4
2024-11-23Merge tag 'mm-stable-2024-11-18-19-27' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds4-7/+10
2024-11-19Merge tag 'timers-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-3/+2
2024-11-11Merge branch 'mm-hotfixes-stable' into mm-stableAndrew Morton1-14/+28
2024-11-07mm/damon/tests/dbgfs-kunit: fix the header double inclusion guarding ifdef co...SeongJae Park1-1/+1
2024-11-07mm/damon/Kconfig: update DBGFS_KUNIT prompt copy for SYSFS_KUNITSeongJae Park1-1/+1
2024-11-07mm/damon/core: avoid overflow in damon_feed_loop_next_input()SeongJae Park1-7/+21
2024-11-07mm/damon/core: handle zero schemes apply intervalSeongJae Park1-4/+4
2024-11-07mm/damon/core: handle zero {aggregation,ops_update} intervalsSeongJae Park1-3/+3
2024-11-06mm/damon/vaddr: add 'nr_piece == 1' check in damon_va_evenly_split_region()Zheng Yejian2-0/+4
2024-11-06mm/damon/vaddr: fix issue in damon_va_evenly_split_region()Zheng Yejian2-2/+3
2024-11-06mm: add missing mmu_notifier_clear_young for !MMU_NOTIFIERJames Houghton1-2/+0
2024-11-05mm/damon: fix sparse warning for zero initializerLeo Stone1-1/+1
2024-10-17mm/damon/tests/sysfs-kunit.h: fix memory leak in damon_sysfs_test_add_targets()Jinjie Ruan1-0/+1
2024-10-16mm/damon/core: Use generic upper bound recommondation for usleep_range()Anna-Maria Behnsen1-2/+1
2024-10-16timers: Rename usleep_idle_range() to usleep_range_idle()Anna-Maria Behnsen1-1/+1
2024-09-26mm/damon/Kconfig: update DAMON doc URLDiederik de Haas1-1/+1
2024-09-21Merge tag 'mm-stable-2024-09-20-02-31' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds9-15/+84
2024-09-09mm/damon/tests/core-kunit: skip damon_test_nr_accesses_to_accesses_bp() if ag...SeongJae Park2-1/+19
2024-09-09mm/damon/tests/vaddr-kunit: init maple tree without MT_FLAGS_LOCK_EXTERNSeongJae Park1-1/+1
2024-09-09Revert "mm/damon/lru_sort: adjust local variable to dynamic allocation"SeongJae Park1-11/+4
2024-09-09mm/damon/core: replace per-quota regions priority histogram buffer usage with...SeongJae Park1-3/+6
2024-09-09mm/damon/core: introduce per-context region priorities histogram bufferSeongJae Park1-0/+5
2024-09-09mm/damon/vaddr: protect vma traversal in __damon_va_thre_regions() with rcu r...Liam R. Howlett1-0/+2
2024-09-03mm/damon/tests: add .kunitconfig file for DAMON kunit testsSeongJae Park1-0/+22
2024-09-03mm/damon: move kunit tests to tests/ subdirectory with _kunit suffixSeongJae Park8-4/+4
2024-09-03mm/damon/dbgfs-test: skip dbgfs_set_init_regions() test if PADDR is not regis...SeongJae Park1-0/+5
2024-09-03mm/damon/dbgfs-test: skip dbgfs_set_targets() test if PADDR is not registeredSeongJae Park1-0/+5
2024-09-03mm/damon/core-test: fix damon_test_ops_registration() for DAMON_VADDR unset caseSeongJae Park1-1/+16
2024-09-03mm/damon/core-test: test only vaddr case on ops registration testSeongJae Park1-6/+2
2024-09-01mm/damon/lru_sort: adjust local variable to dynamic allocationPeng Hao1-4/+11
2024-07-12mm: provide mm_struct and address to huge_ptep_get()Christophe Leroy1-3/+3
2024-07-06Merge branch 'mm-hotfixes-stable' into mm-stable to pick up "mm: fixAndrew Morton1-2/+19
2024-07-04mm/damon/paddr: initialize nr_succeeded in __damon_pa_migrate_folio_list()SeongJae Park1-1/+1
2024-07-03mm/damon/core: merge regions aggressively when max_nr_regions is unmetSeongJae Park1-2/+19
2024-07-03mm/damon/lru_sort: remove unnecessary online tuning handling codeSeongJae Park1-27/+1
2024-07-03mm/damon/lru_sort: use damon_commit_ctx()SeongJae Park1-7/+20
2024-07-03mm/damon/reclaim: remove unnecessary code for online tuningSeongJae Park1-18/+1
2024-07-03mm/damon/reclaim: use damon_commit_ctx()SeongJae Park1-19/+24
2024-07-03mm/damon/sysfs-schemes: rename *_set_{schemes,scheme_filters,quota_score,sche...SeongJae Park3-8/+8
2024-07-03mm/damon/sysfs-schemes: remove unnecessary online tuning handling codeSeongJae Park1-65/+3
2024-07-03mm/damon/sysfs: rename damon_sysfs_set_targets() to ...add_targets()SeongJae Park2-6/+6
2024-07-03mm/damon/sysfs: remove unnecessary online tuning handling codeSeongJae Park2-59/+3
2024-07-03mm/damon/sysfs-schemes: use damos_commit_quota_goals()SeongJae Park1-2/+12
2024-07-03mm/damon/sysfs: use damon_commit_ctx()SeongJae Park1-2/+13
2024-07-03mm/damon/core: implement DAMON context commit functionSeongJae Park1-0/+274
2024-07-03mm/damon/core: implement DAMOS quota goals online commit functionSeongJae Park1-0/+59
2024-07-03mm/damon/paddr: introduce DAMOS_MIGRATE_HOT action for promotionHyeongtak Ji2-0/+4
2024-07-03mm/damon/paddr: introduce DAMOS_MIGRATE_COLD action for demotionHonggyu Kim2-0/+155
2024-07-03mm/damon/sysfs-schemes: add target_nid on sysfs-schemesHyeongtak Ji5-5/+41
2024-05-11mm/damon/core: fix return value from damos_wmark_metric_valueAlex Rusuf1-4/+5
2024-05-11mm/damon/core: initialize ->esz_bp from damos_quota_init_priv()SeongJae Park1-0/+1
2024-05-07mm/vmscan: remove ignore_references argument of reclaim_pages()SeongJae Park1-1/+1
2024-05-07mm/damon/paddr: do page level access check for pageout DAMOS action on its ownSeongJae Park1-4/+12
2024-05-07mm/damon/paddr: avoid unnecessary page level access check for pageout DAMOS a...SeongJae Park1-1/+11
2024-05-05mm/damon/paddr: implement DAMOS filter type YOUNGSeongJae Park1-0/+5
2024-05-05mm/damon: add DAMOS filter type YOUNGSeongJae Park1-0/+1
2024-05-05mm/damon/paddr: implement damon_folio_mkold()SeongJae Park1-11/+16
2024-05-05mm/damon/paddr: implement damon_folio_young()SeongJae Park1-13/+19
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-33/+35
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