emin ak wrote: > Dear All; > I'am new with xenomai (and also adeos), firstly I would like to thank > who contributed to this project for this high quality job. I have an > project that needs gigabit rate ethernet packet processing in user > space and need your recommendations. > I want to archive this with minimal kernel level device driver changes. > According to my plan, I'll create a realtime user level thread and > this thread sleeps (with the mutex machanism in the native api) until
In general, mutexes are not the right mechanism to wait on a specific event, they are used to synchronise concurrent access to resources. What you are likely looking for are e.g. semaphores. > receiving a valid ethernet packet on ethernet interface that is > working regular linux domain. After receiving the packet, ethernet > driver releases the lock and sends packet to user level thread (with > shared memory or an other way).With this way, I have left the device > driver in linux domain, I'll only need to add locking and shared > memory system in the device driver.Does this system work? Does the Not very well (which means: not deterministically). You need to put the driver under Xenomai control to achieve predictable latencies. > user level thread affect the functionallty of ethernet interface?Do I > need to implement all my user space thread and kernel level driver in > primaly domain? Yep, but you might be lucky: there is one Gigabit Ethernet driver already available with RTnet (Realtek 8169). If you are only looking for deterministic packet processing in an arbitrary network, you just have to load the RTnet core and the rt_r8169 driver, and then you can register your protocol types for sending and receiving (via rt-packet sockets). There are also examples available with RTnet. Feel free to ask for more details on the RTnet list. Jan
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
