Lines Matching refs:mdtc
174 static struct dirty_throttle_control *mdtc_gdtc(struct dirty_throttle_control *mdtc)
176 return mdtc->gdtc;
228 static struct dirty_throttle_control *mdtc_gdtc(struct dirty_throttle_control *mdtc)
743 static void mdtc_calc_avail(struct dirty_throttle_control *mdtc,
746 struct dirty_throttle_control *gdtc = mdtc_gdtc(mdtc);
747 unsigned long clean = filepages - min(filepages, mdtc->dirty);
751 mdtc->avail = filepages + min(headroom, other_clean);
1357 struct dirty_throttle_control *mdtc,
1390 * @mdtc is always NULL if !CGROUP_WRITEBACK but the
1393 if (IS_ENABLED(CONFIG_CGROUP_WRITEBACK) && mdtc) {
1394 domain_update_bandwidth(mdtc, now);
1395 wb_update_dirty_ratelimit(mdtc, dirtied, elapsed);
1578 struct dirty_throttle_control * const mdtc = mdtc_valid(&mdtc_stor) ?
1619 if (mdtc) {
1627 &mdtc->dirty, &writeback);
1628 mdtc->dirty += writeback;
1629 mdtc_calc_avail(mdtc, filepages, headroom);
1631 domain_dirty_limits(mdtc);
1634 wb_dirty_limits(mdtc);
1635 m_dirty = mdtc->wb_dirty;
1636 m_thresh = mdtc->wb_thresh;
1637 m_bg_thresh = mdtc->wb_bg_thresh;
1639 m_dirty = mdtc->dirty;
1640 m_thresh = mdtc->thresh;
1641 m_bg_thresh = mdtc->bg_thresh;
1658 (!mdtc ||
1669 if (mdtc)
1704 if (mdtc) {
1712 wb_dirty_limits(mdtc);
1715 mdtc->wb_dirty <
1716 dirty_freerun_ceiling(mdtc->wb_thresh,
1717 mdtc->wb_bg_thresh))
1725 dirty_exceeded |= (mdtc->wb_dirty > mdtc->wb_thresh) &&
1726 ((mdtc->dirty > mdtc->thresh) || strictlimit);
1728 wb_position_ratio(mdtc);
1729 if (mdtc->pos_ratio < gdtc->pos_ratio)
1730 sdtc = mdtc;
1739 __wb_update_bandwidth(gdtc, mdtc, start_time, true);
1963 struct dirty_throttle_control * const mdtc = mdtc_valid(&mdtc_stor) ?
1981 if (mdtc) {
1984 mem_cgroup_wb_stats(wb, &filepages, &headroom, &mdtc->dirty,
1986 mdtc_calc_avail(mdtc, filepages, headroom);
1987 domain_dirty_limits(mdtc); /* ditto, ignore writeback */
1989 if (mdtc->dirty > mdtc->bg_thresh)
1993 wb_calc_thresh(mdtc->wb, mdtc->bg_thresh))