Lines Matching refs:dpolicy
1061 struct discard_policy *dpolicy, in __init_discard_policy() argument
1065 dpolicy->type = discard_type; in __init_discard_policy()
1066 dpolicy->sync = true; in __init_discard_policy()
1067 dpolicy->ordered = false; in __init_discard_policy()
1068 dpolicy->granularity = granularity; in __init_discard_policy()
1070 dpolicy->max_requests = DEF_MAX_DISCARD_REQUEST; in __init_discard_policy()
1071 dpolicy->io_aware_gran = MAX_PLIST_NUM; in __init_discard_policy()
1072 dpolicy->timeout = 0; in __init_discard_policy()
1075 dpolicy->min_interval = DEF_MIN_DISCARD_ISSUE_TIME; in __init_discard_policy()
1076 dpolicy->mid_interval = DEF_MID_DISCARD_ISSUE_TIME; in __init_discard_policy()
1077 dpolicy->max_interval = DEF_MAX_DISCARD_ISSUE_TIME; in __init_discard_policy()
1078 dpolicy->io_aware = true; in __init_discard_policy()
1079 dpolicy->sync = false; in __init_discard_policy()
1080 dpolicy->ordered = true; in __init_discard_policy()
1082 dpolicy->granularity = 1; in __init_discard_policy()
1083 dpolicy->max_interval = DEF_MIN_DISCARD_ISSUE_TIME; in __init_discard_policy()
1086 dpolicy->min_interval = DEF_MIN_DISCARD_ISSUE_TIME; in __init_discard_policy()
1087 dpolicy->mid_interval = DEF_MID_DISCARD_ISSUE_TIME; in __init_discard_policy()
1088 dpolicy->max_interval = DEF_MAX_DISCARD_ISSUE_TIME; in __init_discard_policy()
1089 dpolicy->io_aware = false; in __init_discard_policy()
1091 dpolicy->io_aware = false; in __init_discard_policy()
1093 dpolicy->max_requests = UINT_MAX; in __init_discard_policy()
1094 dpolicy->io_aware = false; in __init_discard_policy()
1096 dpolicy->granularity = 1; in __init_discard_policy()
1105 struct discard_policy *dpolicy, in __submit_discard_cmd() argument
1114 struct list_head *wait_list = (dpolicy->type == DPOLICY_FSTRIM) ? in __submit_discard_cmd()
1116 int flag = dpolicy->sync ? REQ_SYNC : 0; in __submit_discard_cmd()
1135 while (total_len && *issued < dpolicy->max_requests && !err) { in __submit_discard_cmd()
1146 if (*issued == dpolicy->max_requests) in __submit_discard_cmd()
1396 struct discard_policy *dpolicy) in __issue_discard_cmd_orderly() argument
1425 if (dpolicy->io_aware && !is_idle(sbi, DISCARD_TIME)) { in __issue_discard_cmd_orderly()
1431 err = __submit_discard_cmd(sbi, dpolicy, dc, &issued); in __issue_discard_cmd_orderly()
1433 if (issued >= dpolicy->max_requests) in __issue_discard_cmd_orderly()
1456 struct discard_policy *dpolicy) in __issue_discard_cmd() argument
1465 if (dpolicy->timeout != 0) in __issue_discard_cmd()
1466 f2fs_update_time(sbi, dpolicy->timeout); in __issue_discard_cmd()
1469 if (dpolicy->timeout != 0 && in __issue_discard_cmd()
1470 f2fs_time_over(sbi, dpolicy->timeout)) in __issue_discard_cmd()
1473 if (i + 1 < dpolicy->granularity) in __issue_discard_cmd()
1476 if (i < DEFAULT_DISCARD_GRANULARITY && dpolicy->ordered) in __issue_discard_cmd()
1477 return __issue_discard_cmd_orderly(sbi, dpolicy); in __issue_discard_cmd()
1491 if (dpolicy->timeout != 0 && in __issue_discard_cmd()
1492 f2fs_time_over(sbi, dpolicy->timeout)) in __issue_discard_cmd()
1495 if (dpolicy->io_aware && i < dpolicy->io_aware_gran && in __issue_discard_cmd()
1501 __submit_discard_cmd(sbi, dpolicy, dc, &issued); in __issue_discard_cmd()
1503 if (issued >= dpolicy->max_requests) in __issue_discard_cmd()
1510 if (issued >= dpolicy->max_requests || io_interrupted) in __issue_discard_cmd()
1568 struct discard_policy *dpolicy, in __wait_discard_cmd_range() argument
1572 struct list_head *wait_list = (dpolicy->type == DPOLICY_FSTRIM) ? in __wait_discard_cmd_range()
1585 if (dc->len < dpolicy->granularity) in __wait_discard_cmd_range()
1609 struct discard_policy *dpolicy) in __wait_all_discard_cmd() argument
1614 if (dpolicy) in __wait_all_discard_cmd()
1615 return __wait_discard_cmd_range(sbi, dpolicy, 0, UINT_MAX); in __wait_all_discard_cmd()
1666 struct discard_policy dpolicy; in f2fs_issue_discard_timeout() local
1669 __init_discard_policy(sbi, &dpolicy, DPOLICY_UMOUNT, in f2fs_issue_discard_timeout()
1671 dpolicy.timeout = UMOUNT_DISCARD_TIMEOUT; in f2fs_issue_discard_timeout()
1672 __issue_discard_cmd(sbi, &dpolicy); in f2fs_issue_discard_timeout()
1687 struct discard_policy dpolicy; in issue_discard_thread() local
1694 __init_discard_policy(sbi, &dpolicy, DPOLICY_BG, in issue_discard_thread()
1716 wait_ms = dpolicy.max_interval; in issue_discard_thread()
1721 __init_discard_policy(sbi, &dpolicy, DPOLICY_FORCE, 1); in issue_discard_thread()
1725 issued = __issue_discard_cmd(sbi, &dpolicy); in issue_discard_thread()
1727 __wait_all_discard_cmd(sbi, &dpolicy); in issue_discard_thread()
1728 wait_ms = dpolicy.min_interval; in issue_discard_thread()
1732 wait_ms = dpolicy.mid_interval; in issue_discard_thread()
1734 wait_ms = dpolicy.max_interval; in issue_discard_thread()
2735 struct discard_policy *dpolicy, in __issue_discard_cmd_range() argument
2768 if (dc->len < dpolicy->granularity) in __issue_discard_cmd_range()
2776 err = __submit_discard_cmd(sbi, dpolicy, dc, &issued); in __issue_discard_cmd_range()
2778 if (issued >= dpolicy->max_requests) { in __issue_discard_cmd_range()
2813 struct discard_policy dpolicy; in f2fs_trim_fs() local
2864 __init_discard_policy(sbi, &dpolicy, DPOLICY_FSTRIM, cpc.trim_minlen); in f2fs_trim_fs()
2865 trimmed = __issue_discard_cmd_range(sbi, &dpolicy, in f2fs_trim_fs()
2868 trimmed += __wait_discard_cmd_range(sbi, &dpolicy, in f2fs_trim_fs()