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 <kshemen...@suphalaam.com>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 <devendra.a...@gmail.com>wrote: > >> On Thu, Oct 4, 2012 at 1:50 PM, Mulyadi Santosa >> <mulyadi.sant...@gmail.com> wrote: >> > Hi... >> > >> > On Thu, Oct 4, 2012 at 7:03 PM, devendra.aaru <devendra.a...@gmail.com> >> wrote: >> >> 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 >> > >> >> 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 ? >> :) >> > -- >> > regards, >> > >> > Mulyadi Santosa >> > Freelance Linux trainer and consultant >> > >> > blog: the-hydra.blogspot.com >> > training: mulyaditraining.blogspot.com >> >> _______________________________________________ >> Kernelnewbies mailing list >> Kernelnewbies@kernelnewbies.org >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >> > >
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies