The problem with ARC in ZFS on Linux is the double caching. Linux already has a page cache. It doesn't need ZFS to provide a second page cache. I want to store things in the Linux page cache once, not once in the page cache and once in ZFS's special-sauce cache.
If ARC is so good, it should be the general Linux page cache algorithm.
I maybe wrong, but I remember (circa 2011) that any access to ZFS on Linux entirely ignored page cache buffers unless you use mmap, so by "default" only binaries and libraries get double cached.
ARC is better than page cache in linux right now. It's not used by linux because:
1) Linus irrational hate towards ZFS (every rant I read shows clearly that he has next to zero knowledge about ZFS)
2) Patents and Licensing
Also, it's a linux's problem that it's doing that, not ZFS - nothing is cached twice on other platforms that run ZFS. Why? See reason #1.
If ARC is so good, it should be the general Linux page cache algorithm.