Merge in compressed ARC patches
The latest release of ZFS on Linux includes a patch related to one of the changes in compressed ARC support. The issue results in a notable decline in ARC hit rate.
The details of the ZoL patch can be found here: https://github.com/zfsonlinux/zfs/pull/6989
It is my option from testing my own hack import of the patch into FreeBSD 11-STABLE and 11.1-R that this issue also affects FreeBSD 11.1+ and FreeNAS. On my own system running FreeBSD 11.1 (with this patch) my ARC hit rate went from ~35% to ~97% after a few days. The system serves as a file share, runs several jails and also ran a few buildworlds on the machine in that time. I'd like someone to validate my findings if possible.
I'm not sure how soon OpenZFS/FreeBSD are to port that over, FreeNAS is usually one of the first to pull in the cross-pollination of ZFS enhancements that I've seen.
#2 Updated by Alexander Motin over 2 years ago
- Category set to OS
- Priority changed from No priority to Expected
- Target version set to 11.2-BETA1
- Severity set to Medium
Description in the ZoL PR looks significant. I'll take a deeper look on it. Unfortunately I don't see it in Illumos/OpenZFS, that complicates things, but at least the patch is not very invasive.
#5 Updated by Alexander Motin over 2 years ago
- Priority changed from Expected to Important
We tried that patch, and while it does improve some synthetic tests, we haven't found it to produce significant difference in more realistic tests. The reason is that very small amount of data are kept decompressed in DMU cache, and so affected by this issue. It should probably be fixed, but may be not a huge deal. It should be proposed to OpenZFS for inclusion.
#9 Updated by Dru Lavigne over 2 years ago
- Needs Doc changed from Yes to No
#10 Updated by Eric Loewenthal over 2 years ago
- Assignee changed from Alexander Motin to Dru Lavigne
Dru: I think the OpenZFS blurb should read just "device removal" instead of "SLOG/L2ARC device removal", or something along those lines. SLOG and L2ARC have been removable for a very long time, the new feature is for vdev removal (only works with mirrors, according to the man page).