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

NeilBrown neilb at suse.com
Mon Apr 2 15:26:15 PDT 2018


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

>> On Mar 30, 2018, at 13:02, James Simmons <jsimmons at infradead.org> 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 at infradead.org>
>
> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20180403/ea62fac9/attachment.sig>


More information about the lustre-devel mailing list