Hacker News new | past | comments | ask | show | jobs | submit login

> OS threads means context switching which means relinquishing the cpu from user space to kernel space for a time.

No. The OS will switch contexts regardless of how many threads you have. Even with zero threads the OS will be context switching between processes anyways. That's just how pre-emptive multitasking works.

What you're trying to say is that threads might get starved due to imperfect scheduling; but even that is wrong - you're never going to write a better scheduler than the one in the Linux kernel. I mean that seriously.

If you want a deterministic scheduling routine without unpredictable delays, then just use one of the realtime schedulers provided to you by the kernel. That's what they're there for.




> The OS will switch contexts regardless of how many threads you have

With IRQs pinned (via CPU mask given to the kernel at boot time) and application process pinning, there will be no preemption of the application process.

> Even with zero threads the OS will be context switching between processes anyways

No, this is what pinning is explicitly for.

> What you're trying to say is that threads might get starved due to imperfect scheduling

No, you've misunderstood




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: