From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [PATCH v6 net-next 2/5] net: implement support for low latency socket polling Date: Wed, 29 May 2013 06:37:27 -0700 Message-ID: <1369834647.5109.15.camel@edumazet-glaptop> References: <20130529063916.27486.3841.stgit@ladj378.jer.intel.com> <20130529063935.27486.18610.stgit@ladj378.jer.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Willem de Bruijn , Don, Or Gerlitz , e1000-devel@lists.sourceforge.net, netdev@vger.kernel.org, HPA , Jesse Brandeburg , Alex Rosenbaum , linux-kernel@vger.kernel.org, Eliezer Tamir , Andi Kleen , Eilon Greenstien , David Miller To: Eliezer Tamir Return-path: In-Reply-To: <20130529063935.27486.18610.stgit@ladj378.jer.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: e1000-devel-bounces@lists.sourceforge.net List-Id: netdev.vger.kernel.org On Wed, 2013-05-29 at 09:39 +0300, Eliezer Tamir wrote: > +/* we don't mind a ~2.5% imprecision */ > +#define TSC_MHZ (tsc_khz >> 10) > + > +static inline unsigned long ll_end_time(void) > +{ > + return TSC_MHZ * ACCESS_ONCE(sysctl_net_ll_poll) + get_cycles(); > +}static inline unsigned long ll_end_time(void) >+{ >+ return TSC_MHZ * ACCESS_ONCE(sysctl_net_ll_poll) + get_cycles(); >+} This can overflow. Multiply is giving 32bits, as tsc_khz is an int, and sysctl_net_ll_poll is an int. unsigned long sysctl_net_ll_poll ? Also, if we want this to work on i386, the correct type to use for ll_end_time(void) would be cycles_t ------------------------------------------------------------------------------ Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with <2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1 _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired