<div dir="ltr">Hi Gabi and Muli,<br>I&#39;m sorry about the mistake- you understood me correctly.<br><br>I&#39;m
not sure it will speed up the OS, however I&#39;m doing an academic
research on the matter as part of a project I&#39;m taking, and I plan to check this point.<br>
The leading thought was that since the SSD is not a mechanical drive,
pages can be brought faster in this way, and there is no need to
context switch, thus, avoiding the overhead included.<br>
<br>Yes I plan to use the polling system (busy-wait) , and I&#39;m looking
for the kernel part&nbsp; in the pagefault handling mechanism in which the
process is suspended in order to prevent it.<br><br>So far I found the function &quot;__generic_make_request&quot; in file &quot;ll_blk&quot;.<br>This function calls a sub function named &quot;might_sleep&quot;.<br>I have deleted the call to this function whenever I&#39;m in a pagefault, however I&#39;m not sure if this function casuses the sleep, or is just used for debugging in order to check if we entered a suspend state.<br>

<br>My question is if this is the function I should change in order to accept the change I&#39;m willing to get, or if the change should be made in q-&gt;make_request_fn<br>which, according to my understanding, belongs to the specific driver I&#39;m using.<br>

<br>Please help me find the specific place I&#39;m looking for that would make the desired change.<br><br>Thank you very much,<br>Doron.<br><br><div class="gmail_quote">On Tue, Sep 16, 2008 at 2:42 PM, gabik <span dir="ltr">&lt;<a href="https://mail.google.com/mail?view=cm&amp;tf=0&amp;to=gabik@cs.technion.ac.il" target="_blank">gabik@cs.technion.ac.il</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



<div>
<div><span><font color="#0000ff" face="Arial" size="2">Hello 
Doron</font></span></div>
<div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div><span><font color="#0000ff" face="Arial" size="2">Why do 
you think it will speed up the&nbsp;OS?</font></span></div>
<div><span><font color="#0000ff" face="Arial" size="2">What 
do you plan to do until the page is swapped in? Busy loop?</font></span></div>
<div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div><span><font color="#0000ff" face="Arial" size="2">About 
your solution:</font></span></div>
<div><span>handle_mm_fault is called from within page 
fault handler (<a href="http://lxr.linux.no/linux+v2.6.26.5/+code=do_page_fault" target="_blank">do_page_fault</a>()).</span></div>
<div><span>So what is the rational behind calling <span>handle_mm_fault not from inside pagefault&nbsp; 
handler?</span></span></div>
<div><span><span>Where would 
you call it from instead and what do you plan to do when you are in the page 
fault?</span></span></div>
<div><span><span><font color="#0000ff" face="Arial" size="2"></font></span></span>&nbsp;</div>
<div><span><span><font color="#0000ff" face="Arial" size="2">Probably what you meant is, in order not to do 
context switch due to page fault, is to call <span><font color="#000000" face="Times New Roman" size="3">handle_mm_fault as usual, but not to raise need_resched flag, so as not 
to trigger a context switch in case of a major page 
fault.</font></span></font></span></span></div>
<div><span><span><font color="#0000ff" face="Arial" size="2"></font></span></span>&nbsp;</div>
<div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div><span><font color="#0000ff" face="Arial" size="2">Gabi</font></span></div>
<div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div><span>&nbsp;</span></div><br>
<div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"><b>From:</b> <a href="https://mail.google.com/mail?view=cm&amp;tf=0&amp;to=haifux-bounces@haifux.org" target="_blank">haifux-bounces@haifux.org</a> 
[mailto:<a href="https://mail.google.com/mail?view=cm&amp;tf=0&amp;to=haifux-bounces@haifux.org" target="_blank">haifux-bounces@haifux.org</a>] <b>On Behalf Of </b>Doron 
Zuckerman<br><b>Sent:</b> Tuesday, September 16, 2008 12:31 PM<br><b>To:</b> 
<a href="https://mail.google.com/mail?view=cm&amp;tf=0&amp;to=haifux@haifux.org" target="_blank">haifux@haifux.org</a><br><b>Cc:</b> Ronen Gruengras<br><b>Subject:</b> [Haifux] SSD 
and linux<br></font><br></div><div><div></div><div>
<div></div>
<div dir="ltr">Hi all,<br><br>I have a question regarding the linux kernel (for 
those of you who are familiar with it).<br><br>I&#39;m looking for a way to add a 
change to the linux kernel in order to check if I can make it more compatible 
with my Asus EEE-PC.<br>I would like to change the kernel in such way that it 
will not do a context switch every time there is a page fault <br>and will wait 
for the required page to be brought from the SSD (Solid State Drive), then 
continue as usual.<br>In Such way, I plan to check if I can fasten the speed of 
the Operating System (Ubuntu for EEE).<br>I thought of adding a TIF flag in the 
process descriptor (thread_info_32.h) that will tell me if I&#39;m currently in a 
pagefault and <br>then change the fault_32.c in such way that it will do the 
&quot;handle_mm_fault(mm,vma, address, write_;&quot; only if there is no <br>pagefault at 
the moment.<br>Can you suggest any other solution possible or tell me what you 
think about this solution.<br><br>I would really appreciate any help with 
this,<br>Doron.<br><br><br></div></div></div></div>
</blockquote></div><br></div>