Lines Matching refs:dom
130 struct wb_domain *dom; member
158 .dom = &global_wb_domain, \
161 #define GDTC_INIT_NO_WB .dom = &global_wb_domain
164 .dom = mem_cgroup_wb_domain(__wb), \
170 return dtc->dom; in mdtc_valid()
175 return dtc->dom; in dtc_dom()
534 static void wb_domain_writeout_inc(struct wb_domain *dom, in wb_domain_writeout_inc() argument
538 __fprop_inc_percpu_max(&dom->completions, completions, in wb_domain_writeout_inc()
541 if (!unlikely(dom->period_time)) { in wb_domain_writeout_inc()
548 dom->period_time = wp_next_time(jiffies); in wb_domain_writeout_inc()
549 mod_timer(&dom->period_timer, dom->period_time); in wb_domain_writeout_inc()
587 struct wb_domain *dom = (void *)t; in writeout_period() local
588 int miss_periods = (jiffies - dom->period_time) / in writeout_period()
591 if (fprop_new_period(&dom->completions, miss_periods + 1)) { in writeout_period()
592 dom->period_time = wp_next_time(dom->period_time + in writeout_period()
594 mod_timer(&dom->period_timer, dom->period_time); in writeout_period()
600 dom->period_time = 0; in writeout_period()
604 int wb_domain_init(struct wb_domain *dom, gfp_t gfp) in wb_domain_init() argument
606 memset(dom, 0, sizeof(*dom)); in wb_domain_init()
608 spin_lock_init(&dom->lock); in wb_domain_init()
610 init_timer_deferrable(&dom->period_timer); in wb_domain_init()
611 dom->period_timer.function = writeout_period; in wb_domain_init()
612 dom->period_timer.data = (unsigned long)dom; in wb_domain_init()
614 dom->dirty_limit_tstamp = jiffies; in wb_domain_init()
616 return fprop_global_init(&dom->completions, gfp); in wb_domain_init()
620 void wb_domain_exit(struct wb_domain *dom) in wb_domain_exit() argument
622 del_timer_sync(&dom->period_timer); in wb_domain_exit()
623 fprop_global_destroy(&dom->completions); in wb_domain_exit()
681 static unsigned long hard_dirty_limit(struct wb_domain *dom, in hard_dirty_limit() argument
684 return max(thresh, dom->dirty_limit); in hard_dirty_limit()
725 struct wb_domain *dom = dtc_dom(dtc); in __wb_calc_thresh() local
734 fprop_fraction_percpu(&dom->completions, dtc->wb_completions, in __wb_calc_thresh()
1094 struct wb_domain *dom = dtc_dom(dtc); in update_dirty_limit() local
1096 unsigned long limit = dom->dirty_limit; in update_dirty_limit()
1118 dom->dirty_limit = limit; in update_dirty_limit()
1124 struct wb_domain *dom = dtc_dom(dtc); in domain_update_bandwidth() local
1129 if (time_before(now, dom->dirty_limit_tstamp + BANDWIDTH_INTERVAL)) in domain_update_bandwidth()
1132 spin_lock(&dom->lock); in domain_update_bandwidth()
1133 if (time_after_eq(now, dom->dirty_limit_tstamp + BANDWIDTH_INTERVAL)) { in domain_update_bandwidth()
1135 dom->dirty_limit_tstamp = now; in domain_update_bandwidth()
1137 spin_unlock(&dom->lock); in domain_update_bandwidth()
2029 struct wb_domain *dom = &global_wb_domain; in writeback_set_ratelimit() local
2034 dom->dirty_limit = dirty_thresh; in writeback_set_ratelimit()