<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 10, 2013 at 6:00 PM, Greg Freemyer <span dir="ltr">&lt;<a href="mailto:greg.freemyer@gmail.com" target="_blank">greg.freemyer@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
Mandeep Sandhu &lt;<a href="mailto:mandeepsandhu.chd@gmail.com">mandeepsandhu.chd@gmail.com</a>&gt; wrote:<br>
&gt;On Thu, Oct 10, 2013 at 5:00 PM, Ulka Vaze &lt;<a href="mailto:ulka.vaze@l2it.com">ulka.vaze@l2it.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt; disk cache is same as filesystem  cache. Also called buffer cache.<br>
&gt;&gt; This is implemneted below fs layer.<br>
&gt;&gt; It is basically a cache of disk blocks  mainatined in RAM. (In pages)<br>
&gt;&gt; called buffers.<br>
&gt;&gt;<br>
&gt;<br>
&gt;Ok. So this won&#39;t contain &quot;files&quot; but rather &quot;blocks&quot; many of which<br>
&gt;will<br>
&gt;represent a single file?<br>
<br>
</div>The buffer cache knows nothing about files.  It may happen to contain the blocks that correspond to a complete file, but the buffer cache doesn&#39;t have any way to know that.<br>
<div class="im"><br>
&gt;&gt; The purpose of this cache is to improve performance as disk devices<br>
&gt;are<br>
&gt;&gt; slow.<br>
&gt;&gt; You can access this cache from the kernel.<br>
&gt;&gt; Block layer accesses this from the request structure and commits<br>
&gt;blocks on<br>
&gt;&gt; disk.<br>
&gt;&gt; There are more layers in between like IOschedulers / SCSI etc.<br>
&gt;&gt;<br>
&gt;<br>
&gt;Where does the mapping for file to disk pages/blocks exist? Is it in<br>
&gt;the<br>
&gt;inode or dentry entries or something else?<br>
<br>
</div>That is a very filesystem dependent question.<br>
<br>
In general dentry entries point to inodes and inodes point to blocks of pointers.  Those pointers point to actual data blocks.<br>
<br>
You need to discuss a specific filesystem type to even start to discuss anything specific.<br>
<br>
Ie. Does the fat filesystem have an equivalent of inodes?<br>
<div class="im"><br>
&gt;&gt; How  does your device accesses files ?<br>
&gt;&gt;<br>
&gt;<br>
&gt;The device itself runs stripped down version of a fairly recent Linux<br>
&gt;version (3.x). It has DMA capabilities to transfer content to/from the<br>
&gt;hosts memory from/to it&#39;s own.<br>
<br>
</div>If 3.x is really current you have 2 more options at least: dm-cache and bcache.<br>
<br>
I don&#39;t know much about either, but they are going to be better options for I think than the traditional buffer cache.<br>
<span class="HOEnZb"><font color="#888888">Greg<br>
--<br>
Sent from my Android phone with K-9 Mail. Please excuse my brevity.<br></font></span></blockquote><div><br></div><div>Ulka, Greg,<br><br></div><div>Thanks a lot for your inputs.<br><br></div><div>I have a lot of reading up to do, so I&#39;ll come back if have any specific doubts.<br>
<br></div><div>Thanks again.<br><br></div><div>Regards,<br>-mandeep<br><br></div></div></div></div>