Skip to content

backport enforce arc_dnode_limit to 2.2 #17583

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: zfs-2.2.9-staging
Choose a base branch
from

Conversation

siv0
Copy link
Contributor

@siv0 siv0 commented Jul 30, 2025

Motivation and Context

This patch is a backport of a7a144e ("enforce arc_dnode_limit")
a7a144e
for the 2.2 branch.

According to a simple reproducer of a colleague of mine the patch causes the dnode cache to shrink again after growing, while it remains at a high level without it. See the discussion (with details on the reproducer) at:
https://lore.proxmox.com/pve-devel/[email protected]/
for details on the reproducer.

Description

Started with a cherry-pick of a7a144e65 and adapted the code to changes from
55427ad ("Several improvements to ARC shrinking (#16197)")
5b9f3b7 ("Soften pruning threshold on not evictable metadata")
which are present in 2.3.3, but not in 2.2.8
I'm not familiar with that part of the code - so the changes might be missing something.

How Has This Been Tested?

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Quality assurance (non-breaking change which makes the code more robust against bugs)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

  • My code follows the OpenZFS code style requirements.
  • I have updated the documentation accordingly.
  • I have read the contributing document.
  • [] I have added tests to cover my changes.
  • [x ] I have run the ZFS Test Suite with this change applied.
  • All commit messages are properly formatted and contain Signed-off-by.

This patch is a backport of  a7a144e ("enforce arc_dnode_limit")
for the 2.2 branch.

back-ported from commit a7a144e
working around changes from:
55427ad ("Several improvements to ARC shrinking (openzfs#16197)")
5b9f3b7 ("Soften pruning threshold on not evictable metadata")
which are present in 2.3.3, but not in 2.2.8

Tested-by: Friedrich Weber <[email protected]>
Signed-off-by: Stoiko Ivanov <[email protected]>
@siv0
Copy link
Contributor Author

siv0 commented Aug 4, 2025

I think the failing checks on debian11/bullseye should be addressed by:
#17569 (CI: Remove Debian backports #17569)

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.

1 participant