On Monday 13 April 2015 23:42:03 Thomas Gleixner wrote: > > > > Question: this looks to me like it sets both the minimum and maximum > > time to priv->tx_coalesce_usecs/2, when the intention was to set > > the minimum to priv->tx_coalesce_usecs/2 and the maximum to > > priv->tx_coalesce_usecs. Am I missing something subtle here, or did > > you just misread my original intention from the botched code? > > Yes, I missed that. Simple fix for this is: > > unsigned long t_ns = priv->tx_coalesce_usecs * NSEC_PER_USEC / 2; > > hrtimer_start_range_ns(&priv->tx_coalesce_timer, ns_to_ktime(t_ns), > t_ns, HRTIMER_MODE_REL);
Ah, good. I have to admit that I'd probably make the same mistake again if I was to do this for another driver and you hadn't sent the fix. The hrtimer_set_expires_range() function just looked like it had been designed for the use case I was interested in ;-). Any idea how to prevent the next person from making the same mistake? Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/