Thread (6 messages) 6 messages, 3 authors, 2012-10-05

how to process data recvd from a device that wont give interrupts

From: Kshemendra KP <hidden>
Date: 2012-10-05 06:32:24

Hi Devendra,

     In the kernel thread if you continuously in a loop read a register it
will increase
the CPU usage. After every register read if data is not ready call a
schedule() (or related
call). This may help to reduce CPU utilization

Regards

Kshemendra



On Fri, Oct 5, 2012 at 11:45 AM, Kshemendra KP [off-list ref]wrote:
softirqs and tasklets run in interrupt context and must not sleep.
One cannot use copy_from_user() and copy_to_user() in both of them.


Regards

Kshemendra



On Fri, Oct 5, 2012 at 10:24 AM, devendra.aaru [off-list ref]wrote:
quoted
On Thu, Oct 4, 2012 at 1:50 PM, Mulyadi Santosa
[off-list ref] wrote:
quoted
Hi...

On Thu, Oct 4, 2012 at 7:03 PM, devendra.aaru [off-list ref]
wrote:
quoted
quoted
Hi all,

I found that you can use a kernel timer and poll for the hardware
interrupt registers whether the interrupt flag is set or not,

but this will take atleast some good amount of CPU.
yeah, thing is, as you know, timer fires interrupt and CPU will
certainly have to service it. So, it's impossible to work around it
IMHO
quoted
are there any ways other than using the kernel timer?
perhaps something less intrusive like creating kernel thread and its
function is solely checking register state?
yes, more or less similar to what the kernel timer does, :)

I think actually when i get the data , i am just copying it to my
local structures,

This job is done in the kernel timer itself, with this itself its
taking a 10% of cpu
which is actually too much.

let me try with softirqs, i am going to use tasklets, what do you think ?
:)
quoted
--
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20121005/cab98310/attachment.html 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help