linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Con Kolivas <kernel@kolivas.org>
To: smiler@lanil.mine.nu
Cc: linux-kernel@vger.kernel.org, phillips@arcor.de
Subject: Re: [RFC][PATCH] SCHED_ISO for interactivity
Date: Sat, 12 Jul 2003 10:13:14 +1000	[thread overview]
Message-ID: <200307121013.14347.kernel@kolivas.org> (raw)
In-Reply-To: <1057966657.4326.6.camel@sm-wks1.lan.irkk.nu>

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

On Sat, 12 Jul 2003 09:37, Christian Axelsson wrote:
> On Fri, 2003-07-11 at 16:30, Con Kolivas wrote:
> > On Fri, 11 Jul 2003 22:48, Christian Axelsson wrote:
> > > Ok complies and boot fine
> > >
> > > BUT... after loading X up and gnome-theme-manager I start clicking
> > > around abit.. then gnome-theme-manager starts eating 99.9% CPU (prolly
> > > a bug in the program). Problem here is that the machine stops
> > > responding to input, at first I can move mouse around (but Im stuck in
> > > the current focused X-client) and later it all stalls... Cant even get
> > > in via SSH. Ive put on a top before repeating this showing
> > > gnome-theme-manager eating all CPU-time (PRI 15/NICE 0) and load
> > > showing ~55% user ~45% system.
> > >
> > > Anything I can do to help debugging?
> >
> > Can you try this patch instead which should stop the machine from getting
> > into a deadlock? I dont think I have found the problem but at least it
> > should be easier to diagnose without the machine locking up.
>
> Deadlock is gone but problem is still there.
> Running processes (state R) keep running smooth until they try to access
> any resource (ie. xmms keeps playing the current file but gets stuck
> when trying to open next one, top keeps running with full
> interactivity). Spawning new processes is impossible.
> I had top running over SSH and when I exited I managed to type 1 char
> then it hung up. A note is that sometimes the load is ~45% user ~55%
> system instead of ~55% user and ~45% system. There are always those
> values.
> I tried to reproduce by creating a while(1){} loop but it runs smooth.
>
> Any suggestions on methods to debug this?

Difficult apart from what you're already describing. The interesting point is 
the waiting for something that makes it hang, which reminds me of the 
parent-child waiting problem and is likely to be similar. The thing about iso 
tasks is they are by definition always active so they always get reinserted 
into the active array. However if they are waiting for something and are 
constantly preempting that something it will never happen. Can you try the 
attached diff which always puts them on the expired array if they run out of 
timeslice to see if that helps? This is not the ideal fix, but I need to see 
if it is the problem.

Con

[-- Attachment #2: patch-SIfix --]
[-- Type: text/x-diff, Size: 582 bytes --]

diff -Naurp linux-2.5.75-mm1/kernel/sched.c linux-2.5.75-test/kernel/sched.c
--- linux-2.5.75-mm1/kernel/sched.c	2003-07-12 10:04:21.000000000 +1000
+++ linux-2.5.75-test/kernel/sched.c	2003-07-12 10:05:34.000000000 +1000
@@ -1333,7 +1333,7 @@ void scheduler_tick(int user_ticks, int 
 		p->time_slice = task_timeslice(p);
 		p->first_time_slice = 0;
 
-		if (!TASK_INTERACTIVE(p) || EXPIRED_STARVING(rq)) {
+		if (!TASK_INTERACTIVE(p) || EXPIRED_STARVING(rq) || iso_task(p)) {
 			if (!rq->expired_timestamp)
 				rq->expired_timestamp = jiffies;
 			enqueue_task(p, rq->expired);

  reply	other threads:[~2003-07-11 23:56 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-11 10:53 [RFC][PATCH] SCHED_ISO for interactivity Con Kolivas
     [not found] ` <1068.::ffff:217.208.49.177.1057927722.squirrel@lanil.mine.nu>
2003-07-11 14:30   ` Con Kolivas
2003-07-11 23:37     ` Christian Axelsson
2003-07-12  0:13       ` Con Kolivas [this message]
2003-07-12 15:39         ` Con Kolivas
2003-07-12 16:27           ` Michael Buesch
2003-07-12 16:28           ` Christian Axelsson
2003-07-13  2:26             ` Con Kolivas
2003-07-13  3:40               ` Christian Axelsson
2003-07-13 20:07               ` Daniel Phillips
2003-07-12 15:49 ` William Lee Irwin III
2003-07-12 15:53   ` Con Kolivas
2003-07-13 20:03   ` Daniel Phillips
2003-07-14  0:13     ` Con Kolivas
2003-07-14  2:40       ` Daniel Phillips
2003-07-13 10:41 Guillaume Chazarain
2003-07-13 11:54 ` Christian Axelsson
2003-07-13 14:06   ` Con Kolivas
     [not found] <JEPOQNA0LFV95MFCPMSKONGFSNX.3f113751@monpc>
2003-07-13 12:53 ` Con Kolivas
2003-07-13 14:54 Guillaume Chazarain
2003-07-14  0:07 ` Con Kolivas
2003-07-14  4:05 ` Con Kolivas
2003-07-14 15:40 Guillaume Chazarain
2003-07-14 21:45 ` Con Kolivas

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=200307121013.14347.kernel@kolivas.org \
    --to=kernel@kolivas.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phillips@arcor.de \
    --cc=smiler@lanil.mine.nu \
    /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;
as well as URLs for NNTP newsgroup(s).