Hello,

I would like to involve the RTDM Maintainers for discussing an addition to the 
RTDM drivermodel.
This work would be done by Phillipe Gerum as part of a contract, he is also 
better suited to outline the necessary changes,
should nothing stand against the proposal itself.

- Problem description

To be compatible with existing software, Ethernet packets will be polled at 
synchronized events.
The application ideally would give the kernel/rtnet stack the responsibility 
and freedom to do this in an efficient manner,
and be able to directly express the intend to poll all currently available 
packets.

Similarly, but less time-critical thus important, sending multiple packets in a 
burst would be a requirement.

Lastly Linux has this functionality in form of recvmmsg and sendmmsg,
which would be a good fit in terms of existing interface, atleast if used in 
non-blocking mode.

- Hypothetical Proposal

Adding the necessary interfaces to RTDM and RTNet
to allow non-blocking bulk receive/send, and offering functions not unlike the 
mentioned recvmmsg and sendmmsg.

- Potential issues

Copying of multiple packets would be done in RTDM context, potentially blocking 
resources for each packet or the whole duration.
For our usecase it would for example not matter if the involved ethernet driver 
instance is not able to handle IRQs during this time,
but it should not significantly affect worst-case task switch times in general, 
or block reception on other physical interfaces (Ethernet or otherwise).

recvmmsg and timeouts (blocking) are likely to be problematic, but blocking 
mode is not required or wanted.

- Open questions to the RTDM maintainers

What would be the requirements of adding similar functionality to recvmmsg to 
RTNet / RTDM,
and would there be any caveats that would prohibit addition from side of the 
RTDM maintainers?

Other than that, a mmap based approach is also an option, but that's a somewhat 
more involved solution for both kernel and userspace as far as I understood.

Kind regards

Norbert Lange


#####################################################################################
This message and any attachments are solely for the use of the intended 
recipients. They may contain privileged and/or confidential information or 
other information protected from disclosure. If you are not an intended 
recipient, you are hereby notified that you received this email in error and 
that any review, dissemination, distribution or copying of this email and any 
attachment is strictly prohibited. If you have received this email in error, 
please contact the sender and delete the message and any attachment from your 
system.
Thank You.
  ANDRITZ HYDRO GmbH
  Rechtsform/ Legal form: Gesellschaft mit beschr?nkter Haftung / Corporation
  Firmensitz/ Registered seat: Wien
  Firmenbuchgericht/ Court of registry: Handelsgericht Wien
  Firmenbuchnummer/ Company registration: FN 61833 g
  DVR: 0605077
  UID-Nr.: ATU14756806
#####################################################################################


_______________________________________________
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai

Reply via email to