All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: Mike Galbraith <mikeg@wen-online.de>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@conectiva.com.br>,
	Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
Subject: Re: [BUG] /proc/<pid>/stat access stalls badly for swapping process, 2.4.0-test10
Date: Fri, 3 Nov 2000 11:38:18 -0800	[thread overview]
Message-ID: <20001103113818.T521@suse.de> (raw)
In-Reply-To: <Pine.Linu.4.10.10011030419430.818-100000@mikeg.weiden.de> <Pine.Linu.4.10.10011031638180.1496-200000@mikeg.weiden.de>
In-Reply-To: <Pine.Linu.4.10.10011031638180.1496-200000@mikeg.weiden.de>; from mikeg@wen-online.de on Fri, Nov 03, 2000 at 04:45:51PM +0100

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

On Fri, Nov 03 2000, Mike Galbraith wrote:
> > I very much agree.  Kflushd is still hungry for free write
> > bandwidth here.
> 
> In the LKML tradition of code talks and silly opinions walk...
> 
> Attached is a diagnostic patch which gets kflushd under control,
> and takes make -j30 bzImage build times down from 12 minutes to
> 9 here.  I have no more massive context switching on write, and
> copies seem to go a lot quicker to boot.  (that may be because
> some of my failures were really _really_ horrible)
> 
> Comments are very welcome.  I haven't had problems with this yet,
> but it's early so...  This patch isn't supposed to be pretty either
> (hw techs don't do pretty;) it's only supposed to say 'Huston...'
> so be sure to grab a barfbag before you take a look. 

Super, looks pretty good from here. I'll give it a go when I get back.
In addition, here's a small patch that disables the read stealing
of requests from the write list -- does that improve behaviour
when we are busy flushing?

-- 
* Jens Axboe <axboe@suse.de>
* SuSE Labs

[-- Attachment #2: read_steal.diff --]
[-- Type: text/plain, Size: 998 bytes --]

--- drivers/block/ll_rw_blk.c~	Fri Nov  3 03:22:25 2000
+++ drivers/block/ll_rw_blk.c	Fri Nov  3 03:23:24 2000
@@ -455,35 +455,17 @@
 	struct list_head *list = &q->request_freelist[rw];
 	struct request *rq;
 
-	/*
-	 * Reads get preferential treatment and are allowed to steal
-	 * from the write free list if necessary.
-	 */
 	if (!list_empty(list)) {
 		rq = blkdev_free_rq(list);
-		goto got_rq;
-	}
-
-	/*
-	 * if the WRITE list is non-empty, we know that rw is READ
-	 * and that the READ list is empty. allow reads to 'steal'
-	 * from the WRITE list.
-	 */
-	if (!list_empty(&q->request_freelist[WRITE])) {
-		list = &q->request_freelist[WRITE];
-		rq = blkdev_free_rq(list);
-		goto got_rq;
+		list_del(&rq->table);
+		rq->free_list = list;
+		rq->rq_status = RQ_ACTIVE;
+		rq->special = NULL;
+		rq->q = q;
+		return rq;
 	}
 
 	return NULL;
-
-got_rq:
-	list_del(&rq->table);
-	rq->free_list = list;
-	rq->rq_status = RQ_ACTIVE;
-	rq->special = NULL;
-	rq->q = q;
-	return rq;
 }
 
 /*

  reply	other threads:[~2000-11-03 18:27 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-01 18:38 [BUG] /proc/<pid>/stat access stalls badly for swapping process, 2.4.0-test10 David Mansfield
2000-11-01 18:48 ` Rik van Riel
2000-11-02  7:19   ` Mike Galbraith
2000-11-02 21:59     ` Val Henson
2000-11-03  1:37       ` Jens Axboe
2000-11-03  5:56         ` Mike Galbraith
2000-11-03 15:45           ` Mike Galbraith
2000-11-03 19:38             ` Jens Axboe [this message]
2000-11-04  5:43               ` Mike Galbraith
2000-11-02  8:40   ` Christoph Rohland
     [not found] <Pine.Linu.4.10.10011091452270.747-100000@mikeg.weiden.de>
2000-11-09 18:31 ` Linus Torvalds
2000-11-10  7:34   ` Mike Galbraith
2000-11-10 10:47     ` Mike Galbraith
2000-11-10 17:07     ` Linus Torvalds
2000-11-10 21:42   ` [BUG] /proc/<pid>/stat access stalls badly for swapping process,2.4.0-test10 David Mansfield
2000-11-11  6:20     ` Linus Torvalds

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=20001103113818.T521@suse.de \
    --to=axboe@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikeg@wen-online.de \
    --cc=riel@conectiva.com.br \
    --cc=tigran@aivazian.fsnet.co.uk \
    /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.