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 <kshemendra@xxxxxxxxxxxxx> 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.RegardsKshemendraOn Fri, Oct 5, 2012 at 10:24 AM, devendra.aaru <devendra.aaru@xxxxxxxxx> wrote:
On Thu, Oct 4, 2012 at 1:50 PM, Mulyadi Santosayes, more or less similar to what the kernel timer does, :)
<mulyadi.santosa@xxxxxxxxx> wrote:
> Hi...
>
> On Thu, Oct 4, 2012 at 7:03 PM, devendra.aaru <devendra.aaru@xxxxxxxxx> 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?
>
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@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies