From: Michael Mesnier <mmesnier@ece.cmu.edu>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: delay in block_read_full_page()
Date: Sun, 07 Nov 2004 16:49:18 -0500 [thread overview]
Message-ID: <418E985E.5080108@ece.cmu.edu> (raw)
In-Reply-To: <20041107024545.243ee610.akpm@osdl.org>
Andrew,
Thanks for the help. I found my problem.
I forgot to add "sync_page: block_sync_page" into my address space
operations. As a result, the device queue was plugged into until
something else (e.g., kupdate) released the I/O via
"run_task_queue(&tq_disk)."
Regards,
Mike
Andrew Morton wrote:
>Michael Mesnier <mmesnier@ece.cmu.edu> wrote:
>
>
>>Hello,
>>
>>Please cc: me directly in your response.
>>
>>I'm running into some trouble with an installable file system I'm
>>writing. In myfs_readpage() I simply return block_read_full_page() which
>>subsequently calls myfs_get_block(). However, there's a delay before
>>the I/O actually gets issued to the device. Running sync from the
>>command line causes the I/O to get issued immediately, so the sync call
>>(even it there aren't dirty buffers) also manages to schedule any
>>outstanding read I/Os. How should my fs indicate to the vfs that these
>>read I/Os need to be issued immediately after my_readpage() is called?
>>
>>
>
>Normally we leave the I/O pending in the expectation that more readpage()
>requests will occur. This allow us to merge things in the disk request
>queues. We'll actually submit the I/O to the device if:
>
>a) There's a lot of it pending or
>
>b) There haven't been any more readpage() calls for a while or
>
>c) Someone actually wants to wait on the I/O (say, via lock_page())
>
>It is unusual that you want this I/O to kick off immediately. You will
>probably find that blk_run_backing_dev() will do what you want.
>
>
>That's all for a 2.6 kernel - you didn't specify. It it's a 2.4 kernel
>then you'll need to use run_task_queue(&tq_disk) to flush the queued I/O
>requests.
>
>
prev parent reply other threads:[~2004-11-07 21:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-06 7:15 delay in block_read_full_page() Michael Mesnier
2004-11-07 10:45 ` Andrew Morton
2004-11-07 21:49 ` Michael Mesnier [this message]
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=418E985E.5080108@ece.cmu.edu \
--to=mmesnier@ece.cmu.edu \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/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.