Hi Miguel... Tough questions, let's see if I can made it :D On Tue, Jan 25, 2011 at 19:56, Miguel Telleria de Esteban <miguel@xxxxxxxxxxxxx> wrote: > MY INTERPRETATION (please correct me if I am wrong) > > Q1 What is a "buffer page"? > > A "buffer page" is a "struct page" data describing a page allocated to > hold one or more i/o blocks from disk. I agree...in other word, they are pages that hold data when the I/O are still in flight. But since it's part of page cache, they aren't thrown away after the I/O is done...for few moment they are held in RAM, in case they're subsequently read...thus, I/O frequency toward physical discs are reduced I think, we know call it page cache.... > Q2 Is the whole page cache content organized as buffer pages? > > YES, there is no other way to link memory-mapped disk i/o data to the > struct page pointed by address_space radix-tree entries. Not so sure, but it's something like that IMHO. > --- > > Q3 block device buffer_pages vs file buffer_pages > > This I really don't understand. From what UTLK page 614 says: > > * File buffer_pages ONLY refer to non-contiguous (on disk layout) file > contents. > > * blockdev buffer_pages refer to single-block or continuous (on disk > layout) portions of block. > > My question is: what happens with non-fragmented medium size files > that do not contain "disk holes" or non-adjancent block submissions? Here's my understanding: 1. when you're dealing with file in raw, e.g using "dd" on /dev/sda1 or "dd" with direct I/O command, you use block buffer cache 2. when you deal with files using read()/write facility of filesystem (thus via VFS), you use file page cache... to experiment with it, simply start "top" and examine which field increases when you do "dd", cat, etc.... I hope I help you instead confusing you :D -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies