Hi Wil Irwin!

 On 2012.04.05 at 09:47:45 -0700, Wil Irwin wrote next:

> I'm convinced it has to be a kernel issue, but that doesn't explain why it
> was working 2 months ago with the previous kernel and then Monday (w/o any
> updates or changes), multiple terminal won't send jobs to multiple cores.
> 
> Does anyone have any idea what might me causing this. Suggest on how to
> further troubleshoot?

This is possible with cgroups (terminal gets some cgroup which is locked
to certain core by cpuset, then all children are locked too), but it
requires someone to actually set it up, it shouldn't happen on fresh
system or something like that.
If you suspect someone might have tweaked this system, check cgroups
documentation
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch-Using_Control_Groups.html
and cpuset documentation
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-cpuset.html
to see how processes are assigned to cgroups and how cgroups can be
cpuset-locked.

However, if this happens on fresh system, it might be something else.
Normally it's not even about terminal window - every process normally
has chance of using any CPU core, and scheduler spreads them more or
less evenly - even if you just run few background jobs from single
shell. It doesn't matter at all to scheduler if you are running
background process from same session or from multiple windows.
You might want to check if something else (not cgroup) was involved in
setting processes masks, by calling "taskset -p <pid>" for interesting
pids.

If they don't have special assigned affinity ('f' for 4-core host, 'ff'
for 8-core and so on), then, well, maybe something is wrong with
scheduler, or the way it picks cores for these processes..


-- 

Vladimir

Reply via email to