Intra-process vs. inter-process context switches

Does anyone have a rough estimate as to how much faster a context switch
between two threads in the same task is verses a context switch between two
threads in separate tasks under Neutrino?

Kevin Miller wrote:

Does anyone have a rough estimate as to how much faster a context switch
between two threads in the same task is verses a context switch between two
threads in separate tasks under Neutrino?

This will be cpu-specific, based on what sort of work is needed to
invalidate a process context in the inter-process case; for example
on x86 you would incur a TLB flush. There is a benchmarking document
available (either on the website or via your customer rep?) which gives
specific numbers for a variety of platforms. Or, since you say ‘rough’,
how about 2-3x for my x86 system? Running 2 process/threads which
simply sched_yield() to each other I get:
yield, average inter-thread yield = 0.292 usec
yield, average inter-process yield = 0.696 usec
Since this wasn’t under particularly controlled circumstances it should
be taken as an indicative ratio rather than absolute values.