lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 27 May 2015 12:54:03 -0400 From: Ido Yariv <ido@...ery.com> To: Eric Dumazet <eric.dumazet@...il.com> Cc: David Laight <David.Laight@...LAB.COM>, "David S. Miller" <davem@...emloft.net>, Alexey Kuznetsov <kuznet@....inr.ac.ru>, James Morris <jmorris@...ei.org>, Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>, Patrick McHardy <kaber@...sh.net>, Nandita Dukkipati <nanditad@...gle.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, Ido Yariv <idox.yariv@...el.com> Subject: Re: [PATCH] net: tcp: Fix a PTO timing granularity issue Hi Eric, On Wed, May 27, 2015 at 09:23:36AM -0700, Eric Dumazet wrote: > On Wed, 2015-05-27 at 11:23 -0400, Ido Yariv wrote: > > > Signed-off-by: Ido Yariv <idox.yariv@...el.com> > > --- > > include/net/tcp.h | 9 +++++++++ > > net/ipv4/tcp_output.c | 2 +- > > 2 files changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/include/net/tcp.h b/include/net/tcp.h > > index 2bb2bad..86090b6 100644 > > --- a/include/net/tcp.h > > +++ b/include/net/tcp.h > > @@ -1751,4 +1751,13 @@ static inline void skb_set_tcp_pure_ack(struct sk_buff *skb) > > skb->truesize = 2; > > } > > > > +/* Convert msecs to jiffies, ensuring that the return value is always at least > > + * 2. This can be used when setting tick-based timers to guarantee that they > > + * won't expire right away. > > + */ > > +static inline unsigned long tcp_safe_msecs_to_jiffies(const unsigned int m) > > +{ > > + return max_t(u32, 2, msecs_to_jiffies(m)); > > +} > > Note that you can do slightly better if m is a constant at compile > time ;) > > if (__builtin_constant_p(m) && m * 1000 >= 2 * HZ) > return msecs_to_jiffies(m); > return max_t(u32, 2, msecs_to_jiffies(m)); > > Or something like that ? That's a nice optimization ;) However, I think that with Nicholas Mc Guire's recent changes to msecs_to_jiffies (http://marc.info/?l=linux-kernel&m=143195210010666), we should get this for free, no? Cheers, Ido. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists