Hi Philippe, Thank you for the suggestion. I will give it a try and let you know.
Regards Bharath On Wed, Aug 25, 2010 at 4:22 PM, Philippe Gerum <r...@xenomai.org> wrote: > On Wed, 2010-08-25 at 12:06 +0200, Bharath Achuta Bhat wrote: > > Hi Philippe, > > It is an mmap-ed I/O memory. > > This is a TLB miss which ends up in a heavyweight call to fill the linux > page table entry. Try to pre-fault the I/O memory region if possible, > reading some bytes within the same 4k page. > > > > > > > Regards > > Bharath > > > > On Wed, Aug 25, 2010 at 11:53 AM, Philippe Gerum <r...@xenomai.org> > > wrote: > > On Wed, 2010-08-25 at 11:12 +0200, Bharath Achuta Bhat wrote: > > > Hello Xenomai experts, > > > > > > > > > I am running a xenomai-2.5.1 patched kernel (v 2.6.30.3) > > with ipipe > > > version 2.7-06. > > > The target is powerpc (MPC8533E). > > > My application is switching to the secondary mode (I guess > > because of > > > a page-fault) when ntohl() is called. > > > This is a libc function and I am wondering why only this > > function > > > (ntohl()) is causing a page-fault. > > > > > > What memory are you reading from / writing to in the statement > > involving > > ntohl()? Is this plain RAM, or mapped I/O memory? > > > > > > > > > > > Here is how the application looks like > > > > > > > > > main () > > > { > > > ... > > > ... > > > /* Avoids memory swapping for this program */ > > > mlockall(MCL_CURRENT | MCL_FUTURE); > > > > > > > > > ...... > > > ...... > > > /* signal handlers */ > > > ..... > > > ..... > > > /* create communication pipes */ > > > rt_pipe_create(&tPipe1, ..... > > > rt_pipe_create(&tPipe2,....... > > > > > > > > > /* create RT tasks */ > > > rt_task_create(&tTask1,..... > > > rt_task_create(&tTask2,...... > > > ........... > > > .......... > > > > > > > > > /* start the RT tasks */ > > > rt_task_start(&tTask1,..... > > > .............. > > > .............. > > > > > > > > > /* turn the current thread into RT function */ > > > ret = rt_task_shadow(NULL, "RT main function", 1, T_SUSP); > > > > > > > > > .... > > > .... > > > > > > > > > } > > > > > > > > > One of the rt tasks created calls ntohl() and switches to > > secondary > > > mode. > > > Is there a way to avoid it ? > > > > > > > > > -- > > > Thanks and regards > > > Bharath > > > > > > > > _______________________________________________ > > > Xenomai-help mailing list > > > Xenomai-help@gna.org > > > https://mail.gna.org/listinfo/xenomai-help > > > > -- > > Philippe. > > > > > > > > > > > > -- > > Thanks and regards > > Bharath > > > > -- > Philippe. > > > -- Thanks and regards Bharath
_______________________________________________ Xenomai-help mailing list Xenomai-help@gna.org https://mail.gna.org/listinfo/xenomai-help