From: Nick Piggin <nickpiggin@yahoo.com.au>
To: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Cc: Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>
Subject: Re: 2.6.12-rc2-mm1
Date: Thu, 07 Apr 2005 03:11:12 +1000 [thread overview]
Message-ID: <42541830.1010201@yahoo.com.au> (raw)
In-Reply-To: <20050405115113.A17809@unix-os.sc.intel.com>
[-- Attachment #1: Type: text/plain, Size: 561 bytes --]
Siddha, Suresh B wrote:
> On Tue, Apr 05, 2005 at 05:33:49PM +1000, Nick Piggin wrote:
>
>>Lastly, I'd like to be a bit less intrusive with pinned task
>>handling improvements. I think we can do this while still being
>>effective in preventing livelocks.
>
>
> We want to see this fixed. Please post your patch and I can let you know
> the test results.
>
Using the attached patch, a puny dual PIII-650 with ~400MB RAM swapped
itself to death after 20000 infinite loop tasks had been pinned to one
of the CPUs. See how you go.
--
SUSE Labs, Novell Inc.
[-- Attachment #2: sched-relax-pinned-balancing.patch --]
[-- Type: text/plain, Size: 1148 bytes --]
Index: linux-2.6/kernel/sched.c
===================================================================
--- linux-2.6.orig/kernel/sched.c 2005-04-07 02:39:22.000000000 +1000
+++ linux-2.6/kernel/sched.c 2005-04-07 02:45:26.000000000 +1000
@@ -2041,6 +2041,12 @@ static runqueue_t *find_busiest_queue(st
}
/*
+ * Max backoff if we encounter pinned tasks. Pretty arbitrary value, but
+ * so long as it is large enough.
+ */
+#define MAX_PINNED_INTERVAL 1024
+
+/*
* Check this_cpu to ensure it is balanced within domain. Attempt to move
* tasks if there is an imbalance.
*
@@ -2052,7 +2058,7 @@ static int load_balance(int this_cpu, ru
struct sched_group *group;
runqueue_t *busiest;
unsigned long imbalance;
- int nr_moved, all_pinned;
+ int nr_moved, all_pinned = 0;
int active_balance = 0;
spin_lock(&this_rq->lock);
@@ -2143,7 +2149,8 @@ out_balanced:
sd->nr_balance_failed = 0;
/* tune up the balancing interval */
- if (sd->balance_interval < sd->max_interval)
+ if ((all_pinned && sd->balance_interval < MAX_PINNED_INTERVAL) ||
+ (sd->balance_interval < sd->max_interval))
sd->balance_interval *= 2;
return 0;
next prev parent reply other threads:[~2005-04-06 17:11 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-05 7:05 2.6.12-rc2-mm1 Andrew Morton
2005-04-05 7:21 ` 2.6.12-rc2-mm1 Dave Airlie
2005-04-05 7:33 ` 2.6.12-rc2-mm1 Nick Piggin
2005-04-05 7:59 ` 2.6.12-rc2-mm1 Ingo Molnar
2005-04-05 18:51 ` 2.6.12-rc2-mm1 Siddha, Suresh B
2005-04-05 23:42 ` 2.6.12-rc2-mm1 Nick Piggin
2005-04-06 17:11 ` Nick Piggin [this message]
2005-04-08 1:08 ` 2.6.12-rc2-mm1 Siddha, Suresh B
2005-04-08 2:28 ` 2.6.12-rc2-mm1 Nick Piggin
2005-04-05 7:39 ` 2.6.12-rc2-mm1 Brice Goglin
2005-04-05 7:45 ` 2.6.12-rc2-mm1 Andrew Morton
2005-04-05 7:59 ` 2.6.12-rc2-mm1 Brice Goglin
2005-04-05 8:05 ` 2.6.12-rc2-mm1 Andrew Morton
2005-04-07 17:00 ` 2.6.12-rc2-mm1 - printk timing broken Damir Perisa
2005-04-05 8:30 ` 2.6.12-rc2-mm1 Ingo Molnar
2005-04-05 8:40 ` 2.6.12-rc2-mm1 Brice Goglin
2005-04-05 18:34 ` 2.6.12-rc2-mm1 Ingo Molnar
2005-04-06 9:09 ` 2.6.12-rc2-mm1 Brice Goglin
2005-04-05 7:44 ` 2.6.12-rc2-mm1 Christoph Hellwig
2005-04-05 9:07 ` 2.6.12-rc2-mm1 Dave Airlie
2005-04-05 9:20 ` 2.6.12-rc2-mm1 Paul Mackerras
2005-04-05 9:25 ` 2.6.12-rc2-mm1 Dave Airlie
2005-04-05 9:30 ` 2.6.12-rc2-mm1 Christoph Hellwig
2005-04-05 9:44 ` 2.6.12-rc2-mm1 Paul Mackerras
2005-04-05 9:45 ` 2.6.12-rc2-mm1 Christoph Hellwig
2005-04-05 9:51 ` 2.6.12-rc2-mm1 Paul Mackerras
2005-04-05 9:54 ` 2.6.12-rc2-mm1 Christoph Hellwig
2005-04-05 9:58 ` 2.6.12-rc2-mm1 Dave Airlie
2005-04-05 10:03 ` 2.6.12-rc2-mm1 Christoph Hellwig
2005-04-05 9:58 ` 2.6.12-rc2-mm1 Paul Mackerras
2005-04-05 9:33 ` 2.6.12-rc2-mm1 Arjan van de Ven
2005-04-05 9:11 ` 2.6.12-rc2-mm1 Paul Mackerras
2005-04-05 9:12 ` 2.6.12-rc2-mm1 Christoph Hellwig
2005-04-05 9:35 ` 2.6.12-rc2-mm1 Paul Mackerras
2005-04-05 9:36 ` 2.6.12-rc2-mm1 Christoph Hellwig
2005-04-05 7:45 ` 2.6.12-rc2-mm1 Christoph Hellwig
2005-04-05 7:51 ` 2.6.12-rc2-mm1 Andrew Morton
2005-04-05 16:48 ` 2.6.12-rc2-mm1 David Woodhouse
2005-04-05 8:18 ` 2.6.12-rc2-mm1 Brice Goglin
2005-04-05 8:46 ` 2.6.12-rc2-mm1 Rafael J. Wysocki
2005-04-05 10:08 ` 2.6.12-rc2-mm1 Jindrich Makovicka
2005-04-06 22:07 ` 2.6.12-rc2-mm1 Andrew Morton
2005-04-05 10:18 ` 2.6.12-rc2-mm1 Andrey Panin
2005-04-05 12:21 ` [-mm patch] Makefile: fix spaces instead of tab Adrian Bunk
2005-04-05 13:19 ` Sam Ravnborg
2005-04-05 12:40 ` 2.6.12-rc2-mm1 Borislav Petkov
2005-04-05 13:44 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-05 14:14 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-05 22:03 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-06 0:56 ` 2.6.12-rc2-mm1 Andrew Morton
2005-04-06 7:19 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-06 12:59 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-06 21:27 ` 2.6.12-rc2-mm1 Andrew Morton
2005-04-07 3:06 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-07 6:55 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-08 10:33 ` 2.6.12-rc2-mm1 Pavel Machek
2005-04-10 21:18 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-10 21:27 ` 2.6.12-rc2-mm1 Pavel Machek
2005-04-10 22:57 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-10 23:00 ` 2.6.12-rc2-mm1 Pavel Machek
2005-04-11 4:31 ` 2.6.12-rc2-mm1 Barry K. Nathan
2005-04-11 10:57 ` swsusp vs. xfs [was Re: 2.6.12-rc2-mm1] Pavel Machek
2005-04-11 23:12 ` [xfs-masters] " Nathan Scott
2005-04-11 23:51 ` Pavel Machek
2005-04-12 0:26 ` Nathan Scott
2005-04-12 11:04 ` Pavel Machek
2005-04-12 11:50 ` Barry K. Nathan
2005-04-12 12:47 ` Rafael J. Wysocki
2005-04-11 7:38 ` 2.6.12-rc2-mm1 Stefan Seyfried
2005-04-05 14:24 ` [-mm patch] drivers/infiniband/hw/mthca/mthca_main.c: remove an unused label Adrian Bunk
2005-04-05 14:37 ` Hal Rosenstock
2005-04-05 16:53 ` Roland Dreier
2005-04-05 15:45 ` 2.6.12-rc2-mm1 Jan Dittmer
2005-04-05 21:38 ` 2.6.12-rc2-mm1 Sam Ravnborg
2005-04-05 17:11 ` 2.6.12-rc2-mm1 Christophe Saout
2005-04-06 1:44 ` 2.6.12-rc2-mm1 Neil Brown
2005-04-06 22:19 ` 2.6.12-rc2-mm1 Andrew Morton
2005-04-07 0:40 ` 2.6.12-rc2-mm1 Ed Tomlinson
2005-04-07 7:14 ` 2.6.12-rc2-mm1 Mickael Marchand
2005-04-08 18:13 ` [-mm patch] x86_64: kill obsolete check_nmi_watchdog prototype Adrian Bunk
2005-04-08 18:21 ` Mickael Marchand
-- strict thread matches above, loose matches on Subject: below --
2005-04-05 7:05 2.6.12-rc2-mm1 Andrew Morton
[not found] <fa.gcqu6i7.1o6qrhn@ifi.uio.no>
2005-04-05 8:34 ` 2.6.12-rc2-mm1 Reuben Farrelly
2005-04-05 12:14 ` 2.6.12-rc2-mm1 Adrian Bunk
2005-04-05 12:32 ` 2.6.12-rc2-mm1 Reuben Farrelly
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42541830.1010201@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=suresh.b.siddha@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.