Loading fs/f2fs/segment.c +7 −1 Original line number Original line Diff line number Diff line Loading @@ -1397,6 +1397,8 @@ static int issue_discard_thread(void *data) struct discard_policy dpolicy; struct discard_policy dpolicy; unsigned int wait_ms = DEF_MIN_DISCARD_ISSUE_TIME; unsigned int wait_ms = DEF_MIN_DISCARD_ISSUE_TIME; int issued; int issued; unsigned long interval = sbi->interval_time[REQ_TIME] * HZ; long delta; set_freezable(); set_freezable(); Loading Loading @@ -1433,6 +1435,10 @@ static int issue_discard_thread(void *data) __wait_all_discard_cmd(sbi, &dpolicy); __wait_all_discard_cmd(sbi, &dpolicy); wait_ms = dpolicy.min_interval; wait_ms = dpolicy.min_interval; } else if (issued == -1){ } else if (issued == -1){ delta = (sbi->last_time[REQ_TIME] + interval) - jiffies; if (delta > 0) wait_ms = jiffies_to_msecs(delta); else wait_ms = dpolicy.mid_interval; wait_ms = dpolicy.mid_interval; } else { } else { wait_ms = dpolicy.max_interval; wait_ms = dpolicy.max_interval; Loading Loading
fs/f2fs/segment.c +7 −1 Original line number Original line Diff line number Diff line Loading @@ -1397,6 +1397,8 @@ static int issue_discard_thread(void *data) struct discard_policy dpolicy; struct discard_policy dpolicy; unsigned int wait_ms = DEF_MIN_DISCARD_ISSUE_TIME; unsigned int wait_ms = DEF_MIN_DISCARD_ISSUE_TIME; int issued; int issued; unsigned long interval = sbi->interval_time[REQ_TIME] * HZ; long delta; set_freezable(); set_freezable(); Loading Loading @@ -1433,6 +1435,10 @@ static int issue_discard_thread(void *data) __wait_all_discard_cmd(sbi, &dpolicy); __wait_all_discard_cmd(sbi, &dpolicy); wait_ms = dpolicy.min_interval; wait_ms = dpolicy.min_interval; } else if (issued == -1){ } else if (issued == -1){ delta = (sbi->last_time[REQ_TIME] + interval) - jiffies; if (delta > 0) wait_ms = jiffies_to_msecs(delta); else wait_ms = dpolicy.mid_interval; wait_ms = dpolicy.mid_interval; } else { } else { wait_ms = dpolicy.max_interval; wait_ms = dpolicy.max_interval; Loading