News for hackers. Stuff that matters.
Re:HelenOS: portable microkernel-based multiserver operating... by aidenn0 on Friday August 18, 2017 @01:53PM (#15048302)
I'm guessing those are uncontended timings. I haven't been able to think of a good way to do it, but I'd like to see contended timings compared as well. Having a fast fast-path is great for many reasons (a fast fast-path will reduce contention all on its own, and systems can be designed to minimize contention), but the contended case can be much slower on some microkernels, and I have no idea what the overhead is on linux.
Re:HelenOS: portable microkernel-based multiserver operating... by gue5t on Friday August 18, 2017 @02:01PM (#15048378)
See this presentation about Google's scheduler patches, which claims the major overhead is logic in the scheduler (pg16): http://www.linuxplumbersconf.org/2013/ocw/system/presentatio...
Re:HelenOS: portable microkernel-based multiserver operating... by snvzz on Friday August 18, 2017 @02:09PM (#15048436)
This is interesting. I wonder what's keeping this kind of work from being mainlined. The present (as shown in the slides) Linux context switch times are painfully long.
Re:HelenOS: portable microkernel-based multiserver operating... by gue5t on Friday August 18, 2017 @02:33PM (#15048625)
Unless I'm mistaken, Google isn't interested in upstreaming these changes. A quick search of lmkl.org doesn't show any hits for the switchto_... APIs.

I'd love to hear otherwise or in more detail from someone at Google. It's frustrating to have to do archaeology just to guess what the state of the art is. Isn't sharing your findings part of "organizing the world's information"?

Re:HelenOS: portable microkernel-based multiserver operating... by noir_lord on Friday August 18, 2017 @08:06PM (#15050712)
"organizing the world's information" (when it's to our competitive advantage).

It's the bit on the end that sounds a lot less noble.

Re:HelenOS: portable microkernel-based multiserver operating... by appleflaxen on Sunday August 20, 2017 @10:57AM (#15058633)
wow; that's a good example of why GLP v3 has value to end users of free software: the GPL2 allows them not to share improvements. The GPL3 requires the source code to be available, if those machines are used to serve results to users.
Re:HelenOS: portable microkernel-based multiserver operating... by snvzz on Wednesday August 23, 2017 @12:32AM (#15078544)
Wouldn't that be the Affero license?
Re:HelenOS: portable microkernel-based multiserver operating... by snvzz on Friday August 18, 2017 @02:03PM (#15048394)
>uncontended timings

In the case of seL4, they are WCET (Worst Case Execution Time). That's as "contended" as it can possibly get.

They do provide formal proof of WCET, so these numbers are solid.

Re:HelenOS: portable microkernel-based multiserver operating... by aidenn0 on Friday August 18, 2017 @02:24PM (#15048543)
Are those really WCET? A L3 miss on an i7 4770 is ~60ns and they show 90ns total execution time. If that's true it's incredibly impressive.

[edit]

Also formal WCET analysis for various IPCs is really great and not something you can "bolt on" to a kernel not designed for it.

Re:HelenOS: portable microkernel-based multiserver operating... by snvzz on Friday August 18, 2017 @02:45PM (#15048718)
You might want to look into: http://ts.data61.csiro.au/projects/seL4/

Specifically:

Bernard Blackham, Yao Shi, Sudipta Chattopadhyay, Abhik Roychoudhury and Gernot Heiser

Timing analysis of a protected operating system kernel

IEEE Real-Time Systems Symposium, pp. 339-348, Vienna, Austria, November, 2011

---

TL;DR: They assume worst case for cache misses.

e.g.: "The latency of a read or write to physical memory on this platform was measured to be 80–100 cycles; in the static analysis we assume a 100-cycle penalty for all cache misses."

Re:HelenOS: portable microkernel-based multiserver operating... by aidenn0 on Sunday August 20, 2017 @04:59PM (#15060230)
That would mean ~2 cache lines are accessed for an IPC call, plus another 130 cycles for instructions. That's very impressive.