Re: Where does a process wait after requesting some data file ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Matthew,

Thanks for your precious answers.

On Thu, Jan 15, 2009 at 3:00 PM, Matthew Wilcox <matthew@xxxxxx> wrote:
> Sure.  Take a look in mm/filemap.c.  Filesystems that use the page cache
> will usually end up calling do_generic_file_read() one way or another.
> It tries to find the page in the page cache, when it doesn't find the
> page, it creates it, then calls ->readpage() to start the read, and
> lock_page_killable() to wait for the page to be read.

I see now thanks !

> As the comment says, when the read finishes, it will unlock the page
> and the reader will continue.

I expect that the comment you're talking about is this one in
do_generic_file_read():

page_not_up_to_date:
                /* Get exclusive access to the page ... */
                error = lock_page_killable(page);
                if (unlikely(error))
                        goto readpage_error;

If so, IMHO it's pretty useless as is... it could have been:

/* we're probably going to wait for the data to be ready */

or something.
-- 
Francis
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux