RE: [PATCHSET] Prepare xHCI for multiple event rings

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

 



> -----Original Message-----
> From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Matthew Wilcox
> Sent: Wednesday, June 01, 2011 5:40 AM
> To: linux-usb@xxxxxxxxxxxxxxx
> Subject: [PATCHSET] Prepare xHCI for multiple event rings
> 
> 
> 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 :-)
> 

Thanks for the patchset! This reduces the register and interrupter check
and makes the multiple interrupters implementation much easier - just 
allocate multiple ERSTs will do.

I'll rebase the multiple interrupters patchset on this.

Thanks,
Andiry 

--
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