From: Con Kolivas <kernel@kolivas.org>
To: Jens Axboe <axboe@suse.de>, Andrew Morton <akpm@digeo.com>
Cc: Matthias Mueller <matthias.mueller@rz.uni-karlsruhe.de>,
m.c.p@wolk-project.de, manish@storadinc.com, andrea@suse.de,
marcelo@conectiva.com.br, linux-kernel@vger.kernel.org
Subject: Re: 2.4.20: Proccess stuck in __lock_page ...
Date: Wed, 28 May 2003 20:48:57 +1000 [thread overview]
Message-ID: <200305282048.58032.kernel@kolivas.org> (raw)
In-Reply-To: <20030528102529.GQ845@suse.de>
On Wed, 28 May 2003 20:25, Jens Axboe wrote:
> On Wed, May 28 2003, Andrew Morton wrote:
> > Matthias Mueller <matthias.mueller@rz.uni-karlsruhe.de> wrote:
> > > Works fine on my notebook. Good throughput and no mouse hangs anymore.
> >
> > Interesting.
> >
> > Could you please work out which change caused it? Go back to stock 2.4
> > and then apply this:
> >
> >
> > diff -puN drivers/block/ll_rw_blk.c~1 drivers/block/ll_rw_blk.c
> > --- 24/drivers/block/ll_rw_blk.c~1 2003-05-28 03:20:42.000000000 -0700
> > +++ 24-akpm/drivers/block/ll_rw_blk.c 2003-05-28 03:20:57.000000000 -0700
> > @@ -590,10 +590,10 @@ static struct request *__get_request_wai
> > register struct request *rq;
> > DECLARE_WAITQUEUE(wait, current);
> >
> > - generic_unplug_device(q);
> > add_wait_queue_exclusive(&q->wait_for_requests[rw], &wait);
> > do {
> > set_current_state(TASK_UNINTERRUPTIBLE);
> > + generic_unplug_device(q);
> > if (q->rq[rw].count == 0)
> > schedule();
> > spin_lock_irq(&io_request_lock);
>
> I think it was already established that this wasn't the reason. Was my
> first suspect too, though...
>
> > then this:
> >
> > diff -puN drivers/block/ll_rw_blk.c~2 drivers/block/ll_rw_blk.c
> > --- 24/drivers/block/ll_rw_blk.c~2 2003-05-28 03:21:03.000000000 -0700
> > +++ 24-akpm/drivers/block/ll_rw_blk.c 2003-05-28 03:21:09.000000000 -0700
> > @@ -590,7 +590,7 @@ static struct request *__get_request_wai
> > register struct request *rq;
> > DECLARE_WAITQUEUE(wait, current);
> >
> > - add_wait_queue_exclusive(&q->wait_for_requests[rw], &wait);
> > + add_wait_queue(&q->wait_for_requests[rw], &wait);
> > do {
> > set_current_state(TASK_UNINTERRUPTIBLE);
> > generic_unplug_device(q);
>
> Since we do a general wake_up(), only the order of wakeups matter here
> right (lifo vs fifo). Given that, the _exclusive() should be more fair
> possibly at the cost of a bit of throughput.
>
> > Then this (totally unlikely, don't bother):
> >
> > diff -puN drivers/block/ll_rw_blk.c~3 drivers/block/ll_rw_blk.c
> > --- 24/drivers/block/ll_rw_blk.c~3 2003-05-28 03:21:15.000000000 -0700
> > +++ 24-akpm/drivers/block/ll_rw_blk.c 2003-05-28 03:21:39.000000000 -0700
> > @@ -829,8 +829,7 @@ void blkdev_release_request(struct reque
> > */
> > if (q) {
> > list_add(&req->queue, &q->rq[rw].free);
> > - if (++q->rq[rw].count >= q->batch_requests &&
> > - waitqueue_active(&q->wait_for_requests[rw]))
> > + if (++q->rq[rw].count >= q->batch_requests)
> > wake_up(&q->wait_for_requests[rw]);
> > }
> > }
>
> Well it's the only one left :). But you are right, try one of them at
> the time, establishing the effect of each of them.
THIS IS IT! The last one. No pauses writing a 2Gb file now unless I do a read
midstream.
Con
next prev parent reply other threads:[~2003-05-28 10:34 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-27 3:41 2.4.20: Proccess stuck in __lock_page manish
2003-05-27 4:03 ` Marcelo Tosatti
2003-05-27 4:25 ` manish
2003-05-27 4:59 ` Marcelo Tosatti
2003-05-27 15:29 ` manish
2003-05-27 16:59 ` Marcelo Tosatti
2003-05-27 4:31 ` manish
2003-05-27 14:14 ` Carl-Daniel Hailfinger
2003-05-27 14:28 ` William Lee Irwin III
2003-05-27 17:27 ` Marcelo Tosatti
2003-05-27 17:36 ` Marc-Christian Petersen
2003-05-27 17:47 ` Marcelo Tosatti
2003-05-27 17:52 ` Marc-Christian Petersen
2003-05-27 17:57 ` Marcelo Tosatti
2003-05-27 18:08 ` Marc-Christian Petersen
2003-05-27 18:25 ` Andrea Arcangeli
2003-05-27 18:33 ` Marcelo Tosatti
2003-05-27 18:39 ` Marc-Christian Petersen
2003-05-27 19:00 ` manish
2003-05-27 19:01 ` Marcelo Tosatti
2003-05-27 19:09 ` manish
2003-05-27 19:12 ` manish
2003-05-27 19:28 ` Marcelo Tosatti
2003-05-27 19:34 ` manish
2003-05-27 20:20 ` Andrea Arcangeli
2003-05-27 20:25 ` Marc-Christian Petersen
2003-05-27 20:42 ` manish
2003-05-27 20:47 ` Andrea Arcangeli
2003-05-27 20:50 ` manish
2003-05-27 21:05 ` Andrea Arcangeli
2003-05-27 20:03 ` Andrea Arcangeli
2003-05-27 20:08 ` Marcelo Tosatti
2003-05-27 20:25 ` Andrea Arcangeli
2003-05-27 22:18 ` Andrew Morton
2003-05-27 22:38 ` Andrea Arcangeli
2003-05-27 22:40 ` Andrew Morton
2003-05-27 22:58 ` Andrea Arcangeli
2003-05-27 20:08 ` Chris Mason
2003-05-27 18:35 ` Marc-Christian Petersen
2003-05-27 20:10 ` Andrea Arcangeli
2003-05-27 20:24 ` Marc-Christian Petersen
2003-05-27 20:45 ` Andrea Arcangeli
2003-05-27 20:53 ` Marc-Christian Petersen
2003-05-27 21:00 ` Jens Axboe
2003-05-27 21:11 ` Marc-Christian Petersen
2003-05-27 21:19 ` Jens Axboe
2003-05-27 20:55 ` Jens Axboe
2003-05-27 21:05 ` William Lee Irwin III
2003-05-27 21:18 ` Jens Axboe
2003-05-27 21:33 ` Andrea Arcangeli
2003-05-27 18:09 ` manish
2003-05-27 17:53 ` manish
2003-05-27 18:01 ` Marc-Christian Petersen
2003-05-27 18:16 ` Marcelo Tosatti
2003-05-27 18:25 ` Marc-Christian Petersen
2003-05-27 18:12 ` Matthias Mueller
2003-05-27 17:36 ` William Lee Irwin III
2003-05-27 17:38 ` Carl-Daniel Hailfinger
2003-05-27 17:50 ` manish
2003-05-27 18:04 ` Marc-Christian Petersen
2003-05-27 23:06 ` Georg Nikodym
2003-05-27 23:26 ` Christopher S. Aker
2003-05-28 5:33 ` Con Kolivas
2003-05-28 6:04 ` Jens Axboe
2003-05-28 7:13 ` Con Kolivas
2003-05-28 7:13 ` Jens Axboe
2003-05-28 7:32 ` Marc-Christian Petersen
2003-05-28 7:35 ` Jens Axboe
2003-05-28 7:51 ` Andrew Morton
2003-05-28 8:30 ` Jens Axboe
2003-05-28 8:43 ` Marc-Christian Petersen
2003-05-28 8:40 ` Marc-Christian Petersen
2003-05-28 10:13 ` Matthias Mueller
2003-05-28 10:18 ` Jens Axboe
2003-05-28 10:23 ` Andrew Morton
2003-05-28 10:25 ` Jens Axboe
2003-05-28 10:48 ` Con Kolivas [this message]
2003-05-28 10:50 ` Jens Axboe
2003-05-28 10:59 ` Andrew Morton
2003-05-28 11:17 ` Marc-Christian Petersen
2003-05-28 11:27 ` Andrew Morton
2003-05-28 11:31 ` Marc-Christian Petersen
2003-05-28 12:53 ` Jens Axboe
2003-05-28 12:58 ` Matthias Mueller
2003-05-28 13:07 ` Carl-Daniel Hailfinger
2003-05-28 13:08 ` Jens Axboe
2003-05-28 13:16 ` Matthias Mueller
2003-05-28 13:21 ` Con Kolivas
2003-05-28 13:30 ` Carl-Daniel Hailfinger
2003-05-28 13:33 ` Con Kolivas
2003-05-28 13:27 ` Stefan Foerster
2003-05-28 13:37 ` Stefan Foerster
2003-05-28 14:28 ` Chris Mason
2003-05-28 14:33 ` Jens Axboe
2003-05-28 14:58 ` Chris Mason
2003-05-28 15:39 ` Jens Axboe
2003-05-28 23:38 ` Chris Mason
2003-05-28 13:25 ` Stefan Foerster
2003-05-28 18:19 ` Zwane Mwaikambo
2003-05-28 18:32 ` Zwane Mwaikambo
2003-05-28 18:47 ` Elladan
2003-05-28 23:03 ` Con Kolivas
2003-05-29 13:09 ` Andrea Arcangeli
2003-05-29 15:04 ` Con Kolivas
2003-05-29 16:23 ` Marc-Christian Petersen
2003-05-28 11:41 ` Con Kolivas
2003-05-29 12:52 ` Andrea Arcangeli
2003-05-28 11:03 ` Nick Piggin
2003-05-28 10:29 ` Con Kolivas
2003-05-28 10:29 ` Marc-Christian Petersen
2003-05-28 12:10 ` Matthias Mueller
2003-05-28 12:14 ` Matthias Mueller
2003-05-28 12:21 ` Carl-Daniel Hailfinger
2003-05-28 12:23 ` Matthias Mueller
2003-05-28 12:28 ` Carl-Daniel Hailfinger
2003-05-28 12:38 ` Matthias Mueller
2003-05-29 13:19 ` Andrea Arcangeli
2003-05-29 14:10 ` Matthias Mueller
2003-05-29 16:22 ` Andrea Arcangeli
2003-05-28 14:00 ` Con Kolivas
2003-05-29 13:24 ` Andrea Arcangeli
2003-05-29 13:55 ` Willy Tarreau
2003-05-29 14:09 ` Con Kolivas
2003-05-29 14:38 ` Matthias Mueller
2003-05-29 16:10 ` Willy TARREAU
2003-05-29 14:45 ` Marc-Christian Petersen
2003-05-29 16:06 ` Willy TARREAU
2003-05-29 16:49 ` Andrea Arcangeli
2003-05-29 17:46 ` Willy Tarreau
2003-05-29 16:19 ` Andrea Arcangeli
2003-05-29 1:32 ` manish
2003-05-28 10:24 ` Marc-Christian Petersen
2003-05-28 7:16 ` Marc Wilson
2003-05-28 19:53 ` David Ford
2003-05-28 9:36 ` Ragnar Hojland Espinosa
2003-05-28 9:45 ` Jens Axboe
2003-05-28 9:53 ` Marc-Christian Petersen
2003-05-28 10:01 ` Jens Axboe
2003-05-28 10:58 ` Alan Cox
2003-05-29 8:34 ` Ragnar Hojland Espinosa
[not found] <20030527035006$5339@gated-at.bofh.it>
[not found] ` <20030527175008$3573@gated-at.bofh.it>
[not found] ` <20030527180016$418c@gated-at.bofh.it>
[not found] ` <20030527182011$4acb@gated-at.bofh.it>
[not found] ` <20030528094008$1500@gated-at.bofh.it>
[not found] ` <20030528095014$7b21@gated-at.bofh.it>
2003-05-28 18:55 ` Thomas Tonino
2003-06-02 10:43 ` Jens Axboe
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=200305282048.58032.kernel@kolivas.org \
--to=kernel@kolivas.org \
--cc=akpm@digeo.com \
--cc=andrea@suse.de \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=m.c.p@wolk-project.de \
--cc=manish@storadinc.com \
--cc=marcelo@conectiva.com.br \
--cc=matthias.mueller@rz.uni-karlsruhe.de \
/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