| This file records important changes that made in each release. Those are |
| picked by human sense, so could be incomplete and missing many things. |
| |
| v3.1.1 |
| - Refactor DAMON features management. |
| |
| v3.1.0 |
| - damo report sysinfo: Support available DAMON modules listing. |
| - Fix 5.15 kernel 'damo report access' breakage for None age. |
| - Add more unit tests for trace output parsing. |
| |
| v3.0.9 |
| - Support 'perf' unavailable systems. |
| - Require 'trace-cmd' instead, for 'damo record'. |
| |
| v3.0.8 |
| - Add --sample_primitives option. |
| |
| v3.0.7 |
| - sysinfo: Support perf information. |
| - sysinfo: Support <5.15 DAMON version inference. |
| - Support 'damon sample control' feature. |
| |
| v3.0.6 |
| - damo report damon: Support yaml format with --format option. |
| - Provide wrong memcg DAMOS filter error detail. |
| - sysinfo: use git-based damo version if available. |
| - Support nr_stats and max_nr_stats |
| (https://lore.kernel.org/20251123184329.85287-1-sj@kernel.org). |
| |
| v3.0.5 |
| - Fix a bug in 'damo report heatmap --interactive_edit'. |
| - damo record: Support taking snapshots from DAMON_STAT. |
| - Improve --include_child_tasks monitoring results inheritance on kernels not |
| supporting obsolete targets feature. |
| - Cleanup damon feature check code. |
| |
| v3.0.4 |
| - Fix debugfs interface support bug that was introduced by v3.0.3. |
| - damo report sysinfo: Support trace features. |
| - More feature/sysinfo check cleanups. |
| |
| v3.0.3 |
| - damo report access: Add 'cold-memory-tail' and 'idle-memory-percentiles' |
| --style option. |
| - Implement 'damo report sysinfo'. |
| - Refactor DAMON features check system. |
| |
| v3.0.2 |
| - Improve monitoring results inheritance for --include_child_tasks use case, on |
| kernels supporting obsolete_target feature. |
| - Introduce --obsolete_targets option for online DAMON parameter commit |
| commands. |
| - Fix DAMON features check for allow_filter and hugepage_size. |
| |
| v3.0.1 |
| - Update damo record test be more time-error tolerant. |
| - Add node_memcg_{used,free}bp DAMOS quota goal feature check. |
| - Support obsolete_target sysfs file support. |
| |
| v3.0.0 |
| - Save record output per user-specified time interval (--output_flush_sec, one |
| hour by default). |
| - Add record filter options to 'damo adjust' for splitting too huge record |
| files into multiple files. |
| - Support node_memcg_{used,free}_bp DAMOS quota goal |
| (https://lore.kernel.org/20251009212042.60084-1-sj@kernel.org) |
| |
| v2.9.9 |
| - Fix lost targets bug on _damon.add_childs_target(). |
| - Clarify target regions inheritance behavior. |
| - Support retrieving DAMON records from DAMON_STAT. |
| |
| v2.9.8 |
| - Fixup 'damo report holistic' breakage. |
| - Avoid unnecessary DAMOS tried regions update in 'damo report damon --json'. |
| - Add '--omit_damos_tried_regions' to 'damo report damon'. |
| - Preparation of DAMON_STAT support on 'damo record' and 'damo report access'. |
| |
| v2.9.7 |
| - DAMOS arguments parsing cleanup. |
| - Errors out on invalid number of --damos_action arguments. |
| |
| v2.9.6 |
| - Prepare DAMON_STAT integration into DAMON records. |
| |
| v2.9.5 |
| - Accelerate --include_child_tasks to be recursive |
| |
| v2.9.4 |
| - damo module stat: support transforming partial idle time percentiles to idle |
| time-memory size visualization (--input_idle_time_percentiles). |
| |
| v2.9.3 |
| - Support per-threads monitoring of damon/next kernel |
| - Support idle time to memory size visualization for DAMON_STAT |
| |
| v2.9.2 |
| - Add idle time to memory size visualization as a 'damo report access --exec' |
| example script (report_access_exec_scripts/idle_time_mem_sz.py). |
| |
| v2.9.1 |
| - Add experimental support of write-only and cpus group-only monitoring. |
| - damo args damon: format DAMOS apply interval in human-friendly way. |
| |
| v2.9.0 |
| - Support multiple DAMOS (migration) action destinations. |
| - Add example scripts for memory tiering and LRU lists sorting under scripts/. |
| |
| v2.8.9 |
| - Show access frequency in hertz by default. |
| - Support automatic and faster DAMON status read (--refresh_stat). |
| |
| v2.8.8 |
| - Improve handling of access records that made with intervals auto-tuning |
| |
| v2.8.7 |
| - damo report heatmap: Support interactive zoom and scroll (--interactive_edit) |
| - Support DAMOS_QUOTA_INACTIVE_MEM_BP |
| |
| v2.8.6 |
| - damo report heatmap: Support base value for --address_range and --time_range |
| - support active_mem_bp DAMOS quota goal metric |
| |
| v2.8.5 |
| - damo report heatmap: support sorting regions on space by access temperature |
| (--sort_temperature to use the feature, --temperature_weights for custom |
| temperature calculation) |
| - damo report access: improve handling records made with auto-tuned intervals |
| - use inferred interval for percentiles, histogram, and memory bw |
| |
| v2.8.4 |
| - Support local-repo usage on distros having symlink dir in os.sys.path. |
| - Advance 'damo report heatmap' for modern DAMON features. |
| - Display unknown heat pixels as transparent. |
| - gnuplot output: Use fixed color range. |
| - Fix snapshot an age accounting bug. |
| - Support human friendly --{time,address}_range. |
| - Support DAMOS filters-passed memory heatmap. |
| - report heatmap,access: Support multiple input record files |
| - report access: Show monitoring intervals regardless of intervals auto-tuning. |
| |
| v2.8.3 |
| - Support 'damo report heatmap' for snapshot records. |
| - Support 'damo report heatmap' for multi records with different intervals. |
| - fix --numa_nodes bug (commit c42f8ec54dcb). |
| |
| v2.8.2 |
| - refactor damo_report_access and add more tests for that |
| - damo start: add --include_child_tasks options for virtual address space. |
| |
| v2.8.1 |
| - damo report access: support <temperature percentiles> snapshot keyword. |
| - damo report access: extend --style for 'temperature percentiles'. |
| - add damo command 'module', for controlling all DAMON kernel modules. |
| |
| v2.8.0 |
| - damo report access: extend --style for 'recency percentiles' |
| |
| v2.7.9 |
| - fix wrong hugepage_size handling from 'damo report access --input' case |
| - add '<recency percentiles>' and '<df-passed recency percentiles>' snapshot |
| format keywords |
| |
| v2.7.8 |
| - damo report access: keep auto-tuned intervals |
| - damo report access: show auto-tuned intervals by default |
| - damo report access: extend --format for appending info on current output |
| |
| v2.7.7 |
| - damo report access: allow visualizing given access information with arbitrary |
| Python code (--exec) |
| |
| v2.7.6 |
| - damo help: add topics for DAMON record filtering and formatting |
| - damo report access: add option for manual histogram ranges setup |
| (--hist_ranges) |
| - USAGE.md updates for 'damo help' and multiple contexts support |
| |
| v2.7.5 |
| - Let partial DAMON parameters command line option supports multiple kdamonds, |
| multiple contexts, multiple monitoring targets |
| - Use '--nr_schemes', '--nr_targets' and '--nr_ctxs' |
| |
| v2.7.3 |
| - Support 'active' page filter |
| - Introduce 'damo help' for detaield help messages for given topics |
| - Currently command line options for DAMON parameters are supported |
| - Remove '--damos_filter_out' |
| |
| v2.7.2 |
| - Clarify available DAMON parameters keywords |
| - List available --damos_action parameters on help message |
| - Remove 'damo report raw' support |
| - Add '--draw_range' option to 'damo report heatmap' |
| |
| v2.7.1 |
| - 'damo report access': support logscale histograms via --hist_logscale |
| - 'damo report access': add '<damos stats>' snapshot format keyword |
| |
| v2.7.0 |
| - remove 'damo report heats', 'damo show', and 'damo status' as notified |
| - 'damo report access': show moitoring intervals tuning status if auto-tuning |
| is enabled |
| |
| v2.6.9 |
| - add pa_layout subcommand (experimental) |
| - support running DAMON for multiple NUMA nodes with --numa_node option |
| - add '<intervals tuning status>' snapshot format keyword |
| - add '<format strings>' record format keyword |
| |
| v2.6.8 |
| - damo report access |
| - add '<filters passed estimated memory bandwidth>' snapshot format keyword |
| (show it by default) |
| - add --repeat option |
| - support static length snapshot heatmap (--snapshot_heatmap_static) |
| - add 'hot' and 'cold' --style arguments |
| |
| v2.6.7 |
| - Support monitoring intervals auto-tuning goal ('--monitoring_intervals_goal') |
| - damo report access: add '<estimated memory bandwidth>' snapshot format keyword |
| - show it by default |
| - Visualize DAMOS filters passed regions heatmap |
| - Warn allow filters usage without reject filters after that |
| - Add '--omit_defaults' option to 'damo args damon' |
| - Omit non-parameters from 'damo args damon' outputs |
| |
| v2.6.6 |
| - Improve multiple kdamonds parameters edit |
| - damo args damon: add '--out' and '--replace' option |
| - update documentation |
| - Deprecate 'damo report heats', 'damo show' and 'damo status' |
| - Add experimental option, 'damo report damon --damon_params_omit_defaults' |
| |
| v2.6.5 |
| - damo report access: add '<positive access samples ratio>' snapshot format keyword |
| - damo report access: add '<filters passed bytes>' snapshot format keyword |
| - damo report access: Show <filters passed bytes> on snapshot tail by default |
| - Code cleanup |
| |
| v2.6.4 |
| - Allow more human-friendly DAMOS filter format, v2 |
| - <allow|reject> [none] <type> [<additional type argument>...] |
| - e.g., 'damo report access --snapshot_damos_filter allow none anon reject memcg a/b/c' |
| - Code cleanup |
| |
| v2.6.3 |
| - Remove 'damo fmt_json' |
| - Rename --damos_filter for snapshot commands to --snapshot_damos_filter |
| - Support --snapshot_damos_filter from 'damo record' for snapshot case |
| - Support general snapshot filters from 'damo record' for snapshot case |
| - Add a single option to specify what to record ('damo record --do_record') |
| - Remove experimental --no_{vmas,mem_footprint,profile} in favor of the new |
| option |
| |
| v2.6.2 |
| - Support DAMOS pass filter |
| (https://lore.kernel.org/20241227210819.63776-1-sj@kernel.org) |
| - Document --damos_filter option format |
| - Support per-region filter-passed memory histogram visualization |
| - Support per-region filter-passed bytes visualization on record |
| |
| v2.6.1 |
| - Support page level properties based access monitoring |
| (https://lore.kernel.org/all/20241219040327.61902-1-sj@kernel.org/) |
| - 'damo report damon': provide per-scheme, per-region page level filters passed bytes |
| - 'damo report access': show the per-region information by default, when available |
| - support '--damos_filter' for snapshot use case |
| (e.g., damo report access --damos_filter anon matching) |
| - show the per-region data when '--tried_regions_of' is given |
| |
| v2.6.0 |
| - Support filtering records via snapshot index (damo report access --snapshot_idx) |
| |
| v2.5.9 |
| - damo report access: Add heatmap by default even if there is only single snapshot. |
| - Wordsmith and clarify concepts on documents. |
| |
| v2.5.8 |
| - Fix snapshot heatmap temperature calculation bug |
| - damo report access: Show snapshot heatmap by default |
| - deprecate 'damo fmt_json' |
| |
| v2.5.7 |
| - Remove end address from default region format of 'damo report access' |
| - Add temperature based region filter (--temperature of multiple report commands) |
| - Add '<temperature>' region format keyword for 'damo report access' |
| |
| v2.5.6 |
| - Reduce a corner case to use stale cached kernel feature check results |
| - Implement '<heatmap>' snapshot visualization format |
| (damo report access --format_snapshot_head <heatmap>) |
| - Support multiple kdamonds parameters edit (experimental) |
| (--add and --remove of 'damo args damon') |
| - Support human-readable DAMON parameters view (experimental) |
| ('damo args damon --format report') |
| |
| v2.5.5 |
| - Minimize unnecessary I/O for kernel features check |
| |
| v2.5.4 |
| - Implement recency to total size of regions histogram visualization |
| (damo report access --style recency-sz-hist) |
| - Implement temperature to total size of regions histogram visualization |
| (damo report access --style temperature-sz-hist) |
| - Clarify 'damo' support scope on README.md |
| |
| v2.5.3 |
| - Implement 'damo report raw' alternative as 'damo report access --raw_form' |
| - Mark 'damo report raw' as will be deprecated |
| - Use 'damon.data' as --input_file of 'damo report access' as a last resort |
| |
| v2.5.2 |
| - Add features deprecation process documentation |
| - Mark 'damo show', 'damo status' and 'damo report heats' as will be deprecated |
| - Update USAGE.md for alternatives of the will-be-deprecated features |
| |
| v2.5.1 |
| - 'damo report kdamonds': Support full feature of 'damo status' |
| - Rename 'damo report kdamonds' to 'damo report damon' |
| - Mark 'damo args' officially supported |
| - Update documents |
| |
| v2.5.0 |
| - 'damo record': Extend processes' CPU usage recording to general stats |
| - 'damo record': Record kdamonds |
| - 'damo report': Add 'kdamonds' report type |
| |
| v2.4.9 |
| - Add --timeout option to 'damo record' |
| - Add --show_cpu_usage to 'damo status' |
| |
| v2.4.8 |
| - Update awslabs URLs to damonitor URLs |
| (https://lore.kernel.org/20240813232158.83903-1-sj@kernel.org) |
| - Add a new report type, 'access' |
| - Work same to 'show' (some behaviors will be changed in future) |
| - Support --damos_filter_out option for DAMOS-control commands |
| |
| v2.4.7 |
| - Hide DAMON parameter options from help messages of commands except |
| 'damo args damon'. |
| - Support snapshots recording (damo record --snapshot). |
| - 'damo show': Support json format formatting parameters. |
| - 'damo args': Support access formatting parameters |
| ('damo args accesses_format'). |
| - Hide detailed formatting parameter options from help message of 'damo show'. |
| |
| v2.4.6 |
| - Mark 'damo fmt_json' as will-be-deprecated. |
| |
| v2.4.5 |
| - 'damo record': Record CPU usages of kdamonds and target processes |
| - Update 'damo args --format=yaml` output |
| |
| v2.4.4 |
| - 'damo report heatmap': Select hottest region as default plot target region |
| - 'damo record': Record vmas by default |
| - Introduce 'damo args' command |
| - Supports formatting DAMON parameters in json and yaml formats |
| |
| v2.4.3 |
| - 'damo report': Shorten holistic output by default |
| - 'damo monitor': Support holistic report type |
| |
| v2.4.2 |
| - Support 'diagnose' subcommand |
| - Add hotspot functions on 'damo report holistic' output |
| - 'damo reclaim': Support online and auto tuning |
| |
| v2.4.1 |
| - Implement the first version of 'holistic' report type |
| - Document source files hierarchy on CONTRIBUTING file |
| - Simplify target regions part of 'damo fmt_json' output |
| - Cleanup code |
| |
| v2.4.0 |
| - Complete support of migrage_{hot,cold} DAMOS action |
| - target_nid support and schemes_migrate feature check is added |
| - Support 'all' metric for 'damo report footprints' |
| - Add unit test on pre-commit hooks |
| |
| v2.3.9 |
| - Support migrate_{hot,cold} DAMOS action |
| - Need taget_nid work for fully functioning |
| |
| v2.3.8 |
| - Support yaml format DAMON parameters |
| |
| v2.3.7 |
| - Cleanup code and documents |
| |
| v2.3.6 |
| - Support memory mapping recording (--vmas) |
| - Support custom temperature weights from 'damo show' (--temperature_weights) |
| - Add heatmap report type (damo report heatmap) |
| |
| v2.3.5 |
| - Add --style option of 'damo show' |
| - Add --damos_quotas_{time,space,interval,weights} options |
| - Add 'temperature' regions sorting key for 'damo show' |
| |
| v2.3.4 |
| - damo record: Set --profile and --footprint by default |
| - Cleanup documents and files |
| |
| v2.3.3 |
| - Support memory footprint recording for non-process and ongoing targets |
| - damo report wss: Do --collapse_targets by default |
| - damo record: Do --include_child_tasks by default |
| |
| v2.3.2 |
| - Support system memory footprints recording/reporting |
| |
| v2.3.1 |
| - Hotfix release for bugs that intorudced with v2.3.0 |
| |
| v2.3.0 |
| - Implement 'damo report footprints' |
| |
| v2.2.9 |
| - Cleanup code |
| |
| v2.2.8 |
| - Support recording memory usage of monitoring target process |
| |
| v2.2.7 |
| - Support region box right-side aligning (--region_box_align) of 'damo show' |
| - Cleanup code |
| |
| v2.2.6 |
| - Cleanup code |
| |
| v2.2.5 |
| - Support damon/next tree feature, the DAMOS filter type for young pages |
| - Implement '--infer_version' of 'damo feature' |
| |
| v2.2.4 |
| - Implement 'damo report profile' |
| - Implement 'damo report times' |
| - Implement snapshot size based record filtering (--sz_snapshot) |
| |
| v2.2.3 |
| - Document 'replay' command |
| - Support profiling data record (--profile option of 'damo record') |
| - Add a prototype of access pattern-based profiling report generation |
| |
| v2.2.2 |
| - Implement 'replay' command |
| - Support damon/next tree feature, quota goal metric |
| |
| v2.2.1 |
| - Support damon/next tree feature, effective quota |
| |
| v2.2.0 |
| - Make 'damo show' faster on schemes apply interval supporting kernel |
| |
| v2.1.9 |
| - dbgfs: Use proc/mounts |
| - Rename --damon_interface to --damon_interface_DEPRECATED |
| - Support damon/next kernel change for DAMON debugfs deprecation |
| (https://git.kernel.org/pub/scm/linux/kernel/git/sj/damon-hack.git/tree/todo?id=90812522ebb5#n9) |
| |
| v2.1.8 |
| - sysfs: Use proc/mounts |
| - sysfs/stage_kdamonds(): Be features detection independent |
| |
| v2.1.7 |
| - Cleanup code |
| |
| v2.1.6 |
| - Cleanup code |
| |
| v2.1.5 |
| - Hotfix of v2.1.4: Add missing _damo_print.py file. |
| |
| v2.1.4 |
| - 'damo show, damo report raw': Use a pager if the output is longer than the |
| terminal |
| |
| v2.1.3 |
| - 'damo reclaim': Support 'skip_anon' |
| - Cleanup code and documents |
| |
| v2.1.2 |
| - Internal code cleanup |
| |
| v2.1.1 |
| - Internal code cleanup |
| |
| v2.1.0 |
| - Remove 'damo translate_damos' |
| - Internal code cleanup |
| - Make 'damo show' fail faster for some cases |
| |
| v2.0.9 |
| - Internal code cleanup |
| |
| v2.0.8 |
| - Support DAMOS quota goals (not mainlined DAMON feature) |
| |
| v2.0.7 |
| - 'damo status': Add an option for only entered inputs without updating sysfs |
| - 'damo fmt_json': Drop non-input fields |
| |
| v2.0.6 |
| - Optimize 'damo status --damos_stat' to update only needed metrics |
| - Implement an alternative of '--damos_stat', namely '--damos_stats' |
| - Remove '--damos_stat' option |
| |
| v2.0.5 |
| - Code cleanup |
| - damo show: Use DAMOS address filter if possible |
| |
| v2.0.4 |
| - Save/load kernel feature supports to/from $HOME/.damo.damon_feature_supports |
| - Cleanup feature supports handling |
| |
| v2.0.3 |
| - Let 'damo status --damos_stat' to work with debugfs interface |
| - Schemes test code cleanup |
| - Misc code cleanup |
| |
| v2.0.2 |
| - Remove DAMON results record binary file format handling code |
| - Schemes test code cleanup |
| |
| v2.0.1 |
| - Deprecate DAMON results record binary file format |
| - 'damo status': Support scheme statistic only output |
| |
| v2.0.0 |
| - Trivial fixes and cleanups |
| |
| v1.9.9 |
| - Update documents for online usage commands (start/tune/stop/show/status) |
| |
| v1.9.8 |
| - Support DAMOS apply interval (feature on damon/next only as of this release) |
| - Update documents |
| |
| v1.9.7 |
| - Reverse unnecessary support of DAMON's moving access rate |
| - Support DAMOS apply intrvals (feature on damon/next only as of this release) |
| - Support DAMOS recording (feature on damon/next only as of this release) |
| |
| v1.9.6 |
| - Remove '<age access_rate size> region format keyword |
| - Should use only '<box>' |
| - Add '<region box description>' snapshot keyword |
| - Add '--region_box' option for shortcut of box-based representation |
| - Allow per-key reverse sorting of regions |
| - Minimul support of DAMON's moving access rate |
| |
| v1.9.5 |
| - Code cleanup |
| |
| v1.9.4 |
| - DAMON command line options: Support multiple DAMOS schemes |
| - damo show: Support log/linear scale of region box |
| |
| v1.9.3 |
| - Restore --ascii_color and --plot_ascii of 'damo report heat' |
| - damo show: Support coloring of region box |
| - damo show: Implement '<age heat bar>' |
| - damo show: Make region box to use logscale for columns and rows |
| - damo show: Support more region box customizations |
| |
| v1.9.2 |
| - Support DAMOS filters, quotas, and watermarks via command line |
| - Support target idx DAMOS filter |
| - Implement '<size heat bar>' and '<size heat age bar>' region format keyword |
| for 'damo show' (likely be changed in future) |
| |
| v1.9.1 |
| - Remove 'damo stat' |
| - 'damo show' update |
| - Support address range based filtering |
| - Add snapshot format keyword for number of regions |
| - Implement '<size bar>' region format keyword (subject to change in future) |
| |
| v1.9.0 |
| - Mark 'damo stat' as deprecated |
| - Use '--force' for 'perf script' |
| - Internal code cleanup |
| |
| v1.8.9 |
| - Support flexible formatting of 'damo show' output |
| - Implement access pattern based 'damo show' output sorting |
| - Support --tried_regions_of option of 'damo show' |
| - Cleanup _damon_resul.py |
| |
| v1.8.8 |
| - Support under-development schemes tried regions total bytes file |
| - Fix empty snapshot for vaddr ops issue |
| - Polish 'damo show' output format |
| - Support 'update_schemes_tried_bytes' DAMON sysfs command |
| |
| v1.8.7 |
| - Stop supporting non-mainlined DAMOS kernel implementations |
| - Rename 'damo show status' into 'damo status' |
| - Re-implement 'damo show': Support snapshot and record files, but still not |
| stabilized |
| |
| v1.8.6 |
| - Cleanup code |
| |
| v1.8.5 |
| - Add a not yet stabilized version of 'damo show' |
| |
| v1.8.4 |
| - Remove Python2 support |
| - Cleanup code |
| |
| v1.8.3 |
| - Remove '--rbuf' and kernel-direct record file generation support code |
| - More documentation of deprecated features |
| - Implement '--include_childs' option for 'damo record' |
| - Move single line DAMOS schemes input handling to a new module, |
| _damo_deprecated |
| |
| v1.8.2 |
| - Support zlib-compressed json format monitoring record file |
| - Use zlib-compressed json format monitoring record file format by default |