Unification of the I/O Buffering and Caching System

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

 



Hi there,

I read a paper by Rik van Riel on Page replacement in Linux 2.4 memory management. 
I understand that the memory in kernel 2.2 is unified. Correct me if I am wrong, in kernel 
2.2, when there are dirty page cache pages, the page will be written, and the dirty data 
will be copied to the buffer cache which will be written to the disk. (*) In kernel 2.4, this 
additional copying of the dirty data to buffer cache was addressed. Right?

(*) What does "Note that the cache was already unified for reads in Linux 2.2, Linux 2.4 just 
completes the unification.". (*) Does the cache unified for reads refers to the above description?
(*) Does this means that instead of checking for dirty page cache pages, this dirty page is added
to both the page cache and buffer cache at the same time? And instead of doing I/O write to 
the disk from the buffer cache, the OS can directly do the page cache to the disk. The performance
improves, (*) but does anyone has any statistics for it, or any comparisions with non-unified
memory kernel?

Also, for unified readahead. (*) Is this already implemented for read(), write(), mmap(), and
anonymous memory? (*) Can someone explain how the unified readahead works?

I am trying to find more information about the Unified I/O and Memory model in Linux, 
particularly in both 2.2 and 2.4. But I can't find much detailed information. I really appreciate
if someone can direct me to some resources or links. Also, (*) are there any comparisons made
between pre-2.2 with 2.2, and 2.2 with 2.4, and perhaps 2.4 with 2.5? If not, I would like
to do so. (*) Please direct me. I really would want to read more about it.

I found this old paper: IO-Lite: A Unified I/O Buffering and Caching System at
http://www.usenix.org/publications/library/proceedings/osdi99/full_papers/pai/pai_html/pai.html

(*) Is this relevant? I understand that this Unification of I/O and the memory is implemented in 
FreeBSD. (*) Any there any papers, tutorials, webpages, lecture slides, materials on the
implementation in Linux? (*) And what was still work in progress, or remaining issues?

Many thanks!

Eugene

PS: To make it clearer, I used (*) to identify my questions. 


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux