All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <piggin@cyberone.com.au>
To: Dave Olien <dmo@osdl.org>
Cc: rwhron@earthlink.net, venom@sns.it, linux-kernel@vger.kernel.org,
	akpm@osdl.org, Mary Edie Meredith <maryedie@osdl.org>
Subject: Re: [BENCHMARK] I/O regression after 2.6.0-test5
Date: Thu, 23 Oct 2003 13:48:57 +1000	[thread overview]
Message-ID: <3F974FA9.4090802@cyberone.com.au> (raw)
In-Reply-To: <3F973BC9.4080005@cyberone.com.au>

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



Nick Piggin wrote:

>
>
> Dave Olien wrote:
>
>> Sorry, this patch didn't fix our performance problems.  Mary just
>> finished running dbt2 on test8 with your patch:
>>
>> NOTPM   kernel          scheduler
>> 965     2.6.0-test8-np  AS
>> 1632    2.6.-test6-mm4  deadline
>>
>
> Thanks. hmm.
> And NOTPM was better with AS in test5? Does using as-iosched.c from test5
> in a test8 kernel help?
>

If that helps, can you try this patch.


[-- Attachment #2: as-fix.patch --]
[-- Type: text/plain, Size: 2416 bytes --]

 linux-2.6-npiggin/drivers/block/as-iosched.c |   23 +++--------------------
 1 files changed, 3 insertions(+), 20 deletions(-)

diff -puN drivers/block/as-iosched.c~as-fix drivers/block/as-iosched.c
--- linux-2.6/drivers/block/as-iosched.c~as-fix	2003-10-23 13:46:11.000000000 +1000
+++ linux-2.6-npiggin/drivers/block/as-iosched.c	2003-10-23 13:47:58.000000000 +1000
@@ -99,7 +99,6 @@ struct as_data {
 	sector_t last_sector[2];	/* last REQ_SYNC & REQ_ASYNC sectors */
 	struct list_head *dispatch;	/* driver dispatch queue */
 	struct list_head *hash;		/* request hash */
-	unsigned long new_success; /* anticipation success on new proc */
 	unsigned long current_batch_expires;
 	unsigned long last_check_fifo[2];
 	int changed_batch;		/* 1: waiting for old batch to end */
@@ -585,18 +584,11 @@ static void as_antic_stop(struct as_data
 	int status = ad->antic_status;
 
 	if (status == ANTIC_WAIT_REQ || status == ANTIC_WAIT_NEXT) {
-		struct as_io_context *aic;
-
 		if (status == ANTIC_WAIT_NEXT)
 			del_timer(&ad->antic_timer);
 		ad->antic_status = ANTIC_FINISHED;
 		/* see as_work_handler */
 		kblockd_schedule_work(&ad->antic_work);
-
-		aic = ad->io_context->aic;
-		if (aic->seek_samples == 0)
-			/* new process */
-			ad->new_success = (ad->new_success * 3) / 4 + 256;
 	}
 }
 
@@ -612,14 +604,8 @@ static void as_antic_timeout(unsigned lo
 	spin_lock_irqsave(q->queue_lock, flags);
 	if (ad->antic_status == ANTIC_WAIT_REQ
 			|| ad->antic_status == ANTIC_WAIT_NEXT) {
-		struct as_io_context *aic;
 		ad->antic_status = ANTIC_FINISHED;
 		kblockd_schedule_work(&ad->antic_work);
-
-		aic = ad->io_context->aic;
-		if (aic->seek_samples == 0)
-			/* new process */
-			ad->new_success = (ad->new_success * 3) / 4;
 	}
 	spin_unlock_irqrestore(q->queue_lock, flags);
 }
@@ -708,11 +694,10 @@ static int as_can_break_anticipation(str
 		return 1;
 	}
 
-	if (ad->new_success < 256 &&
-			(aic->seek_samples == 0 || aic->ttime_samples == 0)) {
+	if (aic->seek_samples == 0 || aic->ttime_samples == 0) {
 		/*
-		 * Process has just started IO and we have a bad history of
-		 * success anticipating on new processes!
+		 * Process has just started IO. Don't anticipate.
+		 * TODO! Must fix this up.
 		 */
 		return 1;
 	}
@@ -1822,8 +1807,6 @@ static int as_init(request_queue_t *q, e
 	if (ad->write_batch_count < 2)
 		ad->write_batch_count = 2;
 
-	ad->new_success = 512;
-
 	return 0;
 }
 

_

  reply	other threads:[~2003-10-23  3:51 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-21 13:05 [BENCHMARK] I/O regression after 2.6.0-test5 rwhron
2003-10-21 15:57 ` Nick Piggin
2003-10-21 21:07 ` venom
2003-10-22  9:54 ` Nick Piggin
2003-10-22 18:30   ` Dave Olien
2003-10-22 19:08     ` Dave Olien
2003-10-23  2:24     ` Nick Piggin
2003-10-23  3:48       ` Nick Piggin [this message]
2003-10-23 20:35       ` Dave Olien
2003-10-23 23:07         ` Nick Piggin
  -- strict thread matches above, loose matches on Subject: below --
2003-10-29  0:38 rwhron
2003-10-27 23:33 John Hawkes
2003-10-26 10:38 rwhron
2003-10-27 23:49 ` Dave Olien
2003-10-24 23:43 rwhron
2003-10-24 12:46 rwhron
2003-10-24  0:10 rwhron
2003-10-20  0:37 rwhron
2003-10-20  1:35 ` Nick Piggin
2003-10-20  4:52   ` Andrew Morton
2003-10-20  8:12     ` Nick Piggin
2003-10-20  4:51 ` Dave Olien
2003-10-20  7:55   ` venom
2003-10-21  4:49     ` Nick Piggin
2003-10-24 13:52 ` Magnus Andersson

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=3F974FA9.4090802@cyberone.com.au \
    --to=piggin@cyberone.com.au \
    --cc=akpm@osdl.org \
    --cc=dmo@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maryedie@osdl.org \
    --cc=rwhron@earthlink.net \
    --cc=venom@sns.it \
    /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.