Re: [patch 4/5] net: hip04: Make tx coalesce timer actually work

From: Thomas Gleixner
Date: Mon Apr 13 2015 - 18:08:21 EST


On Tue, 14 Apr 2015, Arnd Bergmann wrote:
> 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?

Yes. Documentation :)

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/