From: Andrea Arcangeli <andrea@suse.de>
To: Rajagopal Ananthanarayanan <ananth@sgi.com>
Cc: linux-kernel@vger.kernel.org, axboe@suse.de, torvalds@transmeta.com
Subject: Re: BH_Req question
Date: Tue, 10 Apr 2001 23:42:58 +0200 [thread overview]
Message-ID: <20010410234258.B6030@athlon.random> (raw)
In-Reply-To: <3AD36912.1F9E0654@sgi.com>
In-Reply-To: <3AD36912.1F9E0654@sgi.com>; from ananth@sgi.com on Tue, Apr 10, 2001 at 01:12:02PM -0700
On Tue, Apr 10, 2001 at 01:12:02PM -0700, Rajagopal Ananthanarayanan wrote:
>
> Hi,
>
> It seems BH_Req is set on a buffer_head by submit_bh.
> What part of the code unsets this flag during normal
> operations? One path seems to be block_flushpage->unmap_buffer
> ->clear_bit(BH_Req), but IIRC block_flushpage is used only
> for truncates. There must be another path to unset BH_Req
> under normal memory pressure, or (more unambiguously) on IO completion.
>
> So: in what ways can BH_Req be unset?
BH_Req is never unset until the buffer is destroyed (put back on the freelist).
BH_Req only says if such a buffer ever did any I/O yet or not. It is basically
only used to deal with I/O errors in sync_buffers().
> PS: In case why the question: I've got a system with tons of
> pages with buffers marked BH_Req, so try_to_free_buffers() bails
> out thinking that the buffer is busy ...
Either your debugging is wrong or you broke try_to_free_buffers because a
buffer with BH_Req must still be perfectly freeable.
Andrea
next prev parent reply other threads:[~2001-04-10 21:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-04-10 20:12 BH_Req question Rajagopal Ananthanarayanan
2001-04-10 21:42 ` Andrea Arcangeli [this message]
2001-04-10 22:03 ` Rajagopal Ananthanarayanan
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=20010410234258.B6030@athlon.random \
--to=andrea@suse.de \
--cc=ananth@sgi.com \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/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.