On 10/22/06, <b class="gmail_sendername">Rahul</b> <<a href="mailto:rahul.theraja@gmail.com">rahul.theraja@gmail.com</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div><span class="q"><span class="gmail_quote">On 10/20/06, <b class="gmail_sendername">Fawad Lateef</b> <<a href="mailto:fawadlateef@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
fawadlateef@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello Rahul,<br><br>First of all please don't do top-posting rather do bottom-posting. For<br>more information search google.</blockquote></span><div><br>
oh sorry for that <br>
</div><div><span class="e" id="q_10e6f41baf5f55ea_3"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On 10/19/06, Rahul Theraja <<a href="mailto:rahul.theraja@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
rahul.theraja@gmail.com
</a>> wrote:<br>> Hello Shakthi Kannan,<br>><br>> Thanks for the reply .<br>><br>><br>> > > driver. I could not understand why the "sbd_request " is called even<br>> though<br>> > > i have given only one read call from user space file.
<br>> ><br>> > Block device I/O transfer is done in blocks.<br>> ><br>> > > And also in the driver, in the function sbd_request() how does the<br>> driver<br>> > > get the parameters like sector, current_nr_sectors and buffer.
<br>> ><br>> > VFS <-> SCSI <-> Block device?<br>> ><br><br>I think its VFS<->Buffer-Cache<->Block-Device and if drive is mounted<br>then VFS<->FS<->Buffer-Cache<->Block-Device
<br><br>> > > i could move<br>> > > furhter fastly.<br>> ><br>> > Fastly? IMHO, learning kernel development involves lot of patience.<br>> ><br>> > SK<br>><br>><br>> Is it necessary to use kernel_thread() in block drivers. In drivers/block
<br>> loop.c i could see kernel_thread() being used but in floopy.c it is not<br>> used. When is this kernel_thread() function is supposed to be used ? In the<br>> sbd_device also the kernel_thread() is not used.
<br>><br><br>First in kernel-2.6.x its better to use kthread_*() rather than<br>kernel_thread if threading is needed.<br><br>Threading isn't necessary in any device until unless you need it. For<br>example if your driver is emulating a device or performing IO directly
<br>then you don't need it, but if your driver is sending request to a<br>device which generates interrupts after completing IO and you want to<br>do some extra work after getting IO completion interrupt then you must<br>
use thread. As threads work in process-context, hence can do sleep and<br>lengthy processing but interrupt-context shouldn't sleep or nor do<br>long processing.<br><br>For getting more understanding about different contexts like process,
<br>interrupt, softirqs contexts do search google.<br><br>> Anyone please kindly clarify my doubts.<br>><br><br>I hope you doubts are not clear.</blockquote></span></div></div></blockquote><div><br>
Can anyone tell me or send me some links that tells about the following functions:<br>
daemonize, siginitsetinv , recalc_sigpending . Though i googled, i coildnt get much information on them.<br>
<br>
Thanks in adavance<br>
Rahul<br>
<br>
</div><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>
thank you very much for all the help <br>
</div><span class="q"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> Thanks in Advance<br>><br>> -Rahul<br>><br><br>--
<br>Fawad Lateef
<br></blockquote></span></div><br>
</blockquote></div><br>