hi,
 i'm re-sending this because I'm hoping that someone has some answers
to the following questions.  I'm working a hot Escalation on AmberRoad
and am trying to understand what's under zfs' hood.

thanks
Solaris RPE
/andrew rutz

On 11/25/09 13:55, andrew.r...@sun.com wrote:
I am trying to understand the ARC's behavior based on different
permutations of (a)sync Reads and (a)sync Writes.

thank you, in advance


o does the data for a *sync-write* *ever* go into the ARC?
  eg, my understanding is that the data goes to the ZIL (and
  the SLOG, if present), but how does it get from the ZIL to the ZIO layer?
  eg, does it go to the ARC on its way to the ZIO ?
  o if the sync-write-data *does* go to the ARC, does it go to
    the ARC *after* it is written to the ZIL's backing-store,
    or does the data go to the ZIL and the ARC in parallel ?
    o if a sync-write's data goes to the ARC and ZIL *in parallel*,
      then does zfs prevent an ARC-hit until the data is confirmed
      to be on the ZIL's nonvolatile media (eg, disk-platter or SLOG) ?
      or could a Read get an ARC-hit on a block *before* it's written
      to zil's backing-store?


o is the DMU where the Serialization of transactions occurs?

o if an async-Write for block-X hits the Serializer before a Read
  for block-X hits the Serializer, i am assuming the Read can
  "pass" the async-Write; eg, the Read is *not* pended behind the
  async-write.  however, if a Read hits the Serializer after a
  *sync*-write, then i'm assuming the Read is pended until
  the sync-write is written to the ZIL's nonvolatile media.
  o if a Read "passes" an async-write, then i'm assuming the Read
    can be satisfied by either the arc, l2arc, or disk.

o it's stated that "the L2ARC is for random-reads".  however, there's
  nothing to prevent the L2ARC from containing blocks derived from
  *sequential*-reads, right ?   also, blocks from async-writes can
  also live in l2arc, right?  how about sync-writes ?

o is the l2arc literally simply a *larger* ARC?  eg, does the l2arc
  obey the normal cache property where "everything that is in the L1$
  (eg, ARC) is also in the L2$ (eg, l2arc)" ?  (I have a feeling that
  the set-theoretic intersection of ARC and L2ARC is empty (for some
  reason).
  o does the l2arc use the ARC algorithm (as the name suggests) ?

thank you,

/andrew
Solaris RPE
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

--
Andrew Rutz                                    andrew.r...@sun.com
Solaris RPE                              Ph: (x64089) 512-401-1089
Austin, TX  78727                        Fax:         512-401-1452
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to