lkml.org 
[lkml]   [1999]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectDirect I/O under Linux
Date
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2448.0">
<TITLE>Direct I/O under Linux</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>As a FibreChannel device driver developer, I've found it necessary to implement Direct I/O under the 2.2 kernel.&nbsp; It is simply impossible to get a device to reach 100MB/second sustained throughput without some way to directly access user pages.</FONT></P>

<P><FONT SIZE=2>I've written a good deal of code to do this, but have one question.&nbsp; Is there a way to get the symbols from mm/memory.c?&nbsp; I want to be able to get to the function make_pages_present() (or the function it calls) in order to bring in potentially swapped pages before locking them.&nbsp; My workaround 'til now (which works) is to do a copy_from_user() to copy the first byte of each page in if pte_present() returns false.&nbsp; I would prefer to include a less-hackish approach in the final release driver (which is close to being finished).&nbsp; After I'm satisfied my code doesn't stink, I'll release it to anyone else who wants to use it.</FONT></P>

<P><FONT SIZE=2>The main reason I'm crying for the function in memory.c is that a requirement of this driver project (company imposed) is that we don't distribute kernel patches, since some of our customers are timid when it comes to modifying their kernels (e.g. they won't go any further than a dynamically loadable module, let alone &quot;patching their kernel&quot;).</FONT></P>

<P><FONT SIZE=2>Any comments/suggestions/etc?</FONT>
</P>

<P><FONT SIZE=2>--</FONT>
<BR><FONT SIZE=2>Eric Lowe</FONT>
<BR><FONT SIZE=2>elowe@systran.com</FONT>
<BR><FONT SIZE=2>Software Engineer Co-op, Systran Corporation</FONT>
<BR><FONT SIZE=2>937-252-5601 x330</FONT>
</P>

</BODY>
</HTML>
\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.029 / U:0.468 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site