Re: a conceptual confusion -- bio--page --block -- buffer

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

 



1) Usually a buffer page contains one or more blocks. Ex: 4k buffer page contain 4 1k Blocks. They are connected through buffer_head which contains logical block number on disk and private field of a page points to the first buffer head

2) I don't think blocks are conceptually vanished here. Suppose a buffer page contains 4 nonadjacent blocks of a disk, then there will be 4 different bio's for each block. If all the blocks are adjacent then only one bio will be issued.

3) A single bio request might contain multiple blocks which are adjacent on disk.

5) I think a page cannot contain blocks from different file since a page cache is implemented as a set of radix trees, one for each file (address_space object to be specific)

-Govindraj

On Thu, 05 Nov 2009 15:46:30 +0530 wrote
>Hi all i have read about page cache and about bio biovec page relation toobut in all that i have a minor confusion what i know is -- pl ignore faults in language used -- its raw -- i know that 
1)page consists of many biovecs -- 2)each biovec is mentioning continuous data on storage device-- to be transferred3)many bio vecs coming from different pages -- makes a single bio --where in a bio contains the request for continuous data (on storage device )
to be transferred ...i understood scatter gather ..i have read things from different place soin all that i am missing some links --- 1)  How page is related to block on disk ?--2)  is block concept totally vanished in all this discussion ?
3)  if a single bio is transferred at a time -- then is bio equivalent to a block ?      or no relation of block and bio ?4)  if bio is equivalent to one block -- then finally we are transferring block only .... then where abt that benefit of shifting from buffer cache to page cache  ....isnt it ??
5)  page is related to a file -- a single page can contain only one file's data .... is that true ?            or      a page can contain some bio_vecs of file1 and some bio_vecs of other file2 ??pl help in clarification
thanksnidhi-- Thanks & Regards Nidhi Mittal Hada


[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