-
Notifications
You must be signed in to change notification settings - Fork 224
fix: arc_default_max (zfs_arc_max) on Linux matches FreeBSD as of zfs-2.3.0 #569
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
base: master
Are you sure you want to change the base?
Conversation
This change was made in #15437 and has been active as of zfs-2.3.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Updates the module parameters documentation to reflect the change in default ARC max sizing on Linux as of OpenZFS 2.3.0, aligning it with FreeBSD.
- Document post-2.3.0 behavior: Linux matches FreeBSD (max ARC = max(all_memory - 1GB, 5/8 of memory))
- Retain and label pre-2.3.0 behavior for Linux
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| * **Linux** and **FreeBSD**: the larger of ``all_system_memory - 1GB`` and ``5/8 × all_system_memory`` | ||
|
|
||
| *prior to v2.3.0* | ||
|
|
||
| * **Linux**: 1/2 of system memory | ||
| * **FreeBSD**: the larger of ``all_system_memory - 1GB`` and ``5/8 × all_system_memory`` | ||
|
|
Copilot
AI
Oct 15, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The standalone italic line 'prior to v2.3.0' breaks the bullet list into two separate lists and is stylistically inconsistent. For clarity and proper rendering, consider using a Sphinx versionchanged directive and explicit labels, e.g., '.. versionchanged:: 2.3.0' describing the change, and restructure as a single section with labeled subsections or a nested list (e.g., 'As of 2.3.0:' and 'Prior to 2.3.0:'). Also, prefer 'Prior to 2.3.0:' (capitalized, no 'v') to match typical version notation.
| * **Linux** and **FreeBSD**: the larger of ``all_system_memory - 1GB`` and ``5/8 × all_system_memory`` | |
| *prior to v2.3.0* | |
| * **Linux**: 1/2 of system memory | |
| * **FreeBSD**: the larger of ``all_system_memory - 1GB`` and ``5/8 × all_system_memory`` | |
| * As of 2.3.0: | |
| * **Linux** and **FreeBSD**: the larger of ``all_system_memory - 1GB`` and ``5/8 × all_system_memory`` | |
| .. versionchanged:: 2.3.0 | |
| Prior to 2.3.0: | |
| * **Linux**: 1/2 of system memory | |
| * **FreeBSD**: the larger of ``all_system_memory - 1GB`` and ``5/8 × all_system_memory`` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.

This change was made in #15437 and has been active as of zfs-2.3.0.
I'm not sure the convention for dealing with behavior changes between ZFS versions in docs, so I left the pre-v2.3.0 behavior listed, and notated it as such. Let me know if I should remove it.