<div dir="ltr">Hi Gabi and Muli,<br>I'm sorry about the mistake- you understood me correctly.<br><br>I'm
not sure it will speed up the OS, however I'm doing an academic
research on the matter as part of a project I'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'm looking
for the kernel part in the pagefault handling mechanism in which the
process is suspended in order to prevent it.<br><br>So far I found the function "__generic_make_request" in file "ll_blk".<br>This function calls a sub function named "might_sleep".<br>I have deleted the call to this function whenever I'm in a pagefault, however I'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'm willing to get, or if the change should be made in q->make_request_fn<br>which, according to my understanding, belongs to the specific driver I'm using.<br>
<br>Please help me find the specific place I'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"><<a href="https://mail.google.com/mail?view=cm&tf=0&to=gabik@cs.technion.ac.il" target="_blank">gabik@cs.technion.ac.il</a>></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> </div>
<div><span><font color="#0000ff" face="Arial" size="2">Why do
you think it will speed up the 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> </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
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> </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> </div>
<div><span><font color="#0000ff" face="Arial" size="2"></font></span> </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> </div>
<div><span> </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&tf=0&to=haifux-bounces@haifux.org" target="_blank">haifux-bounces@haifux.org</a>
[mailto:<a href="https://mail.google.com/mail?view=cm&tf=0&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&tf=0&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'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'm currently in a
pagefault and <br>then change the fault_32.c in such way that it will do the
"handle_mm_fault(mm,vma, address, write_;" 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>