[PATCH RFC 0/2] xhci: Simplify TD cancellation and drop some states

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

 



Hi,

Thoughts about this?

Thanks to asynchronous giveback we can give back TDs at any time we
want without dropping xhci->lock and worrying what we might find when
we take it back. So give back TDs as soon as they are no longer needed
instead of keeping them around in TD_CLEARED state and using a second
pass through the list to give them back.

This turns out to be a surprisingly simple patch and I gave it a quick
test and it's working fine.

The second patch removes another almost meaningless cancel status and
shortens the code a bit while adding functionality which may or may not
turn out to be useful. And hopefully won't be harmful?

That too was tested, by patching xhci_move_dequeue_past_td() to fail
randomly and unlinking from multiple streams on UAS. Works exactly as
described in the commit message.

Overall, the driver lost 40 lines of code and 2KB in binary size. The
latter is surprising, I think I haven't removed 2KB worth of code, but
maybe it affects how gcc inlines or otherwise changes functions. YMMV.

Regards,
Michal




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

  Powered by Linux