Lines Matching refs:mdtc

182 static struct dirty_throttle_control *mdtc_gdtc(struct dirty_throttle_control *mdtc)  in mdtc_gdtc()  argument
184 return mdtc->gdtc; in mdtc_gdtc()
236 static struct dirty_throttle_control *mdtc_gdtc(struct dirty_throttle_control *mdtc) in mdtc_gdtc() argument
729 static void mdtc_calc_avail(struct dirty_throttle_control *mdtc, in mdtc_calc_avail() argument
732 struct dirty_throttle_control *gdtc = mdtc_gdtc(mdtc); in mdtc_calc_avail()
733 unsigned long clean = filepages - min(filepages, mdtc->dirty); in mdtc_calc_avail()
737 mdtc->avail = filepages + min(headroom, other_clean); in mdtc_calc_avail()
1343 struct dirty_throttle_control *mdtc, in __wb_update_bandwidth() argument
1379 if (IS_ENABLED(CONFIG_CGROUP_WRITEBACK) && mdtc) { in __wb_update_bandwidth()
1380 domain_update_bandwidth(mdtc, now); in __wb_update_bandwidth()
1381 wb_update_dirty_ratelimit(mdtc, dirtied, elapsed); in __wb_update_bandwidth()
1564 struct dirty_throttle_control * const mdtc = mdtc_valid(&mdtc_stor) ? in balance_dirty_pages() local
1605 if (mdtc) { in balance_dirty_pages()
1613 &mdtc->dirty, &writeback); in balance_dirty_pages()
1614 mdtc->dirty += writeback; in balance_dirty_pages()
1615 mdtc_calc_avail(mdtc, filepages, headroom); in balance_dirty_pages()
1617 domain_dirty_limits(mdtc); in balance_dirty_pages()
1620 wb_dirty_limits(mdtc); in balance_dirty_pages()
1621 m_dirty = mdtc->wb_dirty; in balance_dirty_pages()
1622 m_thresh = mdtc->wb_thresh; in balance_dirty_pages()
1623 m_bg_thresh = mdtc->wb_bg_thresh; in balance_dirty_pages()
1625 m_dirty = mdtc->dirty; in balance_dirty_pages()
1626 m_thresh = mdtc->thresh; in balance_dirty_pages()
1627 m_bg_thresh = mdtc->bg_thresh; in balance_dirty_pages()
1647 (!mdtc || in balance_dirty_pages()
1658 if (mdtc) in balance_dirty_pages()
1693 if (mdtc) { in balance_dirty_pages()
1701 wb_dirty_limits(mdtc); in balance_dirty_pages()
1704 mdtc->wb_dirty < in balance_dirty_pages()
1705 dirty_freerun_ceiling(mdtc->wb_thresh, in balance_dirty_pages()
1706 mdtc->wb_bg_thresh)) in balance_dirty_pages()
1714 dirty_exceeded |= (mdtc->wb_dirty > mdtc->wb_thresh) && in balance_dirty_pages()
1715 ((mdtc->dirty > mdtc->thresh) || strictlimit); in balance_dirty_pages()
1717 wb_position_ratio(mdtc); in balance_dirty_pages()
1718 if (mdtc->pos_ratio < gdtc->pos_ratio) in balance_dirty_pages()
1719 sdtc = mdtc; in balance_dirty_pages()
1728 __wb_update_bandwidth(gdtc, mdtc, start_time, true); in balance_dirty_pages()
1952 struct dirty_throttle_control * const mdtc = mdtc_valid(&mdtc_stor) ? in wb_over_bg_thresh() local
1977 if (mdtc) { in wb_over_bg_thresh()
1980 mem_cgroup_wb_stats(wb, &filepages, &headroom, &mdtc->dirty, in wb_over_bg_thresh()
1982 mdtc_calc_avail(mdtc, filepages, headroom); in wb_over_bg_thresh()
1983 domain_dirty_limits(mdtc); /* ditto, ignore writeback */ in wb_over_bg_thresh()
1985 if (mdtc->dirty > mdtc->bg_thresh) in wb_over_bg_thresh()
1988 thresh = wb_calc_thresh(mdtc->wb, mdtc->bg_thresh); in wb_over_bg_thresh()