public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
@ 2007-04-22  4:41 Con Kolivas
  2007-04-22  7:00 ` Willy Tarreau
  2007-04-22  8:02 ` [ck] " Michael Gerdau
  0 siblings, 2 replies; 19+ messages in thread
From: Con Kolivas @ 2007-04-22  4:41 UTC (permalink / raw)
  To: linux kernel mailing list, ck list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Willy Tarreau, Gene Heskett

A significant bugfix for SMP balancing was just posted for the staircase 
deadline cpu scheduler which improves behaviour dramatically on any SMP 
machine.

Thanks to Willy Tarreau for noticing likely fault point.

Also requested was a version in the Makefile so this version of the patch 
adds -sd045 to the kernel version.

http://ck.kolivas.org/patches/staircase-deadline/2.6.20.7-sd-0.45.patch
http://ck.kolivas.org/patches/staircase-deadline/2.6.21-rc7-sd-0.45.patch

Incrementals from 0.44:
http://ck.kolivas.org/patches/staircase-deadline/2.6.20.7/sd-0.44-0.45.patch
http://ck.kolivas.org/patches/staircase-deadline/2.6.21-rc7/sd-0.44-0.45.patch

Renicing X to -10, while not essential, may be desirable on the desktop. 
Unlike the CFS scheduler which renices X without your intervention to 
nice -19, the SD patches do not alter nice level on their own.

See the patch just posted called 'sched: implement staircase deadline 
scheduler ymf accounting fixes' for details of the fixes.

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  4:41 [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45 Con Kolivas
@ 2007-04-22  7:00 ` Willy Tarreau
  2007-04-22  7:27   ` Con Kolivas
  2007-04-22  8:02 ` [ck] " Michael Gerdau
  1 sibling, 1 reply; 19+ messages in thread
From: Willy Tarreau @ 2007-04-22  7:00 UTC (permalink / raw)
  To: Con Kolivas
  Cc: linux kernel mailing list, ck list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Gene Heskett

On Sun, Apr 22, 2007 at 02:41:48PM +1000, Con Kolivas wrote:
> A significant bugfix for SMP balancing was just posted for the staircase 
> deadline cpu scheduler which improves behaviour dramatically on any SMP 
> machine.
> 
> Thanks to Willy Tarreau for noticing likely fault point.
> 
> Also requested was a version in the Makefile so this version of the patch 
> adds -sd045 to the kernel version.

Con, I'm sorry, but it is worse with this one :-(

The lag when typing in xterms is even more noticeable and vmstat output
oscillates between 8 and 65, with idle rates around 50%, as you can see
below :

   procs                      memory      swap          io     system      cpu
 r  b  w   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id
 9  0  0      0 922436   6392  57496    0    0     0     0    2   172 26 33 41
65  0  1      0 922436   6392  57496    0    0     0     0    0   132 23 37 40
66  0  0      0 922436   6392  57496    0    0     0     0    1   159 18 31 51
 9  0  0      0 922436   6392  57496    0    0     0     0    0   166 24 37 40
68  0  0      0 922436   6392  57496    0    0     0     0    5   121 23 32 44
62  0  0      0 922576   6392  57496    0    0     0     0    0   161 17 29 53
 8  0  0      0 922576   6392  57496    0    0     0     0    1   158 23 42 34
65  0  0      0 922576   6392  57496    0    0     0     0    1    92 17 33 50
52  0  2      0 922576   6392  57496    0    0     0     0    0   156 19 28 53
13  0  0      0 922576   6392  57496    0    0     0     0    8   171 25 44 30
65  0  0      0 922576   6392  57496    0    0     0     0   17   172 20 26 54
 8  0  0      0 922576   6392  57496    0    0     0     0    4   188 22 31 47
22  0  0      0 922576   6392  57496    0    0     0     0   10   182 26 38 36
65  0  1      0 922576   6392  57496    0    0     0     0    8   107 18 28 54
 8  0  0      0 922588   6424  57508    0    0    12    36   11   201 26 35 39
66  0  0      0 922588   6424  57508    0    0     0     0   11   115 22 36 43
61  0  0      0 922564   6424  57508    0    0     0     0   32   409 16 28 56
 8  0  0      0 922564   6424  57508    0    0     0     0   19   224 24 42 34
65  0  0      0 922564   6436  57496    0    0     0    12   34   439 19 29 52
 8  0  0      0 922564   6436  57496    0    0     0     0   28   320 18 26 56
20  0  0      0 922564   6436  57508    0    0     0     0    6   195 26 42 32

Renicing X or not does not change anything here.

I suspect that the bug you fixed was hiding another one :-/
If you want me to test another patch, feel free to ask.

Willy


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  7:00 ` Willy Tarreau
@ 2007-04-22  7:27   ` Con Kolivas
  2007-04-22  7:31     ` Con Kolivas
  0 siblings, 1 reply; 19+ messages in thread
From: Con Kolivas @ 2007-04-22  7:27 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: linux kernel mailing list, ck list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Gene Heskett

On Sunday 22 April 2007 17:00, Willy Tarreau wrote:
> On Sun, Apr 22, 2007 at 02:41:48PM +1000, Con Kolivas wrote:
> > A significant bugfix for SMP balancing was just posted for the staircase
> > deadline cpu scheduler which improves behaviour dramatically on any SMP
> > machine.
> >
> > Thanks to Willy Tarreau for noticing likely fault point.
> >
> > Also requested was a version in the Makefile so this version of the patch
> > adds -sd045 to the kernel version.
>
> Con, I'm sorry, but it is worse with this one :-(

Well that was quick testing, thanks.
>
> The lag when typing in xterms is even more noticeable and vmstat output
> oscillates between 8 and 65, with idle rates around 50%, as you can see
> below :

> Renicing X or not does not change anything here.
>
> I suspect that the bug you fixed was hiding another one :-/
> If you want me to test another patch, feel free to ask.

Thanks. Clearly still a bug in there. I have to keep looking. The other 
changes are still valid so I have to run with them.

> Willy

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  7:27   ` Con Kolivas
@ 2007-04-22  7:31     ` Con Kolivas
  2007-04-22  8:06       ` Willy Tarreau
  0 siblings, 1 reply; 19+ messages in thread
From: Con Kolivas @ 2007-04-22  7:31 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: linux kernel mailing list, ck list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Gene Heskett

On Sunday 22 April 2007 17:27, Con Kolivas wrote:
> On Sunday 22 April 2007 17:00, Willy Tarreau wrote:
> > On Sun, Apr 22, 2007 at 02:41:48PM +1000, Con Kolivas wrote:
> > > A significant bugfix for SMP balancing was just posted for the
> > > staircase deadline cpu scheduler which improves behaviour dramatically
> > > on any SMP machine.
> > >
> > > Thanks to Willy Tarreau for noticing likely fault point.
> > >
> > > Also requested was a version in the Makefile so this version of the
> > > patch adds -sd045 to the kernel version.
> >
> > Con, I'm sorry, but it is worse with this one :-(
>
> Well that was quick testing, thanks.
>
> > The lag when typing in xterms is even more noticeable and vmstat output
> > oscillates between 8 and 65, with idle rates around 50%, as you can see
> > below :
> >
> > Renicing X or not does not change anything here.
> >
> > I suspect that the bug you fixed was hiding another one :-/
> > If you want me to test another patch, feel free to ask.

Just as a debug point could you please try this patch? Thanks.

> Thanks. Clearly still a bug in there. I have to keep looking. The other
> changes are still valid so I have to run with them.
>
> > Willy
---
 kernel/sched.c |    2 ++
 1 file changed, 2 insertions(+)

Index: linux-2.6.21-rc7-sd/kernel/sched.c
===================================================================
--- linux-2.6.21-rc7-sd.orig/kernel/sched.c	2007-04-22 17:30:25.000000000 +1000
+++ linux-2.6.21-rc7-sd/kernel/sched.c	2007-04-22 17:30:49.000000000 +1000
@@ -3276,6 +3276,7 @@ retry:
 	}
 	queue = array->queue + idx;
 	next = list_entry(queue->next, struct task_struct, run_list);
+#if 0
 	if (unlikely(next->time_slice <= 0)) {
 		/*
 		 * Unlucky enough that this task ran out of time_slice
@@ -3287,6 +3288,7 @@ retry:
 		idx = find_next_bit(rq->dyn_bitmap, MAX_PRIO, MAX_RT_PRIO);
 		goto retry;
 	}
+#endif
 	next->rotation = rq->prio_rotation;
 	nstatic = next->static_prio;
 	if (nstatic < array->best_static_prio)

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  4:41 [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45 Con Kolivas
  2007-04-22  7:00 ` Willy Tarreau
@ 2007-04-22  8:02 ` Michael Gerdau
  2007-04-22 11:09   ` Con Kolivas
  1 sibling, 1 reply; 19+ messages in thread
From: Michael Gerdau @ 2007-04-22  8:02 UTC (permalink / raw)
  To: ck
  Cc: Con Kolivas, linux kernel mailing list, Ingo Molnar,
	Mike Galbraith, Al Boldi, Peter Williams, Nick Piggin,
	Matt Mackall, Bill Huey, William Lee Irwin III, Willy Tarreau,
	Gene Heskett

[-- Attachment #1: Type: text/plain, Size: 1295 bytes --]

Hi Con,

I now have 2.6.21-rc7-sd-0.45 running on my Intel Core2 T7600 2.33
machine and there is something I don't understand.

For testing I have a Perl script that does some numbercrunching
and runs a couple of hours.

I have two scenarios
a) start the job via loops in a shellscript
b) start the job via a makefile (make -j 2)
that I run in parallel.

I watch the jobs via top and this is what I see:
Job a) quickly gets about 100% (- 0-2) while job b) creates two
perl jobs that both get 50% (- 0-2). I suppose it is expected
behaviour that the single perl job created via a) gets same same
share of the cpu as the two perl jobs created via b) together.

However occasionally cpu drops to 33% for all three perl jobs
while there is no other job visible in top (i.e. the sum drops
from 200% to 100%). After some time this changes back to 100/50/50.

How could this happen and would applying the other patch you
mailed to Willy Tarreau help tracking that down ?

Best wishes,
Michael
-- 
 Technosis GmbH, Geschäftsführer: Michael Gerdau, Tobias Dittmar
 Sitz Hamburg; HRB 89145 Amtsgericht Hamburg
 Vote against SPAM - see http://www.politik-digital.de/spam/
 Michael Gerdau       email: mgd@technosis.de
 GPG-keys available on request or at public keyserver

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  7:31     ` Con Kolivas
@ 2007-04-22  8:06       ` Willy Tarreau
  2007-04-22  8:53         ` Con Kolivas
  0 siblings, 1 reply; 19+ messages in thread
From: Willy Tarreau @ 2007-04-22  8:06 UTC (permalink / raw)
  To: Con Kolivas
  Cc: linux kernel mailing list, ck list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Gene Heskett

On Sun, Apr 22, 2007 at 05:31:58PM +1000, Con Kolivas wrote:
> On Sunday 22 April 2007 17:27, Con Kolivas wrote:
> > On Sunday 22 April 2007 17:00, Willy Tarreau wrote:
> > > On Sun, Apr 22, 2007 at 02:41:48PM +1000, Con Kolivas wrote:
> > > > A significant bugfix for SMP balancing was just posted for the
> > > > staircase deadline cpu scheduler which improves behaviour dramatically
> > > > on any SMP machine.
> > > >
> > > > Thanks to Willy Tarreau for noticing likely fault point.
> > > >
> > > > Also requested was a version in the Makefile so this version of the
> > > > patch adds -sd045 to the kernel version.
> > >
> > > Con, I'm sorry, but it is worse with this one :-(
> >
> > Well that was quick testing, thanks.
> >
> > > The lag when typing in xterms is even more noticeable and vmstat output
> > > oscillates between 8 and 65, with idle rates around 50%, as you can see
> > > below :
> > >
> > > Renicing X or not does not change anything here.
> > >
> > > I suspect that the bug you fixed was hiding another one :-/
> > > If you want me to test another patch, feel free to ask.
> 
> Just as a debug point could you please try this patch? Thanks.

OK, this time, the ocbench took ages to start. They appeared immediately
but very few of them (less than 8 out of 64) really started to work. The
system remained very responsive and smooth during the test. But I guess
I know why : all the load was sent to CPU 0 :

   procs                      memory      swap          io     system      cpu
 r  b  w   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id
63  0  0      0 923476   6516  57456    0    0     0    28  175  1281 14 26 59
64  0  2      0 922976   6516  57456    0    0     0     0    4   261 19 31 50
64  0  0      0 922924   6516  57492    0    0     0     0    1    85 17 33 50
64  0  0      0 922924   6516  57492    0    0     0     0    0   110 25 25 50
64  0  1      0 922924   6516  57492    0    0     0     0    3    83 24 27 50
64  0  0      0 922924   6516  57492    0    0     0     4   16   267 18 33 50
64  0  0      0 922924   6516  57492    0    0     0     0   15   244 24 27 50
64  0  0      0 922956   6516  57492    0    0     0     0    8   200 20 31 49
59  0  0      0 922956   6516  57492    0    0     0     0    1    98 18 34 49
59  0  0      0 922956   6516  57492    0    0     0     0    0   105 21 30 49
64  0  0      0 922956   6516  57492    0    0     0     0    1    97 19 32 49
62  0  0      0 922972   6516  57492    0    0     0     0    0   114 23 28 49
64  0  0      0 922972   6516  57492    0    0     0     0    1    95 23 28 49
64  0  0      0 922972   6516  57492    0    0     0     0    0   104 22 29 49


CPU0 states:  45.0% user  54.0% system    0.0% nice   0.0% iowait   0.0% idle
CPU1 states:   0.1% user   0.0% system    0.0% nice   0.0% iowait  99.0% idle
Mem:  1034876k av,  112296k used,  922580k free,       0k shrd,    6524k buff
        34232k active,              45428k inactive
Swap:  497972k av,       0k used,  497972k free                   57536k cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
 1402 willy     31   0  2272  640   548 R     2.9  0.0   0:00   0 ocbench
 1407 willy     31   0  2272  640   548 R     2.9  0.0   0:00   0 ocbench
 1452 willy     31   0  2272  640   548 R     2.9  0.0   0:00   0 ocbench
 1455 willy     31   0  2272  640   548 R     2.9  0.0   0:00   0 ocbench
 1394 willy     29   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1395 willy     29   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1396 willy     31   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1400 willy     31   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1401 willy     29   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1404 willy     31   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1408 willy     31   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1409 willy     31   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1411 willy     31   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1412 willy     31   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench
 1413 willy     31   0  2272  640   548 R     1.9  0.0   0:00   0 ocbench


Willy


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  8:06       ` Willy Tarreau
@ 2007-04-22  8:53         ` Con Kolivas
  2007-04-22  9:14           ` Willy Tarreau
  0 siblings, 1 reply; 19+ messages in thread
From: Con Kolivas @ 2007-04-22  8:53 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: linux kernel mailing list, ck list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Gene Heskett

On Sunday 22 April 2007 18:06, Willy Tarreau wrote:
> On Sun, Apr 22, 2007 at 05:31:58PM +1000, Con Kolivas wrote:
> > On Sunday 22 April 2007 17:27, Con Kolivas wrote:
> > > On Sunday 22 April 2007 17:00, Willy Tarreau wrote:
> > > > On Sun, Apr 22, 2007 at 02:41:48PM +1000, Con Kolivas wrote:
> > > > > A significant bugfix for SMP balancing was just posted for the
> > > > > staircase deadline cpu scheduler which improves behaviour
> > > > > dramatically on any SMP machine.
> > > > >
> > > > > Thanks to Willy Tarreau for noticing likely fault point.
> > > > >
> > > > > Also requested was a version in the Makefile so this version of the
> > > > > patch adds -sd045 to the kernel version.
> > > >
> > > > Con, I'm sorry, but it is worse with this one :-(
> > >
> > > Well that was quick testing, thanks.
> > >
> > > > The lag when typing in xterms is even more noticeable and vmstat
> > > > output oscillates between 8 and 65, with idle rates around 50%, as
> > > > you can see below :
> > > >
> > > > Renicing X or not does not change anything here.
> > > >
> > > > I suspect that the bug you fixed was hiding another one :-/
> > > > If you want me to test another patch, feel free to ask.
> >
> > Just as a debug point could you please try this patch? Thanks.
>
> OK, this time, the ocbench took ages to start. They appeared immediately
> but very few of them (less than 8 out of 64) really started to work. The
> system remained very responsive and smooth during the test. But I guess
> I know why : all the load was sent to CPU 0 :

Shouldn't have affected smp balancing at all, but try this on top of the 
ontop please? Thanks

> Willy

---
 kernel/sched.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.21-rc7-sd/kernel/sched.c
===================================================================
--- linux-2.6.21-rc7-sd.orig/kernel/sched.c	2007-04-22 18:52:29.000000000 +1000
+++ linux-2.6.21-rc7-sd/kernel/sched.c	2007-04-22 18:52:52.000000000 +1000
@@ -703,7 +703,7 @@ static int next_entitled_slot(struct tas
 	 * Go straight to expiration if there are higher priority tasks
 	 * already expired.
 	 */
-	if (p->static_prio > rq->expired->best_static_prio)
+	if (p->static_prio > rq->expired->best_static_prio && p->mm)
 		return MAX_PRIO;
 	if (!rq->prio_level[uprio])
 		rq->prio_level[uprio] = MAX_RT_PRIO;

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  8:53         ` Con Kolivas
@ 2007-04-22  9:14           ` Willy Tarreau
  2007-04-22  9:53             ` Con Kolivas
  2007-04-22 11:42             ` Con Kolivas
  0 siblings, 2 replies; 19+ messages in thread
From: Willy Tarreau @ 2007-04-22  9:14 UTC (permalink / raw)
  To: Con Kolivas
  Cc: linux kernel mailing list, ck list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Gene Heskett

On Sun, Apr 22, 2007 at 06:53:58PM +1000, Con Kolivas wrote:
> On Sunday 22 April 2007 18:06, Willy Tarreau wrote:
> > On Sun, Apr 22, 2007 at 05:31:58PM +1000, Con Kolivas wrote:
> > > On Sunday 22 April 2007 17:27, Con Kolivas wrote:
> > > > On Sunday 22 April 2007 17:00, Willy Tarreau wrote:
> > > > > On Sun, Apr 22, 2007 at 02:41:48PM +1000, Con Kolivas wrote:
> > > > > > A significant bugfix for SMP balancing was just posted for the
> > > > > > staircase deadline cpu scheduler which improves behaviour
> > > > > > dramatically on any SMP machine.
> > > > > >
> > > > > > Thanks to Willy Tarreau for noticing likely fault point.
> > > > > >
> > > > > > Also requested was a version in the Makefile so this version of the
> > > > > > patch adds -sd045 to the kernel version.
> > > > >
> > > > > Con, I'm sorry, but it is worse with this one :-(
> > > >
> > > > Well that was quick testing, thanks.
> > > >
> > > > > The lag when typing in xterms is even more noticeable and vmstat
> > > > > output oscillates between 8 and 65, with idle rates around 50%, as
> > > > > you can see below :
> > > > >
> > > > > Renicing X or not does not change anything here.
> > > > >
> > > > > I suspect that the bug you fixed was hiding another one :-/
> > > > > If you want me to test another patch, feel free to ask.
> > >
> > > Just as a debug point could you please try this patch? Thanks.
> >
> > OK, this time, the ocbench took ages to start. They appeared immediately
> > but very few of them (less than 8 out of 64) really started to work. The
> > system remained very responsive and smooth during the test. But I guess
> > I know why : all the load was sent to CPU 0 :
> 
> Shouldn't have affected smp balancing at all, but try this on top of the 
> ontop please? Thanks

Does not change anything. There clearly is a huge regression somewhere :-/
The second CPU is not used by ocbench, and again, out of 64 tasks, only
a small bunch (between 4 and 8) do something.

Con, you should review the changes between 0.44 and 0.45, I think you
introduced a bug which broke fairness while fixing another one.

Willy


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  9:14           ` Willy Tarreau
@ 2007-04-22  9:53             ` Con Kolivas
  2007-04-22 11:42             ` Con Kolivas
  1 sibling, 0 replies; 19+ messages in thread
From: Con Kolivas @ 2007-04-22  9:53 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: linux kernel mailing list, ck list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Gene Heskett

On Sunday 22 April 2007 19:14, Willy Tarreau wrote:
> On Sun, Apr 22, 2007 at 06:53:58PM +1000, Con Kolivas wrote:
> > On Sunday 22 April 2007 18:06, Willy Tarreau wrote:
> > > On Sun, Apr 22, 2007 at 05:31:58PM +1000, Con Kolivas wrote:
> > > > On Sunday 22 April 2007 17:27, Con Kolivas wrote:
> > > > > On Sunday 22 April 2007 17:00, Willy Tarreau wrote:
> > > > > > On Sun, Apr 22, 2007 at 02:41:48PM +1000, Con Kolivas wrote:
> > > > > > > A significant bugfix for SMP balancing was just posted for the
> > > > > > > staircase deadline cpu scheduler which improves behaviour
> > > > > > > dramatically on any SMP machine.
> > > > > > >
> > > > > > > Thanks to Willy Tarreau for noticing likely fault point.
> > > > > > >
> > > > > > > Also requested was a version in the Makefile so this version of
> > > > > > > the patch adds -sd045 to the kernel version.
> > > > > >
> > > > > > Con, I'm sorry, but it is worse with this one :-(
> > > > >
> > > > > Well that was quick testing, thanks.
> > > > >
> > > > > > The lag when typing in xterms is even more noticeable and vmstat
> > > > > > output oscillates between 8 and 65, with idle rates around 50%,
> > > > > > as you can see below :
> > > > > >
> > > > > > Renicing X or not does not change anything here.
> > > > > >
> > > > > > I suspect that the bug you fixed was hiding another one :-/
> > > > > > If you want me to test another patch, feel free to ask.
> > > >
> > > > Just as a debug point could you please try this patch? Thanks.
> > >
> > > OK, this time, the ocbench took ages to start. They appeared
> > > immediately but very few of them (less than 8 out of 64) really started
> > > to work. The system remained very responsive and smooth during the
> > > test. But I guess I know why : all the load was sent to CPU 0 :
> >
> > Shouldn't have affected smp balancing at all, but try this on top of the
> > ontop please? Thanks
>
> Does not change anything. There clearly is a huge regression somewhere :-/
> The second CPU is not used by ocbench, and again, out of 64 tasks, only
> a small bunch (between 4 and 8) do something.
>
> Con, you should review the changes between 0.44 and 0.45, I think you
> introduced a bug which broke fairness while fixing another one.

Hmm; well it was "better" without the first debug patch I sent (even though it 
ws worse than 0.44) which is important in itself. I thank you greatly for 
your testing so far. Unfortunately I'm close to a one man code show so I'll 
have to spend time reviewing it further. The changes so far look ok still. 
Something else is lurking.

Thanks!

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  8:02 ` [ck] " Michael Gerdau
@ 2007-04-22 11:09   ` Con Kolivas
  0 siblings, 0 replies; 19+ messages in thread
From: Con Kolivas @ 2007-04-22 11:09 UTC (permalink / raw)
  To: Michael Gerdau
  Cc: ck, linux kernel mailing list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Willy Tarreau, Gene Heskett

On Sunday 22 April 2007 18:02, Michael Gerdau wrote:
> Hi Con,
>
> I now have 2.6.21-rc7-sd-0.45 running on my Intel Core2 T7600 2.33
> machine and there is something I don't understand.
>
> For testing I have a Perl script that does some numbercrunching
> and runs a couple of hours.
>
> I have two scenarios
> a) start the job via loops in a shellscript
> b) start the job via a makefile (make -j 2)
> that I run in parallel.
>
> I watch the jobs via top and this is what I see:
> Job a) quickly gets about 100% (- 0-2) while job b) creates two
> perl jobs that both get 50% (- 0-2). I suppose it is expected
> behaviour that the single perl job created via a) gets same same
> share of the cpu as the two perl jobs created via b) together.
>
> However occasionally cpu drops to 33% for all three perl jobs
> while there is no other job visible in top (i.e. the sum drops
> from 200% to 100%). After some time this changes back to 100/50/50.
>
> How could this happen and would applying the other patch you
> mailed to Willy Tarreau help tracking that down ?

Thanks for report. That patch did not help Willy, and now you have confirmed 
there still is an SMP balancing problem too where it doesn't seem to keep all 
cpus busy. There's still a bug there in the smp balancing code and I'm 
reviewing it madly trying to find it. If anyone else knows this balancing 
code and is willing to help I'd be happy for feedback if they can see an 
obvious error. Likely thing is the runqueue is not being weighted at all 
despite being bust so the other runqueue doesn't try to take any tasks from 
it.

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22  9:14           ` Willy Tarreau
  2007-04-22  9:53             ` Con Kolivas
@ 2007-04-22 11:42             ` Con Kolivas
  2007-04-22 12:18               ` [ck] " Con Kolivas
  1 sibling, 1 reply; 19+ messages in thread
From: Con Kolivas @ 2007-04-22 11:42 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: linux kernel mailing list, ck list, Ingo Molnar, Mike Galbraith,
	Al Boldi, Peter Williams, Nick Piggin, Matt Mackall, Bill Huey,
	William Lee Irwin III, Gene Heskett

On Sunday 22 April 2007 19:14, Willy Tarreau wrote:
> On Sun, Apr 22, 2007 at 06:53:58PM +1000, Con Kolivas wrote:
> > On Sunday 22 April 2007 18:06, Willy Tarreau wrote:
> > > On Sun, Apr 22, 2007 at 05:31:58PM +1000, Con Kolivas wrote:
> > > > On Sunday 22 April 2007 17:27, Con Kolivas wrote:
> > > > > On Sunday 22 April 2007 17:00, Willy Tarreau wrote:
> > > > > > On Sun, Apr 22, 2007 at 02:41:48PM +1000, Con Kolivas wrote:
> > > > > > > A significant bugfix for SMP balancing was just posted for the
> > > > > > > staircase deadline cpu scheduler which improves behaviour
> > > > > > > dramatically on any SMP machine.
> > > > > > >
> > > > > > > Thanks to Willy Tarreau for noticing likely fault point.
> > > > > > >
> > > > > > > Also requested was a version in the Makefile so this version of
> > > > > > > the patch adds -sd045 to the kernel version.
> > > > > >
> > > > > > Con, I'm sorry, but it is worse with this one :-(
> > > > >
> > > > > Well that was quick testing, thanks.
> > > > >
> > > > > > The lag when typing in xterms is even more noticeable and vmstat
> > > > > > output oscillates between 8 and 65, with idle rates around 50%,
> > > > > > as you can see below :
> > > > > >
> > > > > > Renicing X or not does not change anything here.
> > > > > >
> > > > > > I suspect that the bug you fixed was hiding another one :-/
> > > > > > If you want me to test another patch, feel free to ask.
> > > >
> > > > Just as a debug point could you please try this patch? Thanks.
> > >
> > > OK, this time, the ocbench took ages to start. They appeared
> > > immediately but very few of them (less than 8 out of 64) really started
> > > to work. The system remained very responsive and smooth during the
> > > test. But I guess I know why : all the load was sent to CPU 0 :
> >
> > Shouldn't have affected smp balancing at all, but try this on top of the
> > ontop please? Thanks
>
> Does not change anything. There clearly is a huge regression somewhere :-/
> The second CPU is not used by ocbench, and again, out of 64 tasks, only
> a small bunch (between 4 and 8) do something.
>
> Con, you should review the changes between 0.44 and 0.45, I think you
> introduced a bug which broke fairness while fixing another one.

Ok I was able to find time on dual core and could reproduce your problem. 
Testing something now that I think might be responsible.

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22 11:42             ` Con Kolivas
@ 2007-04-22 12:18               ` Con Kolivas
  2007-04-22 13:07                 ` Willy Tarreau
                                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Con Kolivas @ 2007-04-22 12:18 UTC (permalink / raw)
  To: ck, Michael Gerdau
  Cc: Willy Tarreau, Nick Piggin, Gene Heskett, Al Boldi, Bill Huey,
	Mike Galbraith, linux kernel mailing list, William Lee Irwin III,
	Peter Williams, Matt Mackall

On Sunday 22 April 2007 21:42, Con Kolivas wrote:

Willy I'm still investigating the idle time and fluctuating load as a separate 
issue. Is it possible the multiple ocbench processes are naturally 
synchronising and desynchronising and choosing to sleep and/or run at the 
same time? I can remove the idle time entirely by running ocbench at nice 19 
which means they are all forced to run at basically the same time by the 
scheduler.

Anyway the more important part is... Can you test this patch please? Dump
all the other patches I sent you post 045. Michael, if you could test too
please?

Thanks!

---

It appears load weight still wasn't being set in enough places and changing
where rr_interval was being set a few iterations of SD ago might have revealed
that bug. Ensure load_weight is set whenever p->quota is set and simplify
dramatically the load_weight.

Signed-off-by: Con Kolivas <kernel@kolivas.org>

---
 kernel/sched.c |   35 ++++++++++++++++-------------------
 1 file changed, 16 insertions(+), 19 deletions(-)

Index: linux-2.6.21-rc7-sd/kernel/sched.c
===================================================================
--- linux-2.6.21-rc7-sd.orig/kernel/sched.c	2007-04-22 21:37:25.000000000 +1000
+++ linux-2.6.21-rc7-sd/kernel/sched.c	2007-04-22 22:01:48.000000000 +1000
@@ -102,8 +102,6 @@ unsigned long long __attribute__((weak))
  */
 int rr_interval __read_mostly = 8;
 
-#define DEF_TIMESLICE		(rr_interval * 20)
-
 /*
  * This contains a bitmap for each dynamic priority level with empty slots
  * for the valid priorities each different nice level can have. It allows
@@ -886,16 +884,10 @@ static int task_timeslice(struct task_st
 }
 
 /*
- * Assume: static_prio_timeslice(NICE_TO_PRIO(0)) == DEF_TIMESLICE
- * If static_prio_timeslice() is ever changed to break this assumption then
- * this code will need modification. Scaled as multiples of milliseconds.
- */
-#define TIME_SLICE_NICE_ZERO DEF_TIMESLICE
-#define LOAD_WEIGHT(lp) \
-	(((lp) * SCHED_LOAD_SCALE) / TIME_SLICE_NICE_ZERO)
-#define TASK_LOAD_WEIGHT(p)	LOAD_WEIGHT(task_timeslice(p))
-#define RTPRIO_TO_LOAD_WEIGHT(rp)	\
-	(LOAD_WEIGHT((rr_interval + 20 + (rp))))
+ * The load weight is basically the task_timeslice in ms. Realtime tasks are
+ * special cased to be proportionately larger by their rt_priority.
+ */
+#define RTPRIO_TO_LOAD_WEIGHT(rp)	((rr_interval + 20 + (rp)))
 
 static void set_load_weight(struct task_struct *p)
 {
@@ -912,7 +904,7 @@ static void set_load_weight(struct task_
 #endif
 			p->load_weight = RTPRIO_TO_LOAD_WEIGHT(p->rt_priority);
 	} else
-		p->load_weight = TASK_LOAD_WEIGHT(p);
+		p->load_weight = task_timeslice(p);
 }
 
 static inline void
@@ -995,7 +987,7 @@ static int effective_prio(struct task_st
  * nice -20 = 10 * rr_interval. nice 1-19 = rr_interval / 2.
  * Value returned is in microseconds.
  */
-static unsigned int rr_quota(struct task_struct *p)
+static inline unsigned int rr_quota(struct task_struct *p)
 {
 	int nice = TASK_NICE(p), rr = rr_interval;
 
@@ -1009,6 +1001,13 @@ static unsigned int rr_quota(struct task
 	return MS_TO_US(rr);
 }
 
+/* Every time we set the quota we need to set the load weight */
+static void set_quota(struct task_struct *p)
+{
+	p->quota = rr_quota(p);
+	set_load_weight(p);
+}
+
 /*
  * activate_task - move a task to the runqueue and do priority recalculation
  */
@@ -1036,7 +1035,7 @@ static void activate_task(struct task_st
 				     (now - p->timestamp) >> 20);
 	}
 
-	p->quota = rr_quota(p);
+	set_quota(p);
 	p->prio = effective_prio(p);
 	p->timestamp = now;
 	__activate_task(p, rq);
@@ -3885,8 +3884,7 @@ void set_user_nice(struct task_struct *p
 	p->static_prio = NICE_TO_PRIO(nice);
 	old_prio = p->prio;
 	p->prio = effective_prio(p);
-	p->quota = rr_quota(p);
-	set_load_weight(p);
+	set_quota(p);
 	delta = p->prio - old_prio;
 
 	if (queued) {
@@ -4020,8 +4018,7 @@ static void __setscheduler(struct task_s
 	p->normal_prio = normal_prio(p);
 	/* we are holding p->pi_lock already */
 	p->prio = rt_mutex_getprio(p);
-	p->quota = rr_quota(p);
-	set_load_weight(p);
+	set_quota(p);
 }
 
 /**

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22 12:18               ` [ck] " Con Kolivas
@ 2007-04-22 13:07                 ` Willy Tarreau
  2007-04-22 13:27                   ` Con Kolivas
  2007-04-22 14:22                 ` Willy Tarreau
  2007-04-22 14:27                 ` Michael Gerdau
  2 siblings, 1 reply; 19+ messages in thread
From: Willy Tarreau @ 2007-04-22 13:07 UTC (permalink / raw)
  To: Con Kolivas
  Cc: ck, Michael Gerdau, Nick Piggin, Gene Heskett, Al Boldi,
	Bill Huey, Mike Galbraith, linux kernel mailing list,
	William Lee Irwin III, Peter Williams, Matt Mackall

On Sun, Apr 22, 2007 at 10:18:32PM +1000, Con Kolivas wrote:
> On Sunday 22 April 2007 21:42, Con Kolivas wrote:
> 
> Willy I'm still investigating the idle time and fluctuating load as a separate 
> issue.

OK.

> Is it possible the multiple ocbench processes are naturally 
> synchronising and desynchronising and choosing to sleep and/or run at the 
> same time?

I don't think so. They're independant processes, and I insist on reducing
their X work in order to ensure they don't get perturbated by external
factor. Their work consist in looping 250 ms and waiting 750 ms, then
displaying a new progress line.

> I can remove the idle time entirely by running ocbench at nice 19 
> which means they are all forced to run at basically the same time by the 
> scheduler.

It may indicate some special handling of nice ?

> Anyway the more important part is... Can you test this patch please? Dump
> all the other patches I sent you post 045. Michael, if you could test too
> please?

OK, I will restart from fresh 0.45 and try again.

Regards,
Willy


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22 13:07                 ` Willy Tarreau
@ 2007-04-22 13:27                   ` Con Kolivas
  0 siblings, 0 replies; 19+ messages in thread
From: Con Kolivas @ 2007-04-22 13:27 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: ck, Michael Gerdau, Nick Piggin, Gene Heskett, Al Boldi,
	Bill Huey, Mike Galbraith, linux kernel mailing list,
	William Lee Irwin III, Peter Williams, Matt Mackall

On Sunday 22 April 2007 23:07, Willy Tarreau wrote:
> On Sun, Apr 22, 2007 at 10:18:32PM +1000, Con Kolivas wrote:
> > On Sunday 22 April 2007 21:42, Con Kolivas wrote:
> >
> > Willy I'm still investigating the idle time and fluctuating load as a
> > separate issue.
>
> OK.
>
> > Is it possible the multiple ocbench processes are naturally
> > synchronising and desynchronising and choosing to sleep and/or run at the
> > same time?
>
> I don't think so. They're independant processes, and I insist on reducing
> their X work in order to ensure they don't get perturbated by external
> factor. Their work consist in looping 250 ms and waiting 750 ms, then
> displaying a new progress line.

Well if they always wait 750ms and they always do 250ms of work, they will 
never actually get their 250ms in a continuous stream, and may be waiting on 
a runqueue while working. What I mean then is that scheduling could cause 
that synchronising and desynchronising unwittingly by fluctuating the 
absolute time over which they get their 250ms. The sleep always takes 750ms, 
but the actual physical time over which they get their 250ms fluctuates by 
scheduling aliasing. If instead the code said "500ms has passed while I only 
did 250ms work so I should sleep for 250ms less" this aliasing would go away. 
Of course this is impossible since a fully loaded machine would mean each 
process should never sleep. I'm not arguing this is correct behaviour for the 
scheduler to cause this, mind you, nor am I saying it's wrong behaviour. I'm 
just trying to understand better how it happens and what (if anything) should 
be done about it. Overall their progress and cpu distribution appears 
identical, as you said. The difference is that the CFS design intrinsically 
manages this exact scenario by design with its sleep/run timing mechanism.

> > I can remove the idle time entirely by running ocbench at nice 19
> > which means they are all forced to run at basically the same time by the
> > scheduler.
>
> It may indicate some special handling of nice ?

By running them nice 19 the scheduler has effectively just sequentially 
schedules them, and there is no aliasing.

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22 12:18               ` [ck] " Con Kolivas
  2007-04-22 13:07                 ` Willy Tarreau
@ 2007-04-22 14:22                 ` Willy Tarreau
  2007-04-22 14:35                   ` Con Kolivas
  2007-04-22 14:27                 ` Michael Gerdau
  2 siblings, 1 reply; 19+ messages in thread
From: Willy Tarreau @ 2007-04-22 14:22 UTC (permalink / raw)
  To: Con Kolivas
  Cc: ck, Michael Gerdau, Nick Piggin, Gene Heskett, Al Boldi,
	Bill Huey, Mike Galbraith, linux kernel mailing list,
	William Lee Irwin III, Peter Williams, Matt Mackall

On Sun, Apr 22, 2007 at 10:18:32PM +1000, Con Kolivas wrote:
> On Sunday 22 April 2007 21:42, Con Kolivas wrote:
> 
> Willy I'm still investigating the idle time and fluctuating load as a separate 
> issue. Is it possible the multiple ocbench processes are naturally 
> synchronising and desynchronising and choosing to sleep and/or run at the 
> same time? I can remove the idle time entirely by running ocbench at nice 19 
> which means they are all forced to run at basically the same time by the 
> scheduler.
> 
> Anyway the more important part is... Can you test this patch please? Dump
> all the other patches I sent you post 045. Michael, if you could test too
> please?

OK, it's better now. All tasks equally run. X is still somewhat jerky, even
at nice -19. I'm sure it happens when it's waiting in the other array. We
should definitely manage to get rid of this if we want to ensure low latency.

Just FYI, the idle is often close to zero and the load is often close to 30,
even if still fluctuating :

   procs                      memory      swap          io     system      cpu
 r  b  w   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id
22  0  0      0 922876   6472  57848    0    0     0     0  164  3275 34 58  8
14  0  0      0 922648   6472  57864    0    0     0     0    8   383 37 63  0
24  0  0      0 922580   6472  57864    0    0     0   128   32   219 34 66  0
13  0  1      0 922524   6472  57864    0    0     0     0    0   393 35 64  0
31  0  0      0 922524   6472  57864    0    0     0     0    3   338 37 63  0
56  0  0      0 922556   6472  57864    0    0     0     0    0   290 35 65  0
57  0  1      0 922556   6472  57864    0    0     0     0    1   288 33 55 11
45  0  0      0 922556   6472  57864    0    0     0     0    1   255 27 52 21
38  0  0      0 922564   6472  57864    0    0     0     0    0   161 24 49 27
 0  0  0      0 922564   6472  57864    0    0     0     0    1   142 23 40 38
 0  0  0      0 922564   6472  57864    0    0     0     0    2   182 29 55 16
22  0  0      0 922564   6472  57864    0    0     0     0    1   253 28 48 24
26  0  0      0 922564   6472  57864    0    0     0     0    1   212 31 60  9
27  0  0      0 922564   6472  57864    0    0     0     0    1   314 31 70  0
44  0  0      0 922564   6472  57864    0    0     0     0    2   282 32 62  6
54  0  1      0 922564   6472  57864    0    0     0     0   26   213 32 67  1
42  0  0      0 922564   6472  57864    0    0     0     0  142   278 34 61  4
35  0  0      0 922564   6472  57864    0    0     0     0   58   226 39 61  0
 6  0  0      0 922564   6472  57864    0    0     0     0   79   228 35 65  0
 5  0  0      0 922564   6472  57864    0    0     0     0   98   225 36 61  3
35  0  1      0 922564   6472  57864    0    0     0     0   71   205 22 41 36

Hoping this helps !
Willy


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22 12:18               ` [ck] " Con Kolivas
  2007-04-22 13:07                 ` Willy Tarreau
  2007-04-22 14:22                 ` Willy Tarreau
@ 2007-04-22 14:27                 ` Michael Gerdau
  2007-04-22 14:37                   ` Con Kolivas
  2 siblings, 1 reply; 19+ messages in thread
From: Michael Gerdau @ 2007-04-22 14:27 UTC (permalink / raw)
  To: Con Kolivas
  Cc: ck, Willy Tarreau, Nick Piggin, Gene Heskett, Al Boldi, Bill Huey,
	Mike Galbraith, linux kernel mailing list, William Lee Irwin III,
	Peter Williams, Matt Mackall

[-- Attachment #1: Type: text/plain, Size: 1085 bytes --]

> Anyway the more important part is... Can you test this patch please? Dump
> all the other patches I sent you post 045. Michael, if you could test too
> please?

Have it up running for 40 minutes now and my perljobs show a constant
cpu utilization of 100/50/50 in top most of the time. When the 100% job
goes down to e.g. 70% these 30% are immediately reclaimed by the other
two, i.e. the total sum of all three stays with 2% point of 200%.

From here it seems as if your latest patch did what is was supposed to :-)

Best,
Michael

PS: While these numbercrunching jobs were running I started another
kde session and have my children play supertux for 20 minutes. While
the system occasionally was not as responsive as it is when there
is little load, supertux remained very playable.
-- 
 Technosis GmbH, Geschäftsführer: Michael Gerdau, Tobias Dittmar
 Sitz Hamburg; HRB 89145 Amtsgericht Hamburg
 Vote against SPAM - see http://www.politik-digital.de/spam/
 Michael Gerdau       email: mgd@technosis.de
 GPG-keys available on request or at public keyserver

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22 14:22                 ` Willy Tarreau
@ 2007-04-22 14:35                   ` Con Kolivas
  2007-04-23  7:02                     ` Con Kolivas
  0 siblings, 1 reply; 19+ messages in thread
From: Con Kolivas @ 2007-04-22 14:35 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: ck, Michael Gerdau, Nick Piggin, Gene Heskett, Al Boldi,
	Bill Huey, Mike Galbraith, linux kernel mailing list,
	William Lee Irwin III, Peter Williams, Matt Mackall

On Monday 23 April 2007 00:22, Willy Tarreau wrote:
> On Sun, Apr 22, 2007 at 10:18:32PM +1000, Con Kolivas wrote:
> > On Sunday 22 April 2007 21:42, Con Kolivas wrote:
> >
> > Willy I'm still investigating the idle time and fluctuating load as a
> > separate issue. Is it possible the multiple ocbench processes are
> > naturally synchronising and desynchronising and choosing to sleep and/or
> > run at the same time? I can remove the idle time entirely by running
> > ocbench at nice 19 which means they are all forced to run at basically
> > the same time by the scheduler.
> >
> > Anyway the more important part is... Can you test this patch please? Dump
> > all the other patches I sent you post 045. Michael, if you could test too
> > please?
>
> OK, it's better now. All tasks equally run.

Excellent thank you very much (again!)

> X is still somewhat jerky, even 
> at nice -19. I'm sure it happens when it's waiting in the other array. We
> should definitely manage to get rid of this if we want to ensure low
> latency.

Yeah that would be correct. It's clearly possible to keep the whole design 
philosophy and priority system intact with SD and do away with the arrays if 
it becomes a continuous stream instead of two arrays but that requires some 
architectural changes. I've been concentrating on nailing all the remaining 
issues (and they kept cropping up as you've seen *blush*). However... I 
haven't quite figured out how to do that architectural change just yet either 
so let's just iron out all the bugs out of this now.

> Just FYI, the idle is often close to zero and the load is often close to
> 30, even if still fluctuating :

> Hoping this helps !

I can say without a shadow of a doubt it has helped :) I'll respin the patch 
slightly differently and post it and release as v0.46.

> Willy

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22 14:27                 ` Michael Gerdau
@ 2007-04-22 14:37                   ` Con Kolivas
  0 siblings, 0 replies; 19+ messages in thread
From: Con Kolivas @ 2007-04-22 14:37 UTC (permalink / raw)
  To: Michael Gerdau
  Cc: ck, Willy Tarreau, Nick Piggin, Gene Heskett, Al Boldi, Bill Huey,
	Mike Galbraith, linux kernel mailing list, William Lee Irwin III,
	Peter Williams, Matt Mackall

On Monday 23 April 2007 00:27, Michael Gerdau wrote:
> > Anyway the more important part is... Can you test this patch please? Dump
> > all the other patches I sent you post 045. Michael, if you could test too
> > please?
>
> Have it up running for 40 minutes now and my perljobs show a constant
> cpu utilization of 100/50/50 in top most of the time. When the 100% job
> goes down to e.g. 70% these 30% are immediately reclaimed by the other
> two, i.e. the total sum of all three stays with 2% point of 200%.
>
> From here it seems as if your latest patch did what is was supposed to :-)

Excellent, thanks for testing. v0.46 with something close to this patch coming 
shortly.

> Best,
> Michael
>
> PS: While these numbercrunching jobs were running I started another
> kde session and have my children play supertux for 20 minutes. While
> the system occasionally was not as responsive as it is when there
> is little load, supertux remained very playable.

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [ck] Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45
  2007-04-22 14:35                   ` Con Kolivas
@ 2007-04-23  7:02                     ` Con Kolivas
  0 siblings, 0 replies; 19+ messages in thread
From: Con Kolivas @ 2007-04-23  7:02 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: ck, Michael Gerdau, Nick Piggin, Gene Heskett, Al Boldi,
	Bill Huey, Mike Galbraith, linux kernel mailing list,
	William Lee Irwin III, Peter Williams, Matt Mackall

On Monday 23 April 2007 00:35, Con Kolivas wrote:
> On Monday 23 April 2007 00:22, Willy Tarreau wrote:
> > X is still somewhat jerky, even
> > at nice -19. I'm sure it happens when it's waiting in the other array. We
> > should definitely manage to get rid of this if we want to ensure low
> > latency.
>
> Yeah that would be correct. It's clearly possible to keep the whole design
> philosophy and priority system intact with SD and do away with the arrays
> if it becomes a continuous stream instead of two arrays but that requires
> some architectural changes. I've been concentrating on nailing all the
> remaining issues (and they kept cropping up as you've seen *blush*).
> However... I haven't quite figured out how to do that architectural change
> just yet either so let's just iron out all the bugs out of this now.

By the way, Ingo et al, this is yet again an open invitation to suggest ideas, 
or better yet, provide code to do this with now that the core of SD is 
finally looking to be doing everything as expected within its constraints. 
I'm low on cycles and would appreciate the help. I'd prefer to leave 
everything that's queued in -mm as is for the moment before someone wants to 
take this into another wild direction.

Thanks!

-- 
-ck

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2007-04-23  7:03 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-22  4:41 [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45 Con Kolivas
2007-04-22  7:00 ` Willy Tarreau
2007-04-22  7:27   ` Con Kolivas
2007-04-22  7:31     ` Con Kolivas
2007-04-22  8:06       ` Willy Tarreau
2007-04-22  8:53         ` Con Kolivas
2007-04-22  9:14           ` Willy Tarreau
2007-04-22  9:53             ` Con Kolivas
2007-04-22 11:42             ` Con Kolivas
2007-04-22 12:18               ` [ck] " Con Kolivas
2007-04-22 13:07                 ` Willy Tarreau
2007-04-22 13:27                   ` Con Kolivas
2007-04-22 14:22                 ` Willy Tarreau
2007-04-22 14:35                   ` Con Kolivas
2007-04-23  7:02                     ` Con Kolivas
2007-04-22 14:27                 ` Michael Gerdau
2007-04-22 14:37                   ` Con Kolivas
2007-04-22  8:02 ` [ck] " Michael Gerdau
2007-04-22 11:09   ` Con Kolivas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox