Re: [PATCH 16/16] usb: dwc3: convert structures into bitshifts

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

 



On 10/17/2011 08:35 PM, Paul Zimmerman wrote:
Hi Sebastian,
Hi Paul,

But wouldn't it be simpler and more efficient to just get rid of the
bitfields and use the normal shift and mask method to do the TRBs and
events? For e.g. high-bandwidth Isoc transfers, the driver needs to
process a _lot_ of TRBs to keep up with the USB 3.0 bandwidth. We
should avoid any unnecessary processing overhead in hot paths such as
that.

Now it is performance and not a BE problem.
The only problem with the bit fields is that each assignment is a write
access. This write access ends up in cache. So let me look at
dwc3_prepare_trbs(). You write bpl/h most likely the same way it is
now. The other two require a local variable each for setup / shifts.
Hmmm. Not sure how much overhead you save after converting.

We did this way because Felipe preferred it over bit shifts. If you want it the other way due to performance issues then I would say please post some numbers which prove your point.

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