Messages in this thread | | | Subject | Re: [PATCH] brcmfmac: cfg80211: use msecs_to_jiffies for time conversion | From | Joe Perches <> | Date | Tue, 17 Mar 2015 05:42:39 -0700 |
| |
On Tue, 2015-03-17 at 08:06 -0400, Nicholas Mc Guire wrote: > Converting milliseconds to jiffies by "val * HZ / 1000" is technically > OK but msecs_to_jiffies(val) is the cleaner solution and handles all > corner cases correctly. This is a minor API consolidation only and > should make things more readable.
Hi Nicholas
These API consolidation changes now always have a function call when the compiler may have previously been able to optimize out the "constant * HZ / 1000" calculation.
Perhaps the [um]secs_to_jiffies calls should be indirected with yet another static inline with a __builtin_constant_p() test so that the function calls can again be avoided when possible.
(and a trivial style note)
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c [] > @@ -1110,7 +1110,7 @@ brcmf_cfg80211_escan(struct wiphy *wiphy, struct brcmf_cfg80211_vif *vif, > > /* Arm scan timeout timer */ > mod_timer(&cfg->escan_timeout, jiffies + > - WL_ESCAN_TIMER_INTERVAL_MS * HZ / 1000); > + msecs_to_jiffies(WL_ESCAN_TIMER_INTERVAL_MS));
It may be nicer to keep the arithmetic on one line
mod_timer(&cfg->escan_timeout, jiffies + msecs_to_jiffies(WL_ESCAN_TIMER_INTERVAL_MS));
| |