Lines Matching defs:buffers
130 * caches data in two ways -- in a list of ARC buffers (arc_buf_t) and
142 * arc_buf_hdr_t can have multiple ARC buffers (arc_buf_t) which reference it.
147 * amount of memory consumed by the arc_buf_ts' data buffers can be seen via the
238 * a newly allocated b_pdata. Writes are always done into buffers which have
240 * buffers which have been released (and hence have their own hdr, if there
278 /* set with ZFS_DEBUG=watch, to enable watchpoints on frozen buffers */
368 * Note that buffers can be in one of 6 states:
377 * the only buffers that can be evicted or deleted. Within each
383 * Anonymous buffers are buffers that are not associated with
384 * a DVA. These are buffers that hold dirty block copies
390 * The ARC_l2c_only state is for buffers that are in the second
392 * level ARC itself may also contain buffers that are in any of
401 * list of evictable buffers
440 * Number of buffers that could not be evicted because the hash lock
443 * by multiple buffers.
447 * Number of buffers skipped because they have I/O in progress, are
448 * indrect prefetch buffers that have not lived long enough, or are
454 * buffers to reach it's target amount.
494 * backed by ARC buffers. This includes arc_buf_hdr_t structures
501 * Number of bytes consumed by ARC buffers of type equal to
502 * ARC_BUFC_DATA. This is generally consumed by buffers backing
507 * Number of bytes consumed by ARC buffers of type equal to
508 * ARC_BUFC_METADATA. This is generally consumed by buffers
514 * Number of bytes consumed by various buffers and structures
515 * not actually backed with ARC buffers. This includes bonus
516 * buffers (allocated directly via zio_buf_* functions),
522 * Total number of bytes consumed by ARC buffers residing in the
523 * arc_anon state. This includes *all* buffers in the arc_anon
524 * state; e.g. data, metadata, evictable, and unevictable buffers
529 * Number of bytes consumed by ARC buffers that meet the
530 * following criteria: backing buffers of type ARC_BUFC_DATA,
536 * Number of bytes consumed by ARC buffers that meet the
537 * following criteria: backing buffers of type ARC_BUFC_METADATA,
543 * Total number of bytes consumed by ARC buffers residing in the
544 * arc_mru state. This includes *all* buffers in the arc_mru
545 * state; e.g. data, metadata, evictable, and unevictable buffers
550 * Number of bytes consumed by ARC buffers that meet the
551 * following criteria: backing buffers of type ARC_BUFC_DATA,
557 * Number of bytes consumed by ARC buffers that meet the
558 * following criteria: backing buffers of type ARC_BUFC_METADATA,
565 * buffers in the arc_mru_ghost state. The key thing to note
568 * don't actually have ARC buffers linked off of these headers.
569 * Thus, *if* the headers had associated ARC buffers, these
570 * buffers *would have* consumed this number of bytes.
575 * buffers that are eligible for eviction, of type
581 * buffers that are eligible for eviction, of type
586 * Total number of bytes consumed by ARC buffers residing in the
587 * arc_mfu state. This includes *all* buffers in the arc_mfu
588 * state; e.g. data, metadata, evictable, and unevictable buffers
593 * Number of bytes consumed by ARC buffers that are eligible for
599 * Number of bytes consumed by ARC buffers that are eligible for
606 * buffers in the arc_mfu_ghost state. See the comment above
612 * buffers that are eligible for eviction, of type
618 * buffers that are eligible for eviction, of type
833 * ARC buffers are separated into multiple structs as a memory saving measure:
1031 * If we discover during ARC scan any buffers to be compressed, we boost
1714 * Compressed buffers do not manipulate the b_freeze_cksum or
2205 * remove all arc buffers. Thus, we'll have a
2214 uint32_t buffers = 0;
2224 buffers++;
2239 ASSERT3U(bufcnt, ==, buffers);
2258 * the header will not contain any arc buffers.
2267 uint32_t buffers = 0;
2277 buffers++;
2293 ASSERT3U(bufcnt, ==, buffers);
2502 * Loan out an anonymous arc buffer. Loaned buffers are not counted as in
2504 * buffers must be returned to the arc before they can be used by the DMU or
2657 * arc_buf_t on the list. If no buffers remain on the list then return
2766 * Uncompressed shared buffers are always at the end
2767 * of the list. Compressed buffers don't have the
3197 /* prefetch buffers have a minimum lifespan */
3299 /* we're only interested in evicting buffers of a certain spa */
3343 * full of un-evictable buffers, and the
3365 * Evict buffers from the given arc state, until we've removed the
3366 * specified number of bytes. Move the removed buffers to the
3369 * This function makes a "best effort". It skips over any buffers
3374 * will evict all available (i.e. unlocked and evictable) buffers from
3415 * we're evicting all available buffers.
3488 * specified. This will not evict any "active" buffers (i.e. referenced).
3491 * over the state and evict any buffers that it can. Since it doesn't
3492 * continually retry the eviction, it might end up leaving some buffers
3496 * eviction until *all* evictable buffers have been removed from the
3499 * wind up in an infinite loop, continually trying to evict buffers.
3540 * Evict metadata buffers from the cache, such that arc_meta_used is
3651 * Evict buffers from the cache, such that arc_size is capped by arc_c.
3662 * potentially evicting data buffers below.
3683 * evict from the type which contains older buffers; in an
3684 * effort to keep newer buffers in the cache regardless of their
3802 * no good way to determine if all of a spa's buffers have been
4135 * arc buffers being unevictable. Therefore, even if
4272 * enough buffers to get arc_size below the overflow limit (e.g.
4273 * due to buffers being un-evictable, or hash lock collisions).
4609 * Only call arc_access on anonymous buffers. This is because
5241 * Uncompressed shared buffers are always at the end
5242 * of the list. Compressed buffers don't have the
5471 * buffers from the hash table when we arc_free().
5727 * code is laid out; arc_evict_state() assumes ARC buffers are evenly
5739 * let's make sure we never add empty buffers to the arc lists.
6023 /* Use B_TRUE to ensure *all* buffers are evicted */
6091 * the ARC behave as usual, freeing buffers and placing headers on ghost
6092 * lists. The ARC does not send buffers to the L2ARC during eviction as
6096 * It does this by periodically scanning buffers from the eviction-end of
6098 * not already there. It scans until a headroom of buffers is satisfied,
6129 * safe to say that this is an uncommon case, since buffers at the end of
6133 * then the L2ARC simply misses copying some buffers. This serves as a
6143 * for eligible buffers, greatly increasing its chance of finding them.
6156 * write buffers back to disk based storage.
6166 * l2arc_noprefetch skip caching prefetched buffers
6168 * l2arc_headroom_boost when we find compressed buffers during ARC
6171 * since more compressed buffers are likely to
6313 * Free buffers that were tagged for destruction.
6342 * reads from these buffers to begin.
6574 * Evict buffers from the device write hand to the distance specified in
6575 * bytes. This distance may span populated buffers, it may span nothing.
6687 * Find and write ARC buffers to the L2ARC device.
6689 * An ARC_FLAG_L2_WRITING flag is set so that the L2ARC buffers are not valid
6716 * Copy buffers for L2ARC writing.
6777 * write buffers begin without searching.
6869 /* No buffers selected for writing? */
6975 * Evict L2ARC buffers that will be overwritten.
6980 * Write ARC buffers.
7038 * This is a list of all ARC buffers that are still valid on the