From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Bryan Henderson <hbryan@us.ibm.com>
Cc: Zach Brown <zab@zabbo.net>,
Linux Filesystem Development <linux-fsdevel@vger.kernel.org>,
Nikita Danilov <nikita@clusterfs.com>
Subject: Re: Address space operations questions
Date: Thu, 31 Mar 2005 16:53:59 -0500 [thread overview]
Message-ID: <1112306039.12906.44.camel@lade.trondhjem.org> (raw)
In-Reply-To: <OFF9D15C5D.2CBB061D-ON88256FD5.00745FF1-88256FD5.0076E84E@us.ibm.com>
to den 31.03.2005 Klokka 13:40 (-0800) skreiv Bryan Henderson:
> >what it
> >*really* means to be called in sync_page() is that you're being told
> >that some process is about to block on that page. For what reason, you
> >can't know from the call alone.
>
> Ugh. IOW it barely means anything.
It reflects the fact that the page lock can be held for a variety of
reasons, some of which require you to kick the filesystem and some which
don't.
I introduced the sync_page() call in 2.4.x partly in order to get rid of
all those pathetic hard-coded calls to "run_task_queue(&tq_disk)" that
used to litter the 2.4.x mm code (and still do in some places). As far
as NFS is concerned, they are a useless distraction since only the block
code uses the tq_disk queue.
The other reason was that the NFS client itself had to defer actually
putting reads on the wire until someone requested the lock: the reason
was that there was no equivalent of the "readpages()" call, so that when
we wanted to coalesce more than 1 page worth of data into a single read
call, we had to exit readpage() without actually starting I/O in the
hope that the readahead code would then schedule a readpage() on a
neighbouring page.
Cheers,
Trond
--
Trond Myklebust <trond.myklebust@fys.uio.no>
next prev parent reply other threads:[~2005-03-31 21:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <8e70aacf05032616151c958eed@mail.gmail.com>
2005-03-29 22:30 ` Address space operations questions Martin Jambor
2005-03-30 13:55 ` Nikita Danilov
2005-03-31 19:59 ` Bryan Henderson
2005-03-31 20:43 ` Zach Brown
2005-03-31 21:40 ` Bryan Henderson
2005-03-31 21:53 ` Trond Myklebust [this message]
2005-04-01 0:06 ` Bryan Henderson
2005-04-06 23:52 ` Martin Jambor
2005-04-07 8:23 ` Nikita Danilov
2005-04-17 20:21 ` Lilo requirements (Was: Re: Address space operations questions) Martin Jambor
2005-04-17 21:33 ` Nikita Danilov
2005-04-18 17:33 ` Bryan Henderson
2005-04-07 16:58 ` Address space operations - >bmap Bryan Henderson
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=1112306039.12906.44.camel@lade.trondhjem.org \
--to=trond.myklebust@fys.uio.no \
--cc=hbryan@us.ibm.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=nikita@clusterfs.com \
--cc=zab@zabbo.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;
as well as URLs for NNTP newsgroup(s).