All of lore.kernel.org
 help / color / mirror / Atom feed
* linux v2.6.25.6.cpuisol1
@ 2008-06-11  0:31 Max Krasnyansky
  0 siblings, 0 replies; only message in thread
From: Max Krasnyansky @ 2008-06-11  0:31 UTC (permalink / raw)
  To: LKML; +Cc: linux-rt-users

This is the latest version of my CPU isolation tree.
Git tree is available at:
   git://git.kernel.org/pub/scm/linux/kernel/git/maxk/cpuisol-2.6.25.y.git
   http://www.kernel.org/pub/scm/linux/kernel/git/maxk/cpuisol-2.6.25.y.git

Full patch is at:
http://kernel.org/pub/linux/kernel/people/maxk/cpuisol/patches/v2.6.25.6.cpuisol1.patch

In order to simplify overall system setup I wrote a simple tool for system
partitioning - "syspart". You can get the latest version from here
   http://kernel.org/pub/linux/kernel/people/maxk/cpuisol/syspart/
   git://git.kernel.org/pub/scm/linux/kernel/git/maxk/syspart.git

This tool takes care of setting up IRQ affinities and cpusets, moving kernel
and user space tasks, bring CPUs off/online, etc. Please note that you want to
disable daemons like "irqbalance" to avoid resource partitioning conflicts.
For more info see syspart/README.

--
I also have some sample kernel configs that have been tested and are know to
work. You can pick one of them as base for your kernel:
   http://kernel.org/pub/linux/kernel/people/maxk/cpuisol/configs/

Required kernel features:
   CONFIG_CGROUP
   CONFIG_CPUSETS
   CONFIG_CPU_HOTPLUG

Following features are required if you intend on chewing ~100% in the user
space SCHED_FIFO threads running on the isolated CPUs (note that OPROFILE is
known to not work for this use case):
   CONFIG_SLUB or CONFIG_SLOB

You may also want to disable the following features in order to achieve the
lowest possible latency:
   !CONFIG_HIGH_RES_TIMERS
   !CONFIG_NO_HZ
   !CONFIG_CPU_FREQ
And of course you want to refer to
   http://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application
for general guidelines on how to build RT applications.

---
This version is based on a completely different approach (compared to previous
cpuisol tree releases). Instead of the centralized cpu_isolation_map it's now
based on the existing kernel features like cpusets. The number of changes is
therefor very small.

Shortlog:
Max Krasnyansky (6):
      sched: Fix memory leak in the cpu hotplug handing logic
      sched: CPU hotplug events must not destroy scheduler domains created by
	     the cpusets
      genirq: Expose default irq affinity mask (take 3)
      sysctl: Add generic cpumask parser for sysctls
      stopmachine: Introduce stopmachine_cpus sysctl
      Linux 2.6.25.6.cpuisol1

sched: changes are simple bug fixes and are on their way into the mainline.
genirq: stuff has been ACKed in general is pending final ACK from genirq
maintainer.
stopmachine change is a temporary hack to allow for module insertion and removal.

Diffstat:
 Documentation/IRQ-affinity.txt     |   37 ++++++++++++++----
 Documentation/filesystems/proc.txt |   29 +++++++++-----
 Makefile                           |    2 -
 arch/alpha/kernel/irq.c            |    5 +-
 include/linux/irq.h                |   14 ++-----
 include/linux/sysctl.h             |    2 +
 kernel/cpuset.c                    |    6 +++
 kernel/irq/manage.c                |   28 +++++++++++++-
 kernel/irq/proc.c                  |   59 +++++++++++++++++++++++++++--
 kernel/sched.c                     |   23 +++++++++++
 kernel/stop_machine.c              |    5 ++
 kernel/sysctl.c                    |   73 +++++++++++++++++++++++++++++++++++
 12 files changed, 244 insertions(+), 39 deletions(-)

Comments, questions, suggestions and bug reports are welcome.
Max

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-06-11  0:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-11  0:31 linux v2.6.25.6.cpuisol1 Max Krasnyansky

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.