login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2010
»
October
»
14
Re: [PATCH 3/4] sched: drop group_capacity to 1 only if local group has extra capacity
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: Suresh Siddha
Subject:
Re: [PATCH 3/4] sched: drop group_capacity to 1 only if local group has extra capacity
Date: Thursday, October 14, 2010 - 4:42 pm
On Wed, 2010-10-13 at 22:48 -0700, Nikhil Rao wrote:
quoted text
> Resending this patch since the original patch was munged. Thanks to Mike > Galbraith for pointing this out. > > When SD_PREFER_SIBLING is set on a sched domain, drop group_capacity to 1 > only if the local group has extra capacity. For niced task balancing, we pull > low weight tasks away from a sched group as long as there is capacity in other > groups. When all other groups are saturated, we do not drop capacity of the > niced group down to 1. This prevents active balance from kicking out the low > weight threads and which hurts system utilization. > > Signed-off-by: Nikhil Rao <ncrao@google.com> > --- > kernel/sched_fair.c | 8 ++++++-- > 1 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c > index 0dd1021..da0c688 100644 > --- a/kernel/sched_fair.c > +++ b/kernel/sched_fair.c > @@ -2030,6 +2030,7 @@ struct sd_lb_stats { > unsigned long this_load; > unsigned long this_load_per_task; > unsigned long this_nr_running; > + unsigned long this_group_capacity; > > /* Statistics of the busiest group */ > unsigned long max_load; > @@ -2546,15 +2547,18 @@ static inline void update_sd_lb_stats(struct sched_domain *sd, int this_cpu, > /* > * In case the child domain prefers tasks go to siblings > * first, lower the sg capacity to one so that we'll try > - * and move all the excess tasks away. > + * and move all the excess tasks away. We lower capacity only > + * if the local group can handle the extra capacity. > */ > - if (prefer_sibling) > + if (prefer_sibling && !local_group && > + sds->this_nr_running < sds->this_group_capacity) > sgs.group_capacity = min(sgs.group_capacity, 1UL);
Yes Nikhil. This should solve my earlier concern of SMT/MC idle balancing case. Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
quoted text
> > if (local_group) { > sds->this_load = sgs.avg_load; > sds->this = sg; > sds->this_nr_running = sgs.sum_nr_running; > + sds->this_group_capacity = sgs.group_capacity; > sds->this_load_per_task = sgs.sum_weighted_load; > } else if (update_sd_pick_busiest(sd, sds, sg, &sgs, this_cpu)) { > sds->max_load = sgs.avg_load;
--
unsubscribe notice
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
[PATCH 3/4] sched: drop group_capacity to 1 only if local ...
, Nikhil Rao
, (Wed Oct 13, 12:09 pm)
[PATCH 3/4] sched: drop group_capacity to 1 only if local ...
, Nikhil Rao
, (Wed Oct 13, 10:48 pm)
Re: [PATCH 3/4] sched: drop group_capacity to 1 only if lo ...
, Suresh Siddha
, (Thu Oct 14, 4:42 pm)
Re: [PATCH 3/4] sched: drop group_capacity to 1 only if lo ...
, Peter Zijlstra
, (Fri Oct 15, 4:50 am)
Re: [PATCH 3/4] sched: drop group_capacity to 1 only if lo ...
, Nikhil Rao
, (Fri Oct 15, 9:13 am)
Re: [PATCH 3/4] sched: drop group_capacity to 1 only if lo ...
, Peter Zijlstra
, (Fri Oct 15, 10:05 am)
Re: [PATCH 3/4] sched: drop group_capacity to 1 only if lo ...
, Suresh Siddha
, (Fri Oct 15, 10:13 am)
Re: [PATCH 3/4] sched: drop group_capacity to 1 only if lo ...
, Peter Zijlstra
, (Fri Oct 15, 10:24 am)
Re: [PATCH 3/4] sched: drop group_capacity to 1 only if lo ...
, Nikhil Rao
, (Fri Oct 15, 10:27 am)
Navigation
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Fortier,Vincent [Montreal]
2.6.21.5 june 30th to july 1st date hang?
Jeff Dike
[ PATCH 2/6 ] UML - Formatting fixes around os_{read_write}_file callers
Liam Girdwood
[PATCH 07/13] regulator: regulator test harness
Oleg Nesterov
Re: Getting the new RxRPC patches upstream
Stefan Seyfried
Re: 2.6.19-rc5: grub is much slower resuming from suspend-to-disk than in 2.6.18
linux-netdev
:
Arnaud Ebalard
Re: [REGRESSION,BISECTED] MIPv6 support broken by f4f914b58019f0
Jan Engelhardt
Re: [PATCH iptables] extension: add xt_cpu match
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock().
Sebastian Andrzej Siewior
[PATCH 8/8] net/emergency: remove locking from reycling pool if emergncy pools are...
David Miller
Re: [PATCH] qlcnic: dont assume NET_IP_ALIGN is 2
git
:
Jakub Narebski
Re: git on MacOSX and files with decomposed utf-8 file names
Brandon Casey
Re: Thunderbird and patches (was Re: [PATCH v2] Enable setting attach as the def...
Christian Couder
[PATCH 1/3] rev-parse: add test script for "--verify"
Ramkumar Ramachandra
Re: [GSoC update] git-remote-svn: The final one
Junio C Hamano
Re: git-rm isn't the inverse action of git-add
openbsd-misc
:
Joachim Schipper
Re: UVC Webcams
Florin Andrei
SOLVED [was: firewall is very slow, something's wrong]
Todd Alan Smith
Re: Microsoft gets the Most Secure Operating Systems award
Neal Hogan
Re: Need Advice: Thinkpad T60 or T61?
Sam Fourman Jr.
Re: Real men don't attack straw men
git-commits-head
:
Linux Kernel Mailing List
ACPI: Disable ARB_DISABLE on platforms where it is not needed
Linux Kernel Mailing List
m68knommu: add read_barrier_depends() and irqs_disabled_flags()
Linux Kernel Mailing List
[MTD] Add mtd panic_write function pointer
Linux Kernel Mailing List
[ARM] pxa: remove duplicate select statements from Kconfig
Linux Kernel Mailing List
mlx4_core: Don't read reserved fields in mlx4_QUERY_ADAPTER()
Colocation donated by:
Syndicate