Page Cache Address Space Concept

Rajat Sharma fs.rajat at gmail.com
Mon Feb 14 08:27:21 EST 2011


One vital use of address_space object is by filesystem to manage
page-cache of a file:
- cache recently accessed data in page-cache
- Read-ahead (prefectiching) of data sequentially read data in page-cache
- support memory mapped I/O through page-cache.

Look at address_space_operations vector how it achieve it through
readpage, readpages, writepage and writepages methods to populate and
flush page-cache of an inode.

Thanks,
Rajat

On Mon, Feb 14, 2011 at 4:29 PM, piyush moghe <pmkernel at gmail.com> wrote:
> While going through Page Cache explanation in "Professional Linux Kernel"
> book I came across one term called "address space" ( not related to virtual
> or physical address space )
> I did not get what is the meaning of this address space, following is
> verbatim description:
> "To manage the various target objects that can be processed and cached in
> whole pages, the kernel uses an abstraction of
> the "address space" that associates the pages in memory with a specific
> block device (or any other system unit or part of a
> system unit).
> This type of address space must not be confused with the virtual and
> physical address spaces provided by the
> system or processor. It is a separate abstraction of the Linux kernel that
> unfortunately bears the same name.
> Initially, we are interested in only one aspect. Each address space has a
> "host" from which it obtains its data. In most
> cases, these are inodes that represent just one file.[2] Because all
> existing inodes are linked with their superblock (as
> discussed in Chapter 8), all the kernel need do is scan a list of all
> superblocks and follow their associated inodes to obtain
> a list of cached pages"
>
> Can anyone please explain what is the use of this and what this is all
> about?
> Regards,
> Piyush
>
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>



More information about the Kernelnewbies mailing list