Jeff Bonwick wrote: >>>> (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?
Makes sense to me. -- Darren J Moffat
