On 11/13/2015 03:12 PM, Chris Wilson wrote: > On Fri, Nov 13, 2015 at 09:22:52AM -0700, Jens Axboe wrote: >> On 11/13/2015 09:13 AM, Mike Galbraith wrote: >>> On Fri, 2015-11-13 at 08:36 -0700, Jens Axboe wrote: >>>> Previous patch was obvious pre-coffee crap, this should work for using >>>> ktime to spin max 1usec. >>> >>> 1us seems a tad low. I doubt the little wooden gears and pulleys of my >>> core2 Toshiba Satellite lappy can get one loop ground out in a usec :) >> >> Maybe it is, it's based off the original intent of the function, >> though. See the original commit referenced. > > I've been looking at numbers from one laptop and I can set the timeout > at 2us before we see a steep decline in what is more or less synchronous > request handling (which affects a variety of rendering workloads).
Alright, at least that's a vast improvement from 10ms. If you send me something tested, I can try it here. > Looking around, other busy loops seem to use local_clock() (i.e. rdstcll > with a fair wind). Is that worth using here? Honestly, don't think it matters too much for this case. You'd have to disable preempt to use local_clock(), fwiw. It is a faster variant though, but the RT people might hate you for 2us preempt disables :-) -- Jens Axboe