Re: [PATCH 11/17] staging: lustre: libcfs: discard cfs_time_shift().

From: NeilBrown
Date: Mon Apr 02 2018 - 18:26:33 EST


On Mon, Apr 02 2018, Dilger, Andreas wrote:

>> On Mar 30, 2018, at 13:02, James Simmons <jsimmons@xxxxxxxxxxxxx> wrote:
>>
>>
>>> This function simply multiplies by HZ and adds jiffies.
>>> This is simple enough to be opencoded, and doing so
>>> makes the code easier to read.
>>>
>>> Same for cfs_time_shift_64()
>>
>> Reviewed-by: James Simmons <jsimmons@xxxxxxxxxxxxx>
>
> Hmm, I thought we were trying to get rid of direct HZ usage in modules,
> because of tickless systems, and move to e.g. msecs_to_jiffies() or similar?

Are we? I hadn't heard but I could easily have missed it.
Documentation/scheduler/completion.txt does say

Timeouts are preferably calculated with
msecs_to_jiffies() or usecs_to_jiffies().

but is isn't clear what they are preferred to. Do you remember where
you heard? or have a reference?

$ git grep ' \* *HZ' |wc
2244 15679 170016
$ git grep msecs_to_jiffies | wc
3301 13151 276725

so msecs_to_jiffies is slightly more popular than "* HZ" (even if you add
in "HZ *"). But that could just be a preference for using milliseconds
over using seconds.

$ git grep msecs_to_jiffies | grep -c '[0-9]000'
587

so there are only 587 places that msecs_to_jiffies is clearly used in
place of multiplying by HZ.

If we were to pursue this, I would want to add secs_to_jiffies() to
include/linux/jiffies.h and use that.

Thanks,
NeilBrown

Attachment: signature.asc
Description: PGP signature