Conversation
I created a logo for DAMON using DAMON, just for fun.

You could also create some for yourself. For detailed instructions: https://sjp38.github.io/post/damon_heatmap_logo/

#linux #kernel #damon #damo #masim
1
1
1
@sj what could be the problem if everything seems to work but the resulting heat map is all zero?
1
0
0
@vbabka I guess you were using `damo report heats --heatmap` or `damo report heatmap` for virtual address space accesses monitoring? If so, `--address_range` option might need to be used.

In detail, in case of virtual address spaces monitoring, there are two huge address gaps between stack, mmap()-ed regions, and heat. Hence drawing heatmap for entire mapped regions results in only black image. Hence `damo` finds up to three biggest contiguous adress ranges (for heap, stack, and mmap()-ed regions) in the record that consistently shown some accesses. Then, it plots heatmap for biggest region. In some cases, real accesses are made in mmap()-ed regions but heat area has larger mapped regions, so `damo` ends up plotting heatmap for the heat area that not really actively accessed. In the case, you show only black image. For this case, `damo report heatmap --guide` shows the three regions that `damo` found. You can find what address range you need to plot the heatmap, and set it using `--address_range` option.

We were planning to update the default plot target address range from biggest region to regions having most heats in near future, but it has not prioritized so far. Now it has an issue: https://github.com/awslabs/damo/issues/106

Please let me know if this is not the case.
2
0
0
@vbabka Yet another workaround is using `damo report holistic` instead. It will plot the heatmap for three regions at once, like https://github.com/awslabs/damo/blob/v2.4.3/USAGE.md#holistic .
0
0
0
@sj well I was trying to do exactly this https://sjp38.github.io/post/damon_heatmap_logo/ (my question was in a reply to your toot about it), will try your suggestions thx
1
0
0
@vbabka Thank you for clarifying. I think that should be the case that I explained. I'll update the heatmap plot target selection or do something else to make the reproduction smoother. The --address_range option should work as a workaround until the update is landed.
1
0
1

@vbabka And, the fix[1] is pushed. I confirmed it works as below:

$ cat slab_pixel
11111 11
11 11 11
11 11111

11111111
      11
      11

11111111
11 11
11111111

11111111
11 11 11
 111111
$ ./pixels_to_access_config.py slab_pixel $((100* 1024*1024)) 250 slab.cfg
$ sudo ../damo/damo record "./masim ./slab.cfg"
$ sudo ../damo/damo report heatmap --output slab.png

[1] https://github.com/awslabs/damo/commit/7d6fd42371cc6a1611da72fde6076ca7b5ad1b37

0
0
1