I?m trying to understand the inner workings of the adaptive replacement cache 
(arc). I see there are arc_bufs and arc_buf_hdrs. Each arc_buf_hdr points to an 
arc_buf_t. The arc_buf_t is really one entry in a list of arc_buf_t entries. 
The multiple entries are accessed through the arc_buf_t?s b_next member.

Why does the arc_buf_hdr point to a list of arc_buf_ts and not just one 
arc_buf_t, i.e., how and why do multiple arc_buf_ts get inserted into this list?

What is the relationship between arc_buf_hdr?s b_datacnt and b_refcnt? Is 
b_datacnt the number of arc_buf_ts in the list? Does the b_refcnt keep track of 
all users of all arc_buf_ts in the list? 

Thanks for any understanding that anyone can offer.

Duff
--
This messages posted from opensolaris.org

Reply via email to