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

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

 





On Thu, Nov 5, 2009 at 3:40 PM, nidhi mittal hada <nidhimittal19@xxxxxxxxx> wrote:
Hi all
i have read about page cache
and about bio biovec page relation too

but 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 transferred
3)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
so
in all that i am missing some links ---

1)  How page is related to block on disk ?--

buffer_head data structer does the mapping of existing blocks on disk to pages of RAM.

 
2)  is block concept totally vanished in all this discussion ?

what does it mean. one or more than one sectors (generally 512 byte) combine together and make a block. filesystem sends the request in terms of block to block layer which goes to I/o scheduler in terms of request queue. After merging and sorting through disk driver it is written on disk in terms of sectors. controller also comes into the picture.
 
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 ? 

File is a combination of blocks. Generally one block is associated with one buffer in a page into the RAM.
          or      a page can contain some bio_vecs of file1 and some bio_vecs of other file2 ??

Bio contains Bio-vecs which contains pages ( one or more than one page combined and make a segment). This segmant contains page offset and size. through this all the read/ write happens.


 

pl help in clarification

thanks
nidhi



--
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