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