From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <92606a17ce255a2e74049e4090d948b3@proxima.alt.za> <36c5eca0f06e9acbe2fac19067f457d8@ladd.quanstro.net> <20140519195016.B21E6B827@mail.bitblocks.com> <3a6dcbf0845989d60e627ad4e5df4313@ladd.quanstro.net> Date: Mon, 19 May 2014 14:41:58 -0700 Message-ID: From: ron minnich To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Subject: Re: [9fans] syscall 53 Topicbox-Message-UUID: e8e6cc46-ead8-11e9-9d60-3106f5b1d025 On Mon, May 19, 2014 at 2:30 PM, Charles Forsyth wrote: > Jitter says something about (in)consistency of time periods or intervals. It > will be a function of scheduling decisions, not the overhead of a single > call. > In Nix, on an AP core, sure, because there isn't any scheduling. When there > is scheduling of any sort, > it's the scheduling that results in the jitter, not either of these two time > implementations, surely. > You could clearly say "faster", but I'm not convinced about "jitter-free". > For instance, you can still be pre-empted for variable > time between the invocation of "nsec", its arrival in the kernel, and on > return from the kernel before and after return from "nsec". > Preventing that is a scheduling matter, with both implementations. I did not want to make this too long, but, sure, everything you say is quite correct. It's why we considered taking the implementation even further on NxM, but we stopped that project before we got to that point. There are way more opportunities for the introduction of jitter with the old system as opposed to the new, because there are far more places that you might get to where scheduling can occur. In other words, again, you're right as rain in what you're saying. What can I say? We measured it on NxM, were disappointed with the results from the old way, and happy(er) with the new way. And, again, I was not inclined to act on any of this until the discussion on the golang-dev list, which boiled down to: "if you can do it with a single system call, you should" with a response of "we put in a patch, was not accepted yet.". I just renewed the request to reexamine the patch. ron