From fc38ed7531eefa332c8c69ee288487860cd6b426 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sat, 10 Sep 2005 00:26:08 -0700 Subject: [PATCH] [PATCH] sched: run SCHED_NORMAL tasks with real time tasks on SMT siblings The hyperthread aware nice handling currently puts to sleep any non real time task when a real time task is running on its sibling cpu. This can lead to prolonged starvation by having the non real time task pegged to the cpu with load balancing not pulling that task away. Currently we force lower priority hyperthread tasks to run a percentage of time difference based on timeslice differences which is meaningless when comparing real time tasks to SCHED_NORMAL tasks. We can allow non real time tasks to run with real time tasks on the sibling up to per_cpu_gain% if we use jiffies as a counter. Cleanups and micro-optimisations to the relevant code section should make it more understandable as well. Signed-off-by: Con Kolivas Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-format-patch failed