File: release_note

package info (click to toggle)
damo 3.0.8-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 27,492 kB
  • sloc: python: 14,063; sh: 958; makefile: 30; ansic: 13
file content (611 lines) | stat: -rw-r--r-- 20,104 bytes parent folder | download
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