Hi Gavin, <> Have you issued an mlockall at the start of your process? It can also <> help to explicitly prefault your stack so that you don't get a page <> fault later if your stack depth grows.
Yes, I am using the mostly unmodified ec_user_example. I just adapted the PDO setup for the Omron NX ECAT IO. This example does already SCHED_FIFO (i tried with prio 99 and 79, as 99 should not be used according the PREEMPT docs), mlockall(MCL_CURRENT | MCL_FUTURE) and stack_prefault() before the cyclic_task starts. I am using igb with ec_generic. I use the etherlab 1.5.2 branch (which is the only one that commits go to as far as I saw) in the most current version from the git repos. I now found out the problem. As ecrt_domain_process is just a wrapper for an IOCTL, the problem had to be in the kernel, which however was identical. Aside from the cmdline, though and logging: There was a serial console defined in the cmdline and kernel logging was on console. After disabling the serial console, it dropped to 2 ms already. After using dmesg -E to disable kernel logging on the console altogether, everything went back to normal... Thanks for listening ;) -- . -Michael _______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users
