linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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>


  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).