> Eeek. Are you sure you're not wasting more resources switching contexts > than you're gaining by nominally keeping a thread on all cores at all > times? (Some of that CPU time is being spent moving threads around rather > than running them.) > > The threads are used to hide IO for the most part.. when then need to do work they acquire a semaphore which is usually the number of cores.
so we only context switch when a packet is available, then we acquire the semaphore to do the actual work. Ideally the entire system would be async IO but this is a good compromise. > I don't know what priority it runs as, but could you figure it out by > attaching a debugger and setting a breakpoint and then examining the thread > in the Watch/Expressions windows? You might even try raising that thread's > priority (via the debugger, initially) and seeing if it makes an > improvement. > Another way to do is to enumerate all threads and then read the priority back out… Kevin -- Founder/CEO Spinn3r.com Location: *San Francisco, CA* blog: http://burtonator.wordpress.com … or check out my Google+ profile <https://plus.google.com/102718274791889610666/posts>