forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Hi Jeremy,
Starting this to discuss possible implementations that I am looking at to enable packing multiple MCTP packets into a single USB OUT transfer in the MCTP USB binding.
What are your thoughts on:
- The packing strategy: Should the binding layer that reads from the netdev queue "wait" a certain (a few microseconds?) time to possibly pool multiple packets in a transfer? I am not sure if that is a good idea given we don't know that there are more packets in the queue.
- The actual implementation: This kind of depends on the above question, but if we choose not to implement the "wait for more packets" strategy, does it make sense for the route.c implementation (do_fragment_route) that pushes packets to the netdev queue to set a hint via netdev_xmit_more() flag to indicate to the binding that more packets are on the way? The binding may then use this hint to defer the URB submission until netdev_xmit_more() is set OR we would exceed the max USB bulk xfer limit.
- The binding may just look at the EOM field in the header to know that there must be more packets on the way and wait like above until EOM is received OR max packet size would exceed the USB transfer limit.
Any quick thoughts on which of these (or something else entirely!) might be the right approach?
Thanks,
Santosh
Metadata
Metadata
Assignees
Labels
No labels