[PATCHSET] Prepare xHCI for multiple event rings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've seen the mails from Andiry in February which add support for
multiple event rings.  The approach is very unusual in that every
interrupt processes all event rings.  This is bad for NUMA, as you only
want to process the event ring that's local to your node.

The patches I'm sending don't go as far as actually creating multiple
event rings, but they do restructure the xhci driver so that adding
multiple event rings should be quite straightforward.  And the last
patch makes the MSI interrupt handler much lighter-weight.

The approach I've taken is to define an interrupter data structure.
Initially I defined an xhci_interrupter data structure, but it turned out
to be a superset of the xhci_erst data structure, so I started over and
this time just moved pieces to the xhci_erst data structure as necessary.

There's a lot more work to be done to make the xhci driver NUMA-friendly.
For example, we might want a per-erst lock that we can use instead of the
per-hcd lock for things like queueing TRBs.  But I'm currently working
on my laptop while travelling, and it's not NUMA :-)

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux