VO
Size: a a a
VO
EV
AF
EV
AE
EV
AF
M
VO
AF
M
M
M
M
M
M
LS
arc_reduce_target_size(int64_t to_free)
if (asize > arc_c) {
DTRACE_PROBE2(arc__shrink_adjust, uint64_t, asize,
uint64_t, arc_c);
/* See comment in arc_adjust_cb_check() on why lock+flag */
mutex_enter(&arc_adjust_lock);
arc_adjust_needed = B_TRUE;
mutex_exit(&arc_adjust_lock);
zthr_wakeup(arc_adjust_zthr);
}
arc_lowmem(void *arg __unused, int howto __unused)
arc_reduce_target_size(to_free);
mutex_enter(&arc_adjust_lock);
arc_adjust_needed = B_TRUE;
zthr_wakeup(arc_adjust_zthr);
VO
VO