> >Does setting these properties to a more-restrictive setting drop
> >now-excluded cache entries immediately?  (in other words, would  
> >setting
> >primarycache=none and then setting it back to all serve to empty the
> >cache of any entries from the affected datasets, and free up the
> >corresponding system memory or cache disk space?)
> 
> Clever, but no it does not - the properties only apply to new I/O.

Nor should it.  The ARC and L2ARC are both physical caches, whereas
ZFS datasets are logical.  There can be many-to-one mappings between
datasets and cached blocks, whether because of snapshots (today) or
deduplication (coming).  Trying to flush the ARC or L2ARC in response
to turning off caching in a particular dataset would be like trying
to flush physically tagged e-cache lines in respose to a process
with shared memory segments exiting.

Jeff

Reply via email to