Re: [PATCH v4 net-next 2/4] net: convert low latency sockets to sched_clock()
On 14/06/2013 06:12, Eric Dumazet wrote: On Fri, 2013-06-14 at 04:57 +0300, Eliezer Tamir wrote: Use sched_clock() instead of get_cycles(). We can use sched_clock() because we don't care much about accuracy. Remove the dependency on X86_TSC Signed-off-by: Eliezer Tamir --- -static inline bool can_poll_ll(cycles_t end_time) +static inline bool can_poll_ll(u64 end_time) { - return !time_after((unsigned long)get_cycles(), + return !time_after((unsigned long)sched_clock(), (unsigned long)end_time); } I do not really understand why you bother to have 64bit wide values, and then use these "unsigned long" casts here. On 32bit arches, this will really limit to 2^31 ns range. You should instead either : - use time_after_64() or - explicitly limit sysctl_net_ll_poll range OK -- 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/
Re: [PATCH v4 net-next 2/4] net: convert low latency sockets to sched_clock()
On 14/06/2013 06:12, Eric Dumazet wrote: On Fri, 2013-06-14 at 04:57 +0300, Eliezer Tamir wrote: Use sched_clock() instead of get_cycles(). We can use sched_clock() because we don't care much about accuracy. Remove the dependency on X86_TSC Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- -static inline bool can_poll_ll(cycles_t end_time) +static inline bool can_poll_ll(u64 end_time) { - return !time_after((unsigned long)get_cycles(), + return !time_after((unsigned long)sched_clock(), (unsigned long)end_time); } I do not really understand why you bother to have 64bit wide values, and then use these unsigned long casts here. On 32bit arches, this will really limit to 2^31 ns range. You should instead either : - use time_after_64() or - explicitly limit sysctl_net_ll_poll range OK -- 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/
Re: [PATCH v4 net-next 2/4] net: convert low latency sockets to sched_clock()
On Fri, 2013-06-14 at 04:57 +0300, Eliezer Tamir wrote: > Use sched_clock() instead of get_cycles(). > We can use sched_clock() because we don't care much about accuracy. > Remove the dependency on X86_TSC > > Signed-off-by: Eliezer Tamir > --- > > -static inline bool can_poll_ll(cycles_t end_time) > +static inline bool can_poll_ll(u64 end_time) > { > - return !time_after((unsigned long)get_cycles(), > + return !time_after((unsigned long)sched_clock(), > (unsigned long)end_time); > } I do not really understand why you bother to have 64bit wide values, and then use these "unsigned long" casts here. On 32bit arches, this will really limit to 2^31 ns range. You should instead either : - use time_after_64() or - explicitly limit sysctl_net_ll_poll range -- 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/
Re: [PATCH v4 net-next 2/4] net: convert low latency sockets to sched_clock()
On Fri, 2013-06-14 at 04:57 +0300, Eliezer Tamir wrote: Use sched_clock() instead of get_cycles(). We can use sched_clock() because we don't care much about accuracy. Remove the dependency on X86_TSC Signed-off-by: Eliezer Tamir eliezer.ta...@linux.intel.com --- -static inline bool can_poll_ll(cycles_t end_time) +static inline bool can_poll_ll(u64 end_time) { - return !time_after((unsigned long)get_cycles(), + return !time_after((unsigned long)sched_clock(), (unsigned long)end_time); } I do not really understand why you bother to have 64bit wide values, and then use these unsigned long casts here. On 32bit arches, this will really limit to 2^31 ns range. You should instead either : - use time_after_64() or - explicitly limit sysctl_net_ll_poll range -- 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/