Messages in this thread | | | Subject | Re: [PATCH v6 net-next 2/5] net: implement support for low latency socket polling | From | Eric Dumazet <> | Date | Wed, 29 May 2013 06:37:27 -0700 |
| |
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
| |