Skip to content

enable DAMON on x86_64 #18050

Open
AZaugg wants to merge 4 commits into
microsoft:4.0from
AZaugg:azaugg/4.0/config-damon-enable
Open

enable DAMON on x86_64 #18050
AZaugg wants to merge 4 commits into
microsoft:4.0from
AZaugg:azaugg/4.0/config-damon-enable

Conversation

@AZaugg

@AZaugg AZaugg commented Jul 17, 2026

Copy link
Copy Markdown

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'.

Copilot AI review requested due to automatic review settings July 17, 2026 15:56
@AZaugg
AZaugg requested a review from a team as a code owner July 17, 2026 15:56
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@github-actions

Copy link
Copy Markdown

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 fix:, feat:, docs:, chore:, refactor:, test:, or ci: to indicate the type of change being proposed. The linked specification has more details.

Details:

No release type found in pull request title "enable DAMON on x86_64 ". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@AZaugg
AZaugg force-pushed the azaugg/4.0/config-damon-enable branch from 0011d8e to efb816c Compare July 17, 2026 16:46
Copilot AI review requested due to automatic review settings July 17, 2026 16:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_BNXT_RE is not set
CONFIG_INFINIBAND_BNXT_RE=m

@reubeno reubeno left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason this PR proposes enabling only on x86_64 and not also aarch64?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@rlmenge rlmenge Jul 17, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this intended as a stacked PR on top of your other one that enables this option?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, given the config was hashed, i wanted to avoid having to regenerate the hash after the bntx module was merged.

AZaugg and others added 4 commits July 17, 2026 12:59
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>
Copilot AI review requested due to automatic review settings July 17, 2026 17:01
@AZaugg
AZaugg force-pushed the azaugg/4.0/config-damon-enable branch from efb816c to eeffd0f Compare July 17, 2026 17:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_BNXT_RE is not set
CONFIG_INFINIBAND_BNXT_RE=m
@AZaugg

AZaugg commented Jul 17, 2026

Copy link
Copy Markdown
Author

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.)

Hey @reubeno
check out https://docs.kernel.org/mm/damon/index.html

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants