Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

KEEP KERNEL + IRQ HANDLERS ON SEPARATE CPU

Name: Anonymous 2006-09-02 2:36

This is all hypothetical.  I just want to know what you all think.

Assume a dual-core or other multi-cpu environment.

In standard operating systems, when the user program wants a system service from the OS, it must make a system call that results in expensive context switching.  Same thing for interrupts, they also result in context switching.

In a multiple-CPU(core) environment, what if we dedicated one cpu to running OS and even let's say another cpu for processing IRQs.  That's it.  All tasks on CPU 0 are kernel tasks, all tasks on CPU 1 are IRQ handling taska, and user programs are relegated to CPU 2+.

Wouldn't this completely eliminate any latency of system calls and IRQs?  Has this already been done?  Would performance gains be better this way or just having all tasks distributed equally among all available CPUs?

Name: Anonymous 2006-09-03 13:38

>>4
Getting rid of interrupts?  HA! What a great idea.

No, I know interrupts cannot be removed completely (esp. since >>3 is right, CPU itself generates interrupts) but how about a design whereby the interrupt controller is replaced by a CPU that can also host the interrupt handler code? 

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List