According to my understanding of Ricardo's assumptions, O_DIRECT ought
to prevent kernel caching. If this is false, as my experiments point
out, then I think it follows that ZFS-FUSE ought to ship with the ARC
disabled or only minimally enabled.
At the moment I have horrible I/O contention issues between the kernel
and ZFS fighting for I/O in their respective partitions; this is why I
am investigating the caching issue as a way to optimize performance.
I'm trying to see how I can fit yet another disk on this already very
very hardware-stuffed machine, just to see if I can run the root
filesystem on a disk completely separate from the ZFS-FUSE one. And,
of course, ionice doesn't help as I pointed out in my latest post
titled "Priority inversion?". It's unbearable. ZFS is a champ, don't
get me wrong, but the minute an app does heavy disk I/O, the machine
grinds to its knees.
You guys were really telling the naked truth when you recommended
against running ZFS along with UFS on the same disk.