<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 18, 2018 at 11:17 PM, Gedare Bloom <span dir="ltr"><<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Udit,<br>
<span class=""><br>
On Thu, May 17, 2018 at 9:13 AM, Udit agarwal <<a href="mailto:dev.madaari@gmail.com">dev.madaari@gmail.com</a>> wrote:<br>
> Hi all,<br>
> I was looking at the internal working of a benchmark and the way it disables<br>
> cache for direct IO operations, needed to benchmark storage device drivers.<br>
> I have a small query regarding how cache is organized in RTEMS:<br>
><br>
> Usually data transfer model is something like:<br>
> Application address space --> Page cache --> Write-back cache --> storage<br>
> device<br>
> is this model valid for RTEMS too?<br>
><br>
> Moreover, in FreeBSD/Linux, O_DIRECT flag is used with the file descriptor<br>
> to bypass write-back cache. do we have something like that in RTEMS? AFAIK,<br>
> In RTEMS, libblock is used to transfer data to the storage device. So,<br>
> configuring it like:<br>
>><br>
>>  #define CONFIGURE_BDBUF_MAX_READ_<wbr>AHEAD_BLOCKS 0<br>
><br>
> should disable the cache? or is there any other setting that should be<br>
> tweaked?<br>
><br>
<br>
</span>I think you are on the right path. We have bdbuf cache as the way to<br>
buffer block I/O operations. I don't know if that option is enough to<br>
turn off caching. You should check the user manual, and inspect the<br>
code.<br>
<br></blockquote><div>Sure, We also found that the page cache(that i mentioned up there) was maintained in newlib itself and can be configured by setvbuf() command.  <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> Regards,<br>
> Udit<br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> devel mailing list<br>
> <a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/devel</a><br>
</blockquote></div><br></div></div>