On 22/11/2013 13:30, Peter Zijlstra wrote: > On Fri, Nov 22, 2013 at 08:56:00AM +0200, Eliezer Tamir wrote: >> On 21/11/2013 15:39, Peter Zijlstra wrote: >>> On Thu, Nov 21, 2013 at 03:26:17PM +0200, Eliezer Tamir wrote: > > Please use local_clock(), yes its slightly more expensive, but I doubt > you can actually measure the effects on sane hardware.
If we limit the discussion to sane hardware, I should mention that on current Intel CPUs TSC is guaranteed to be monotonic for anything up to 8 sockets. Even on slightly older HS TSC skew is very small and should not be an issue for this use case. So: Modern sane HW does not have this issue. The people that do busy polling typically pin tasks to cores anyway. You need cap_net_admin to use this setting. There is no real damage if the issue happens. This is fast-low-latency-path so we are very sensitive to adding even a small cost. Linus really didn't like adding to the cost of poll/select when busy polling is not being used. Having said that, since we need to fix the timeout issue you pointed out, we will test the use of local_clock() and see if it matters or not. Again, I have no objection to changing the use of preempt_enable_no_resched() to a plain preempt_enable(). Cheers, Eliezer -- 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/