Go to file
Alexander Motin ca95fa3531 Linux: Report reclaimable memory to kernel as such (#16385)
Linux provides SLAB_RECLAIM_ACCOUNT and __GFP_RECLAIMABLE flags to
mark memory allocations that can be freed via shinker calls.  It
should allow kernel to tune and group such allocations for lower
memory fragmentation and better reclamation under pressure.

This patch marks as reclaimable most of ARC memory, directly
evictable via ZFS shrinker, plus also dnode/znode/sa memory,
indirectly evictable via kernel's superblock shrinker.

Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Allan Jude <allan@klarasystems.com>
2024-11-14 15:20:06 -08:00
.github ZTS: Add Fedora 41, remove Fedora 39 2024-11-05 11:09:22 -08:00
cmd Verify parent_dev before calling udev_device_get_sysattr_value 2024-11-06 10:06:30 -08:00
config config: remove checks with unused defines 2024-11-13 10:17:08 -08:00
contrib Updating bash completion build file 2024-11-06 10:06:30 -08:00
etc etc/init.d: decide which variant to use at build time. 2024-04-22 09:28:06 -07:00
include Linux: Report reclaimable memory to kernel as such (#16385) 2024-11-14 15:20:06 -08:00
lib libzfs: use zfs_strerror() in place of strerror() 2024-11-05 15:43:53 -08:00
man zdb: add extra -T flag to show histograms of BRT refcounts 2024-11-06 10:06:30 -08:00
module Linux: Report reclaimable memory to kernel as such (#16385) 2024-11-14 15:20:06 -08:00
rpm contrib: link zpool to zfs in bash-completion (#16376) 2024-08-26 15:10:16 -07:00
scripts ZTS: Use QEMU for tests on Linux and FreeBSD 2024-11-04 11:06:02 -08:00
tests Fix generation of kernel uevents for snapshot rename on linux 2024-11-05 15:43:53 -08:00
udev Avoid computing strlen() inside loops 2024-11-05 15:43:52 -08:00
.cirrus.yml CI: add FreeBSD build with Cirrus CI 2023-10-07 09:08:20 -07:00
.editorconfig
.gitignore Packaging: Auto-generate changelog during configure (#15528) 2023-11-16 14:23:03 -08:00
.gitmodules .gitmodules: link to openzfs github repository 2021-04-12 09:37:23 -07:00
.mailmap AUTHORS: refresh with recent new contributors (#16362) 2024-07-23 11:58:49 -07:00
AUTHORS AUTHORS: refresh with recent new contributors (#16362) 2024-07-23 11:58:49 -07:00
autogen.sh Ubuntu 22.04 integration: ShellCheck 2022-11-18 11:24:48 -08:00
CODE_OF_CONDUCT.md Documentation corrections 2022-12-22 11:34:28 -08:00
configure.ac Packaging: Auto-generate changelog during configure (#15528) 2023-11-16 14:23:03 -08:00
copy-builtin copy-builtin: add hooks with sed/>> 2022-05-10 10:17:43 -07:00
COPYRIGHT
LICENSE
Makefile.am Process script directory for all configs 2022-10-27 16:45:14 -07:00
META Linux 6.11 compat: META 2024-11-04 10:34:48 -08:00
NEWS Fix NEWS file 2020-08-26 21:44:41 -07:00
NOTICE
README.md FreeBSD: Fix the build on FreeBSD 12 2023-11-28 15:19:07 -08:00
RELEASES.md Add RELEASES.md file 2021-04-02 16:33:40 -07:00
TEST
zfs.release.in

img

OpenZFS is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community. This repository contains the code for running OpenZFS on Linux and FreeBSD.

codecov coverity

Official Resources

Installation

Full documentation for installing OpenZFS on your favorite operating system can be found at the Getting Started Page.

Contribute & Develop

We have a separate document with contribution guidelines.

We have a Code of Conduct.

Release

OpenZFS is released under a CDDL license. For more details see the NOTICE, LICENSE and COPYRIGHT files; UCRL-CODE-235197

Supported Kernels

  • The META file contains the officially recognized supported Linux kernel versions.
  • Supported FreeBSD versions are any supported branches and releases starting from 12.4-RELEASE.