> >>(1) If *anyone* wants the block cached, it is cached.
> >>(2) If *anyone* doesn't want the block cached, it is not cached.
> >>(3) It might or might not be cached depending who gets there first.
> >>
> >>To me, (1) is the only policy that makes sense, or is even defensible.
> >
> >Agreed.  Seems like this could be accomplished in the above scenario by 
> >having C set L2ARC_IS_CACHEABLE when it hits in the cache.
> >
> Indeed... and looking back at the actual webrev (instead of relying on
> my memory) I see that Eric actually implemented something like (2)
> above.  That is, he uses a ARC_DONT_L2CACHE flag and sets it when NC
> gets a hit.

OK.  So it seems like the solution is to invert the logic there,
and OR in ARC_DO_L2CACHE on any secondarily-cacheable cache hit.
Everyone cool with that?

Jeff

Reply via email to