boolean_t acb_compressed;
boolean_t acb_noauth;
boolean_t acb_nobuf;
+ boolean_t acb_wait;
+ int acb_wait_error;
+ kmutex_t acb_wait_lock;
+ kcondvar_t acb_wait_cv;
zbookmark_phys_t acb_zb;
zio_t *acb_zio_dummy;
zio_t *acb_zio_head;
+ arc_callback_t *acb_prev;
arc_callback_t *acb_next;
};
};
typedef struct arc_stats {
+ /* Number of requests that were satisfied without I/O. */
kstat_named_t arcstat_hits;
+ /* Number of requests for which I/O was already running. */
+ kstat_named_t arcstat_iohits;
+ /* Number of requests for which I/O has to be issued. */
kstat_named_t arcstat_misses;
+ /* Same three, but specifically for demand data. */
kstat_named_t arcstat_demand_data_hits;
+ kstat_named_t arcstat_demand_data_iohits;
kstat_named_t arcstat_demand_data_misses;
+ /* Same three, but specifically for demand metadata. */
kstat_named_t arcstat_demand_metadata_hits;
+ kstat_named_t arcstat_demand_metadata_iohits;
kstat_named_t arcstat_demand_metadata_misses;
+ /* Same three, but specifically for prefetch data. */
kstat_named_t arcstat_prefetch_data_hits;
+ kstat_named_t arcstat_prefetch_data_iohits;
kstat_named_t arcstat_prefetch_data_misses;
+ /* Same three, but specifically for prefetch metadata. */
kstat_named_t arcstat_prefetch_metadata_hits;
+ kstat_named_t arcstat_prefetch_metadata_iohits;
kstat_named_t arcstat_prefetch_metadata_misses;
kstat_named_t arcstat_mru_hits;
kstat_named_t arcstat_mru_ghost_hits;
kstat_named_t arcstat_meta_max;
kstat_named_t arcstat_meta_min;
kstat_named_t arcstat_async_upgrade_sync;
+ /* Number of predictive prefetch requests. */
+ kstat_named_t arcstat_predictive_prefetch;
+ /* Number of requests for which predictive prefetch has completed. */
kstat_named_t arcstat_demand_hit_predictive_prefetch;
+ /* Number of requests for which predictive prefetch was running. */
+ kstat_named_t arcstat_demand_iohit_predictive_prefetch;
+ /* Number of prescient prefetch requests. */
+ kstat_named_t arcstat_prescient_prefetch;
+ /* Number of requests for which prescient prefetch has completed. */
kstat_named_t arcstat_demand_hit_prescient_prefetch;
+ /* Number of requests for which prescient prefetch was running. */
+ kstat_named_t arcstat_demand_iohit_prescient_prefetch;
kstat_named_t arcstat_need_free;
kstat_named_t arcstat_sys_free;
kstat_named_t arcstat_raw_size;
typedef struct arc_sums {
wmsum_t arcstat_hits;
+ wmsum_t arcstat_iohits;
wmsum_t arcstat_misses;
wmsum_t arcstat_demand_data_hits;
+ wmsum_t arcstat_demand_data_iohits;
wmsum_t arcstat_demand_data_misses;
wmsum_t arcstat_demand_metadata_hits;
+ wmsum_t arcstat_demand_metadata_iohits;
wmsum_t arcstat_demand_metadata_misses;
wmsum_t arcstat_prefetch_data_hits;
+ wmsum_t arcstat_prefetch_data_iohits;
wmsum_t arcstat_prefetch_data_misses;
wmsum_t arcstat_prefetch_metadata_hits;
+ wmsum_t arcstat_prefetch_metadata_iohits;
wmsum_t arcstat_prefetch_metadata_misses;
wmsum_t arcstat_mru_hits;
wmsum_t arcstat_mru_ghost_hits;
wmsum_t arcstat_prune;
aggsum_t arcstat_meta_used;
wmsum_t arcstat_async_upgrade_sync;
+ wmsum_t arcstat_predictive_prefetch;
wmsum_t arcstat_demand_hit_predictive_prefetch;
+ wmsum_t arcstat_demand_iohit_predictive_prefetch;
+ wmsum_t arcstat_prescient_prefetch;
wmsum_t arcstat_demand_hit_prescient_prefetch;
+ wmsum_t arcstat_demand_iohit_prescient_prefetch;
wmsum_t arcstat_raw_size;
wmsum_t arcstat_cached_only_in_progress;
wmsum_t arcstat_abd_chunk_waste_size;