enable DAMON on x86_64 #18050
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Hello, and thank you for opening this pull request! 👋🏼 We appreciate the contribution. We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted. Commits in this repo will typically be prefixed with Details: |
There was a problem hiding this comment.
Pull request overview
Enables DAMON monitoring and its sysfs interface for the x86_64 Azure Linux kernel.
Changes:
- Enables DAMON virtual and physical address monitoring.
- Keeps optional DAMON policies disabled.
- Synchronizes rendered configuration and refreshes the lock fingerprint.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
base/comps/kernel/6.18-x86_64-azl.config |
Enables DAMON for x86_64. |
specs/k/kernel/6.18-x86_64-azl.config |
Synchronizes rendered configuration. |
locks/kernel.lock |
Refreshes the component fingerprint. |
0011d8e to
efb816c
Compare
| CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y | ||
| CONFIG_INFINIBAND_VIRT_DMA=y | ||
| # CONFIG_INFINIBAND_BNXT_RE is not set | ||
| CONFIG_INFINIBAND_BNXT_RE=m |
reubeno
left a comment
There was a problem hiding this comment.
I'm not familiar with this particular kernel feature; I'd find it helpful to understand what use case you have in mind, whether there's runtime performance overhead of being enabled (but not activated), etc.
(FWIW -- It looks like this feature wasn't enabled in Azure Linux 3.0, and there's a mix of enablement/disablement across some other distros.)
| # Data Access Monitoring | ||
| # | ||
| # CONFIG_DAMON is not set | ||
| CONFIG_DAMON=y |
There was a problem hiding this comment.
Is there a reason this PR proposes enabling only on x86_64 and not also aarch64?
There was a problem hiding this comment.
I can enable it for arm as well. Was not sure if kernel configs were suppose to be mirrored, figured it was a task, only for x86 from my isde
There was a problem hiding this comment.
Let's mirror to both here and align with Fedora on these configs
| CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y | ||
| CONFIG_INFINIBAND_VIRT_DMA=y | ||
| # CONFIG_INFINIBAND_BNXT_RE is not set | ||
| CONFIG_INFINIBAND_BNXT_RE=m |
There was a problem hiding this comment.
Is this intended as a stacked PR on top of your other one that enables this option?
There was a problem hiding this comment.
Yes, given the config was hashed, i wanted to avoid having to regenerate the hash after the bntx module was merged.
Set CONFIG_INFINIBAND_BNXT_RE=m, reenabling RDMA support on Broadcom NetXtream NICS
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Enable the Data Access Monitoring framework in the x86_64 kernel config: CONFIG_DAMON=y CONFIG_DAMON_VADDR=y # virtual-address-space monitoring CONFIG_DAMON_PADDR=y # physical-address-space monitoring CONFIG_DAMON_SYSFS=y # sysfs control interface DAMON_RECLAIM/LRU_SORT/STAT are left off (opt-in actuators). The sub-options are declared explicitly so process_configs.sh (olddefconfig + listnewconfig) stays consistent now that the parent exposes them. Bumps azl_pkgrelease to 7 with a matching changelog entry; stacked on top of the bnxt_re-enable change (release 6). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
efb816c to
eeffd0f
Compare
| CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y | ||
| CONFIG_INFINIBAND_VIRT_DMA=y | ||
| # CONFIG_INFINIBAND_BNXT_RE is not set | ||
| CONFIG_INFINIBAND_BNXT_RE=m |
Hey @reubeno Wanted to use it to profile applications and see if we can use this telemetry to better right size them(memory footprint). Well thats the idea. All the auto reclaim options were left off, only flipped the observability side. |
Enable the Data Access Monitoring framework in the x86_64 kernel config:
CONFIG_DAMON=y
CONFIG_DAMON_VADDR=y # virtual-address-space monitoring
CONFIG_DAMON_PADDR=y # physical-address-space monitoring
CONFIG_DAMON_SYSFS=y # sysfs control interface
DAMON_RECLAIM/LRU_SORT/STAT are left off (opt-in). The sub-options are
declared explicitly so process_configs.sh (olddefconfig + listnewconfig)
stays consistent now that the parent exposes them. Source and rendered
config kept in sync via the verbatim config overlay; kernel.lock
input-fingerprint refreshed via 'azldev comp update -p kernel'.