2 ms·
There are some patches out there that allow you to lock kernel threads to particular cores. With all the cache flushes on context switch, making syscalls slow
by angry_octet 6y ago
There are some patches out there that allow you to lock kernel threads to particular cores.
With all the cache flushes on context switch, making syscalls slow should be no problem at all.
- KMag 6y agoMy memory could very well be wrong here, but isn't this how multi-core was first implemented on FreeBSD, with all post-context-switch kernel code running on CPU0? It's certainly a much more simple design, easier to avoid data races and deadlocks. However, I believe the performance penalties were pretty apparent early on, even on 2-4 core systems.
- toast0 6y agoI wasn't that understanding of kernel stuff back then, but I don't recall seeing anything that the kernel was always running on CPU0; but I think everything was behind the GIANT lock, so there was effectively zero kernel concurrency.