kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: coder.liss@gmail.com (Jimmy Li)
To: kernelnewbies@lists.kernelnewbies.org
Subject: confuse about generic_file_read_iter
Date: Mon, 5 May 2014 11:39:56 +0800	[thread overview]
Message-ID: <20140505033956.GA14558@gmail.com> (raw)

Hello everyone,

I'm trying to figure out how asyncchronous I/O implemented, but I'm
confusing about the generic_file_read_iter in mm/filemap.c.
major file systems use this function as read_iter for it's
file_operations structure(eg, ext3).

And it's called by syscall io_submit(fs/aio.c:1359):
   sys_io_submit -> do_io_submit -> io_submit_one -> aio_run_iocb

The point I'm confusing is generic_file_read_iter seems do noting about
asyncchronous I/O at all, as I see what generic_file_read_iter does:
   if opened with O_DIRECT
     flush pages;
	 call direct_IO;
   else
     call do_generic_file_read();
Actually, I think it's syncchronous.

It's that means file systems using generic_file_read_iter does not
support aio(such as ext3)?

I also tried `git log fs/aio.c`. I found retry-based AIO is removed at
commit 41003a7bcfed1255032e1e7c7b487e505b22e298(Tue May 7 16:18:25 2013)
Could anyone tell me how does linux AIO implement now?

I'm working on linux-next(20140502)
thanks.

                 reply	other threads:[~2014-05-05  3:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20140505033956.GA14558@gmail.com \
    --to=coder.liss@gmail.com \
    --cc=kernelnewbies@lists.kernelnewbies.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 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).