public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Con Kolivas <kernel@kolivas.org>
To: Matt Mackall <mpm@selenic.com>
Cc: linux-kernel <linux-kernel@vger.kernel.org>, akpm@linux-foundation.org
Subject: Re: 2.6.21-rc3-mm1 RSDL results
Date: Sat, 10 Mar 2007 08:19:18 +1100	[thread overview]
Message-ID: <200703100819.18354.kernel@kolivas.org> (raw)
In-Reply-To: <200703100807.43582.kernel@kolivas.org>

On Saturday 10 March 2007 08:07, Con Kolivas wrote:
> On Saturday 10 March 2007 07:46, Matt Mackall wrote:
> > My suspicion is the problem lies in giving too much quanta to
> > newly-started processes.
>
> Ah that's some nice detective work there. Mainline does some rather complex
> accounting on sched_fork including (possibly) a whole timer tick which rsdl
> does not do. make forks off continuously so what you say may well be
> correct. I'll see if I can try to revert to the mainline behaviour in
> sched_fork (which was obviously there for a reason).

Wow! Thanks Matt. You've found a real bug too. This seems to fix the qemu
 misbehaviour and bitmap errors so far too! Now can you please try this to see
 if it fixes your problem?

---
 kernel/sched.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

Index: linux-2.6.21-rc3-mm1/kernel/sched.c
===================================================================
--- linux-2.6.21-rc3-mm1.orig/kernel/sched.c	2007-03-10 08:08:11.000000000 +1100
+++ linux-2.6.21-rc3-mm1/kernel/sched.c	2007-03-10 08:13:57.000000000 +1100
@@ -1560,7 +1560,7 @@ int fastcall wake_up_state(struct task_s
 	return try_to_wake_up(p, state, 0);
 }
 
-static void task_expired_entitlement(struct rq *rq, struct task_struct *p);
+static void task_running_tick(struct rq *rq, struct task_struct *p);
 /*
  * Perform scheduler related setup for a newly forked process p.
  * p is forked by current.
@@ -1621,10 +1621,8 @@ void fastcall sched_fork(struct task_str
 		 * left from its timeslice. Taking the runqueue lock is not
 		 * a problem.
 		 */
-		struct rq *rq = __task_rq_lock(current);
-
-		task_expired_entitlement(rq, current);
-		__task_rq_unlock(rq);
+		current->time_slice = 1;
+		task_running_tick(cpu_rq(cpu), current);
 	}
 	local_irq_enable();
 out:

-- 
-ck

  reply	other threads:[~2007-03-09 21:19 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-09  5:39 2.6.21-rc3-mm1 RSDL results Matt Mackall
2007-03-09  6:28 ` Con Kolivas
2007-03-09  7:53   ` Matt Mackall
2007-03-09  8:20     ` Matt Mackall
2007-03-09  8:39       ` Con Kolivas
2007-03-09 18:27         ` Matt Mackall
2007-03-09 20:15           ` Con Kolivas
2007-03-09 20:26             ` Con Kolivas
2007-03-09 20:51               ` Matt Mackall
2007-03-09 20:55             ` Matt Mackall
2007-03-09 20:46         ` Matt Mackall
2007-03-09 21:07           ` Con Kolivas
2007-03-09 21:19             ` Con Kolivas [this message]
2007-03-09 21:39               ` Matt Mackall
2007-03-09 21:57                 ` Con Kolivas
2007-03-09 22:18                   ` Con Kolivas
2007-03-09 22:29                     ` Matt Mackall
2007-03-09 23:02                       ` Con Kolivas
2007-03-09 23:06                         ` Matt Mackall
2007-03-10  0:31                           ` Con Kolivas
2007-03-10  0:34                       ` Con Kolivas
2007-03-10  0:49                         ` Matt Mackall
2007-03-10  1:28                           ` Con Kolivas
2007-03-10  1:42                             ` Matt Mackall
2007-03-10  2:10                               ` Kyle Moffett
2007-03-10  2:20                               ` Con Kolivas
2007-03-10  2:26                                 ` Matt Mackall
2007-03-10  2:53                                   ` Con Kolivas
2007-03-09 21:57                 ` Willy Tarreau
2007-03-09 22:12                   ` Con Kolivas
2007-03-09 22:20                     ` Matt Mackall
2007-03-09 22:31                     ` Willy Tarreau
2007-03-10  1:02                     ` Con Kolivas
2007-03-10  1:10                       ` Matt Mackall
2007-03-10 17:01             ` James Cloos
2007-03-10 23:16               ` Con Kolivas
2007-03-11 12:38                 ` James Cloos
2007-03-11 12:52                   ` Con Kolivas
2007-03-09 21:10           ` Matt Mackall
2007-03-09  8:36     ` Con Kolivas
2007-03-09  9:07       ` Serge Belyshev
2007-03-09  9:49         ` William Lee Irwin III
2007-03-09 10:36           ` Serge Belyshev
2007-03-09 18:07             ` Mark Lord
2007-03-09 18:24               ` Jeffrey Hundstad
2007-03-09 20:23               ` Con Kolivas
2007-03-10 18:21                 ` Mark Lord
2007-03-10 23:34                   ` Con Kolivas
2007-03-10 23:38                     ` Con Kolivas
2007-03-13 18:21                     ` Mark Lord
2007-03-13 20:26                       ` Con Kolivas
2007-03-13 22:06                         ` Mark Lord

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=200703100819.18354.kernel@kolivas.org \
    --to=kernel@kolivas.org \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpm@selenic.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox