Re: [PATCH v4 net-next 2/4] net: convert low latency sockets to sched_clock()

From: Eliezer Tamir
Date: Fri Jun 14 2013 - 02:15:39 EST


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.tamir@xxxxxxxxxxxxxxx>
---


-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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/