Lines Matching refs:dpolicy
1130 struct discard_policy *dpolicy, in __init_discard_policy() argument
1136 dpolicy->type = discard_type; in __init_discard_policy()
1137 dpolicy->sync = true; in __init_discard_policy()
1138 dpolicy->ordered = false; in __init_discard_policy()
1139 dpolicy->granularity = granularity; in __init_discard_policy()
1141 dpolicy->max_requests = DEF_MAX_DISCARD_REQUEST; in __init_discard_policy()
1142 dpolicy->io_aware_gran = MAX_PLIST_NUM; in __init_discard_policy()
1143 dpolicy->timeout = false; in __init_discard_policy()
1146 dpolicy->min_interval = DEF_MIN_DISCARD_ISSUE_TIME; in __init_discard_policy()
1147 dpolicy->mid_interval = DEF_MID_DISCARD_ISSUE_TIME; in __init_discard_policy()
1148 dpolicy->max_interval = DEF_MAX_DISCARD_ISSUE_TIME; in __init_discard_policy()
1149 dpolicy->io_aware = true; in __init_discard_policy()
1150 dpolicy->sync = false; in __init_discard_policy()
1151 dpolicy->ordered = true; in __init_discard_policy()
1153 dpolicy->granularity = 1; in __init_discard_policy()
1155 dpolicy->max_interval = in __init_discard_policy()
1159 dpolicy->min_interval = DEF_MIN_DISCARD_ISSUE_TIME; in __init_discard_policy()
1160 dpolicy->mid_interval = DEF_MID_DISCARD_ISSUE_TIME; in __init_discard_policy()
1161 dpolicy->max_interval = DEF_MAX_DISCARD_ISSUE_TIME; in __init_discard_policy()
1162 dpolicy->io_aware = false; in __init_discard_policy()
1164 dpolicy->io_aware = false; in __init_discard_policy()
1166 dpolicy->io_aware = false; in __init_discard_policy()
1168 dpolicy->granularity = 1; in __init_discard_policy()
1169 dpolicy->timeout = true; in __init_discard_policy()
1178 struct discard_policy *dpolicy, in __submit_discard_cmd() argument
1187 struct list_head *wait_list = (dpolicy->type == DPOLICY_FSTRIM) ? in __submit_discard_cmd()
1189 int flag = dpolicy->sync ? REQ_SYNC : 0; in __submit_discard_cmd()
1208 while (total_len && *issued < dpolicy->max_requests && !err) { in __submit_discard_cmd()
1219 if (*issued == dpolicy->max_requests) in __submit_discard_cmd()
1466 struct discard_policy *dpolicy) in __issue_discard_cmd_orderly() argument
1495 if (dpolicy->io_aware && !is_idle(sbi, DISCARD_TIME)) { in __issue_discard_cmd_orderly()
1501 err = __submit_discard_cmd(sbi, dpolicy, dc, &issued); in __issue_discard_cmd_orderly()
1503 if (issued >= dpolicy->max_requests) in __issue_discard_cmd_orderly()
1525 struct discard_policy *dpolicy);
1528 struct discard_policy *dpolicy) in __issue_discard_cmd() argument
1537 if (dpolicy->timeout) in __issue_discard_cmd()
1543 if (dpolicy->timeout && in __issue_discard_cmd()
1547 if (i + 1 < dpolicy->granularity) in __issue_discard_cmd()
1550 if (i < DEFAULT_DISCARD_GRANULARITY && dpolicy->ordered) in __issue_discard_cmd()
1551 return __issue_discard_cmd_orderly(sbi, dpolicy); in __issue_discard_cmd()
1565 if (dpolicy->timeout && in __issue_discard_cmd()
1569 if (dpolicy->io_aware && i < dpolicy->io_aware_gran && in __issue_discard_cmd()
1575 __submit_discard_cmd(sbi, dpolicy, dc, &issued); in __issue_discard_cmd()
1577 if (issued >= dpolicy->max_requests) in __issue_discard_cmd()
1584 if (issued >= dpolicy->max_requests || io_interrupted) in __issue_discard_cmd()
1588 if (dpolicy->type == DPOLICY_UMOUNT && issued) { in __issue_discard_cmd()
1589 __wait_all_discard_cmd(sbi, dpolicy); in __issue_discard_cmd()
1647 struct discard_policy *dpolicy, in __wait_discard_cmd_range() argument
1651 struct list_head *wait_list = (dpolicy->type == DPOLICY_FSTRIM) ? in __wait_discard_cmd_range()
1664 if (dc->len < dpolicy->granularity) in __wait_discard_cmd_range()
1688 struct discard_policy *dpolicy) in __wait_all_discard_cmd() argument
1693 if (dpolicy) in __wait_all_discard_cmd()
1694 return __wait_discard_cmd_range(sbi, dpolicy, 0, UINT_MAX); in __wait_all_discard_cmd()
1745 struct discard_policy dpolicy; in f2fs_issue_discard_timeout() local
1748 __init_discard_policy(sbi, &dpolicy, DPOLICY_UMOUNT, in f2fs_issue_discard_timeout()
1750 __issue_discard_cmd(sbi, &dpolicy); in f2fs_issue_discard_timeout()
1765 struct discard_policy dpolicy; in issue_discard_thread() local
1774 __init_discard_policy(sbi, &dpolicy, DPOLICY_FORCE, 1); in issue_discard_thread()
1776 __init_discard_policy(sbi, &dpolicy, DPOLICY_BG, in issue_discard_thread()
1780 wait_ms = dpolicy.max_interval; in issue_discard_thread()
1801 wait_ms = dpolicy.max_interval; in issue_discard_thread()
1809 issued = __issue_discard_cmd(sbi, &dpolicy); in issue_discard_thread()
1811 __wait_all_discard_cmd(sbi, &dpolicy); in issue_discard_thread()
1812 wait_ms = dpolicy.min_interval; in issue_discard_thread()
1816 wait_ms = dpolicy.mid_interval; in issue_discard_thread()
1818 wait_ms = dpolicy.max_interval; in issue_discard_thread()
3021 struct discard_policy *dpolicy, in __issue_discard_cmd_range() argument
3054 if (dc->len < dpolicy->granularity) in __issue_discard_cmd_range()
3062 err = __submit_discard_cmd(sbi, dpolicy, dc, &issued); in __issue_discard_cmd_range()
3064 if (issued >= dpolicy->max_requests) { in __issue_discard_cmd_range()
3099 struct discard_policy dpolicy; in f2fs_trim_fs() local
3150 __init_discard_policy(sbi, &dpolicy, DPOLICY_FSTRIM, cpc.trim_minlen); in f2fs_trim_fs()
3151 trimmed = __issue_discard_cmd_range(sbi, &dpolicy, in f2fs_trim_fs()
3154 trimmed += __wait_discard_cmd_range(sbi, &dpolicy, in f2fs_trim_fs()