Shift on s64 is faster than division, use it instead. As the result of the patch there is a hardly user-visible effect: poll(), select(), etc syscalls will be a bit more precise on ~2.3% than before because 1000 != 1024 :) Signed-off-by: Dmitry Safonov <dima@xxxxxxxxxx> --- fs/select.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/fs/select.c b/fs/select.c index 12cdefd3be2d..2477c202631e 100644 --- a/fs/select.c +++ b/fs/select.c @@ -51,15 +51,14 @@ static long __estimate_accuracy(ktime_t slack) { - int divfactor = 1000; - if (slack < 0) return 0; - if (task_nice(current) > 0) - divfactor = divfactor / 5; + /* A bit more precise than 0.1% */ + slack = slack >> 10; - slack = ktime_divns(slack, divfactor); + if (task_nice(current) > 0) + slack = slack * 5; if (slack > MAX_SLACK) return MAX_SLACK; -- 2.23.0