All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Rik van Riel <riel@conectiva.com.br>,
	Mike Galbraith <mikeg@wen-online.de>,
	Jeff Garzik <jgarzik@mandrakesoft.com>,
	Daniel Phillips <phillips@bonn-fries.net>,
	Alexander Viro <viro@math.psu.edu>, Alan Cox <alan@redhat.com>,
	linux-kernel@vger.kernel.org
Subject: Re: VM in 2.4.7-pre hurts...
Date: Tue, 10 Jul 2001 07:11:25 +0200	[thread overview]
Message-ID: <20010710071125.L1594@athlon.random> (raw)
In-Reply-To: <20010710045617.J1594@athlon.random> <Pine.LNX.4.33.0107092053130.10187-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.33.0107092053130.10187-100000@penguin.transmeta.com>; from torvalds@transmeta.com on Mon, Jul 09, 2001 at 09:03:33PM -0700

On Mon, Jul 09, 2001 at 09:03:33PM -0700, Linus Torvalds wrote:
> No. Playing with the bh count for those two makes the rules be the same
> for everybody, because the sync_io handler needs it, and then we might as
> well just make it a general rule: IO in-flight shows up as an elevated
> count. It also makes sense from a "reference count" standpoint - the

At least for the kiobuf case the notion of IO in flight is hold in the
iobuf->io_count, about the reference count there isn't a reference count
at all on those bh, they're just an array of ram in the iobuf.

Infact the b_count is also never read, exactly because the notion of
reference-count/in-flight-I/O doesn't belong there.

One valid argument is to do the same thing before all sumbit_bh which
doesn't seem to have a big value to me at the moment, maybe I'm wrong
in the long term but certainly at this moment that sounds more like
wasted cpu than cleaner code.

so I guess I'd prefer something like this:

--- 2.4.7pre5/fs/buffer.c.~1~	Tue Jul 10 03:55:21 2001
+++ 2.4.7pre5/fs/buffer.c	Tue Jul 10 06:52:38 2001
@@ -2006,7 +2006,6 @@
 
 	kiobuf = bh->b_private;
 	__unlock_buffer(bh);
-	put_bh(bh);
 	end_kio_request(kiobuf, uptodate);
 }
 
@@ -2131,7 +2130,6 @@
 				offset += size;
 
 				atomic_inc(&iobuf->io_count);
-				get_bh(tmp);
 				submit_bh(rw, tmp);
 				/* 
 				 * Wait for IO if we have got too much 


(personally I guess I'd still prefer to do the same for the async-IO
handler, but for it at least the b_count is checked eventually by
somebody [try_to_free_pages] so it somehow make more sense even if in
practice it isn't not needed there either)

Andrea

  parent reply	other threads:[~2001-07-10  5:11 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.33.0107081640570.308-100000@mikeg.weiden.de>
2001-07-08 15:43 ` VM in 2.4.7-pre hurts Rik van Riel
2001-07-08 17:15   ` Mike Galbraith
2001-07-08 17:58   ` Linus Torvalds
2001-07-08 18:23     ` Rik van Riel
2001-07-08 19:30       ` Linus Torvalds
2001-07-09  2:59         ` Linus Torvalds
2001-07-10  2:56           ` Andrea Arcangeli
2001-07-10  4:03             ` Linus Torvalds
2001-07-10  4:20               ` Linus Torvalds
2001-07-10  5:43                 ` Andrea Arcangeli
2001-07-10 14:56                   ` Andrea Arcangeli
2001-07-10 18:46                     ` Linus Torvalds
2001-07-10  5:11               ` Andrea Arcangeli [this message]
2001-07-09  7:56       ` Mike Galbraith
2001-07-09  8:25         ` Christoph Rohland
2001-07-09  9:18           ` Mike Galbraith
2001-07-09  9:29             ` Christoph Rohland
2001-07-09  9:38               ` Mike Galbraith
2001-07-09 11:17                 ` Mike Galbraith
2001-07-09 11:30                   ` Christoph Rohland
2001-07-09 12:26                     ` Mike Galbraith
2001-07-09 11:25                 ` Christoph Rohland
2001-07-09 12:20                   ` Mike Galbraith
2001-07-09 16:20                 ` Linus Torvalds
2001-07-09 19:44                   ` Christoph Rohland
2001-07-09 20:46                     ` Linus Torvalds
2001-07-11 19:39                       ` Christoph Rohland
2001-07-11  1:05                 ` Marcelo Tosatti
2001-07-11  4:03                   ` Mike Galbraith
2001-07-12  5:00       ` David Lang
     [not found] <Pine.LNX.4.33L.0107071542420.17825-100000@duckman.distro.conectiva>
2001-07-07 18:54 ` Linus Torvalds
2001-07-07 20:11   ` Rik van Riel
2001-07-08 17:11     ` Linus Torvalds
2001-07-08 18:29       ` Rik van Riel
2001-07-07 13:41 Jeff Garzik
2001-07-07 14:05 ` Jeff Garzik
2001-07-07 17:28 ` Linus Torvalds
2001-07-07 17:37   ` Jeff Garzik
2001-07-07 17:53     ` Linus Torvalds
2001-07-07 18:08       ` Jeff Garzik
2001-07-07 18:11         ` Rik van Riel
2001-07-07 21:33       ` Alan Cox
2001-07-07 18:00     ` Rik van Riel
2001-07-07 21:25   ` Alan Cox
2001-07-07 21:29     ` Rik van Riel
2001-07-07 21:34       ` Jeff Garzik
2001-07-07 21:43       ` Alan Cox
2001-07-07 21:45         ` Rik van Riel

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=20010710071125.L1594@athlon.random \
    --to=andrea@suse.de \
    --cc=alan@redhat.com \
    --cc=jgarzik@mandrakesoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikeg@wen-online.de \
    --cc=phillips@bonn-fries.net \
    --cc=riel@conectiva.com.br \
    --cc=torvalds@transmeta.com \
    --cc=viro@math.psu.edu \
    /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.