Lines Matching refs:dom
125 struct wb_domain *dom; member
153 .dom = &global_wb_domain, \
156 #define GDTC_INIT_NO_WB .dom = &global_wb_domain
159 .dom = mem_cgroup_wb_domain(__wb), \
165 return dtc->dom; in mdtc_valid()
170 return dtc->dom; in dtc_dom()
565 static void wb_domain_writeout_add(struct wb_domain *dom, in wb_domain_writeout_add() argument
569 __fprop_add_percpu_max(&dom->completions, completions, in wb_domain_writeout_add()
572 if (unlikely(!dom->period_time)) { in wb_domain_writeout_add()
579 dom->period_time = wp_next_time(jiffies); in wb_domain_writeout_add()
580 mod_timer(&dom->period_timer, dom->period_time); in wb_domain_writeout_add()
618 struct wb_domain *dom = from_timer(dom, t, period_timer); in writeout_period() local
619 int miss_periods = (jiffies - dom->period_time) / in writeout_period()
622 if (fprop_new_period(&dom->completions, miss_periods + 1)) { in writeout_period()
623 dom->period_time = wp_next_time(dom->period_time + in writeout_period()
625 mod_timer(&dom->period_timer, dom->period_time); in writeout_period()
631 dom->period_time = 0; in writeout_period()
635 int wb_domain_init(struct wb_domain *dom, gfp_t gfp) in wb_domain_init() argument
637 memset(dom, 0, sizeof(*dom)); in wb_domain_init()
639 spin_lock_init(&dom->lock); in wb_domain_init()
641 timer_setup(&dom->period_timer, writeout_period, TIMER_DEFERRABLE); in wb_domain_init()
643 dom->dirty_limit_tstamp = jiffies; in wb_domain_init()
645 return fprop_global_init(&dom->completions, gfp); in wb_domain_init()
649 void wb_domain_exit(struct wb_domain *dom) in wb_domain_exit() argument
651 del_timer_sync(&dom->period_timer); in wb_domain_exit()
652 fprop_global_destroy(&dom->completions); in wb_domain_exit()
710 static unsigned long hard_dirty_limit(struct wb_domain *dom, in hard_dirty_limit() argument
713 return max(thresh, dom->dirty_limit); in hard_dirty_limit()
754 struct wb_domain *dom = dtc_dom(dtc); in __wb_calc_thresh() local
763 fprop_fraction_percpu(&dom->completions, dtc->wb_completions, in __wb_calc_thresh()
1123 struct wb_domain *dom = dtc_dom(dtc); in update_dirty_limit() local
1125 unsigned long limit = dom->dirty_limit; in update_dirty_limit()
1147 dom->dirty_limit = limit; in update_dirty_limit()
1153 struct wb_domain *dom = dtc_dom(dtc); in domain_update_dirty_limit() local
1158 if (time_before(now, dom->dirty_limit_tstamp + BANDWIDTH_INTERVAL)) in domain_update_dirty_limit()
1161 spin_lock(&dom->lock); in domain_update_dirty_limit()
1162 if (time_after_eq(now, dom->dirty_limit_tstamp + BANDWIDTH_INTERVAL)) { in domain_update_dirty_limit()
1164 dom->dirty_limit_tstamp = now; in domain_update_dirty_limit()
1166 spin_unlock(&dom->lock); in domain_update_dirty_limit()
2067 struct wb_domain *dom = &global_wb_domain; in writeback_set_ratelimit() local
2072 dom->dirty_limit = dirty_thresh; in writeback_set_ratelimit()