1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611
|
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.0.7
- sysinfo: Support perf information.
- sysinfo: Support <5.15 DAMON version inference.
- Support 'damon sample control' feature.
- Add --sample_primitives option.
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
|