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/