From: Andrea Arcangeli <andrea@suse.de>
To: Andrew Morton <akpm@zip.com.au>
Cc: "Chris Mason" <mason@suse.com>,
"Dieter Nützel" <Dieter.Nuetzel@hamburg.de>,
"Beau Kuiper" <kuib-kl@ljbc.wa.edu.au>,
"Andrew Morton" <andrewm@uow.edu.au>,
"Robert Love" <rml@tech9.net>,
"Linux Kernel List" <linux-kernel@vger.kernel.org>,
"ReiserFS List" <reiserfs-list@namesys.com>
Subject: Re: [PATCH] Significant performace improvements on reiserfs systems
Date: Thu, 20 Sep 2001 21:13:45 +0200 [thread overview]
Message-ID: <20010920211345.X729@athlon.random> (raw)
In-Reply-To: <20010920170812.CCCACE641B@ns1.suse.com> <773660000.1001006393@tiny>, <773660000.1001006393@tiny>; <20010920204712.T729@athlon.random> <3BAA3C6D.AC20D953@zip.com.au>
In-Reply-To: <3BAA3C6D.AC20D953@zip.com.au>; from akpm@zip.com.au on Thu, Sep 20, 2001 at 11:58:53AM -0700
On Thu, Sep 20, 2001 at 11:58:53AM -0700, Andrew Morton wrote:
> Andrea Arcangeli wrote:
> >
> > ...
> > --- 2.4.10pre12aa2/fs/buffer.c.~1~ Thu Sep 20 20:14:19 2001
> > +++ 2.4.10pre12aa2/fs/buffer.c Thu Sep 20 20:45:58 2001
> > @@ -2506,7 +2506,7 @@
> > spin_unlock(&free_list[isize].lock);
> >
> > page->buffers = bh;
> > - page->flags &= ~(1 << PG_referenced);
> > + page->flags |= 1 << PG_referenced;
>
> I don't see how this can change anything - getblk() calls
> touch_buffer() shortly afterwards, which does the same
> thing?
I'm worried the page is freed before it has a chance to be found in the
freelist in smp. The refill_freelist logic is broken too and right fix
would be much more invasive than the above one liner, we should return
one bh with b_count just set to 1 to be sure it's not collected away
under us and we have to try again. But this one probably will do the
trick too for now. and maybe it really doesn't matter as you say.
And also the get_hash_table need to touch the buffer since reiserfs
makes heavy use if it.
just a few ideas.
--- 2.4.10pre12aa2/fs/buffer.c.~1~ Thu Sep 20 20:14:19 2001
+++ 2.4.10pre12aa2/fs/buffer.c Thu Sep 20 21:06:16 2001
@@ -598,8 +598,10 @@
bh->b_size == size &&
bh->b_dev == dev)
break;
- if (bh)
+ if (bh) {
get_bh(bh);
+ touch_buffer(bh);
+ }
return bh;
}
@@ -1181,10 +1183,10 @@
/* Insert the buffer into the regular lists */
__insert_into_queues(bh);
+ touch_buffer(bh);
out:
write_unlock(&hash_table_lock);
spin_unlock(&lru_list_lock);
- touch_buffer(bh);
return bh;
}
Andrea
next prev parent reply other threads:[~2001-09-20 19:14 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20010920170812.CCCACE641B@ns1.suse.com>
2001-09-20 17:19 ` [PATCH] Significant performace improvements on reiserfs systems Chris Mason
2001-09-20 17:39 ` Andrew Morton
2001-09-20 20:52 ` Robert Love
2001-09-20 21:11 ` Dieter Nützel
[not found] ` <200109202112.f8KLCXG16849@zero.tech9.net>
2001-09-20 22:24 ` Robert Love
2001-09-20 22:37 ` Andrea Arcangeli
2001-09-20 22:56 ` Robert Love
2001-09-20 23:15 ` Andrea Arcangeli
2001-09-20 23:41 ` Robert Love
2001-09-21 0:37 ` george anzinger
2001-09-21 1:20 ` Andrew Morton
2001-09-21 3:14 ` Robert Love
2001-09-21 9:32 ` [reiserfs-list] " Nikita Danilov
2001-09-21 12:18 ` Alan Cox
2001-09-21 12:31 ` Nikita Danilov
2001-09-23 23:49 ` Rusty Russell
2001-09-20 18:47 ` Andrea Arcangeli
2001-09-20 18:58 ` Andrew Morton
2001-09-20 19:13 ` Andrea Arcangeli [this message]
[not found] <200109201708.f8KH8sG15617@zero.tech9.net>
2001-09-20 20:48 ` Robert Love
2001-09-20 17:08 Dieter Nützel
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=20010920211345.X729@athlon.random \
--to=andrea@suse.de \
--cc=Dieter.Nuetzel@hamburg.de \
--cc=akpm@zip.com.au \
--cc=andrewm@uow.edu.au \
--cc=kuib-kl@ljbc.wa.edu.au \
--cc=linux-kernel@vger.kernel.org \
--cc=mason@suse.com \
--cc=reiserfs-list@namesys.com \
--cc=rml@tech9.net \
/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