Starting with ULE revision 1.226 support is available for cpusets and more advanced cpu topology. As announced earlier, cpusets are a way to manage the cpus a thread or process is allowed to run on. All processes in the system are assigned to a cpuset, by default set 1. You may modify the cpus that participate in this set, create new sets, and move processes between sets. Individual threads and processes may further refine the cpus they are allowed to run on with a per-thread mask that is a subset of the set the thread is assigned to. A manpage is forthcoming, for now you may experiment with and try to decipher the incredibly cryptic 'cpuset' program I also committed. The improved CPU topology code is aware of which cores share packages, caches, system bus/memory links, which are hyper-threaded, etc. This allows the scheduler to more intelligently place threads by improving affinity information and by load balancing across these resources. Many programs should run faster on dual and quadcore machines but there is still some tuning to do. If you notice a workload is now significantly faster or slower please report it to me. Thanks, JeffReceived on Sun Mar 02 2008 - 07:38:01 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:28 UTC