forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Hi Jeremy,
There is a proposal on the DMTF PMCI WG to add an additional interrupt IN endpoint to the two BULK endpoints that exist on the MCTP USB interface. The idea there is that since interrupt transfers get guaranteed bus bandwidth, it would improve latency by reducing the need for host side implementations to always issue bulk INs.
The proposed flow would then be something like:
- Host sends a req over the bulk OUT
- Host queues an interrupt IN transfer (The HCD will handle the repeated polling per the bInterval)
- When the endpoint has data to send on the bulk IN, it will first send the number of bytes it has to send over the interrupt IN endpoint.
- The host reads the number of bytes available and submits a bulk IN. (Along with resubmitting the interrupt IN).
In my view, since bulk INs are guaranteed bandwidth on the bus, we will avoid the repeated NAKs for bulk INs, but I see little benefits of implementing the proposed changes:
- For a bus with many endpoints, the repeated interrupt INs can hog the bus bandwidth.
- There is added latency now between the driver receiving the number of bytes and it submitting the bulk IN (as opposed to before where it could just submit one or more bulk INs for each endpoint)
- They add complexity to the host side driver by forcing state into the IN transfers.
What are your thoughts on this proposal from a Linux driver implementation perspective? (Can add you to the DMTF PMCI WG stream if that helps)
Thanks,
Santosh
Metadata
Metadata
Assignees
Labels
No labels