New ZFSv28 patchset for 8-STABLE

Attila Nagy bra at
Mon Jan 10 17:30:42 UTC 2011

  On 01/10/2011 09:57 AM, Pawel Jakub Dawidek wrote:
> On Sun, Jan 09, 2011 at 12:52:56PM +0100, Attila Nagy wrote:
> [...]
>> I've finally found the time to read the v28 patch and figured out the
>> problem: vfs.zfs.l2arc_noprefetch was changed to 1, so it doesn't use
>> the prefetched data on the L2ARC devices.
>> This is a major hit in my case. Enabling this again restored the
>> previous hit rates and lowered the load on the hard disks significantly.
> Well, not storing prefetched data on L2ARC vdevs is the default is
> Solaris. For some reason it was changed by kmacy@ in r205231. Not sure
> why and we can't ask him now, I'm afraid. I just sent an e-mail to
What happened to him?
> Brendan Gregg from Oracle who originally implemented L2ARC in ZFS why
> this is turned off by default. Once I get answer we can think about
> turning it on again.
I think it makes some sense as a stupid form of preferring random IO in 
the L2ARC instead of sequential. But if I rely on auto tuning and let 
prefetch enabled, even a busy mailserver will prefetch a lot of blocks 
and I think that's a fine example of random IO (also, it makes the 
system unusable, but that's another story).

Having this choice is good, and in this case enabling this makes sense 
for me. I don't know any reasons about why you wouldn't use all of your 
L2ARC space (apart from sparing the quickly wearing out flash space and 
move disk heads instead), but I'm sure Brendan made this choice with a 
good reason.
If you get an answer, please tell us. :)


More information about the freebsd-stable mailing list