Re: [PATCH v1 12/27] usb: musb: same musb_readb/musb_writeb in single image to support multiple machines

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

 



Hi,

2010/12/22 Felipe Balbi <balbi@xxxxxx>:
> Hi,
>
> On Wed, Dec 22, 2010 at 07:42:09PM +0800, Ming Lei wrote:
>>
>> Since the accuracy of 'time' utility is not good, I write a test case
>> based on your code posted and figure out time elapsed in kernel, follows
>> the test results:
>
> true, much better.
>
>>        test board: beagle xM, mpurate: 950
>>
>>        root@beagleboard:/sys/kernel/debug/musb# cat readw
>>        direct            musb_readw, count:1000000, time:223682us
>>        single func deref musb_readw, count:1000000, time:236562us
>>        dual   func deref musb_readw, count:1000000, time:247016us
>>
>>        root@beagleboard:/sys/kernel/debug/musb# cat readw
>>        direct            musb_readw, count:1000000, time:223689us
>>        single func deref musb_readw, count:1000000, time:237915us
>>        dual   func deref musb_readw, count:1000000, time:247150us
>>
>>        root@beagleboard:/sys/kernel/debug/musb# cat readw
>>        direct            musb_readw, count:1000000, time:223571us
>>        single func deref musb_readw, count:1000000, time:237607us
>>        dual   func deref musb_readw, count:1000000, time:247088us
>
> 10% is much better than what I was expecting. Even though we are doing
> 1M reads to that register I wasn't expecting that big impact.
>
> Still even the 5% performance drop sounds a lot. Sounds like the biggest
> issue is actually bfin which doesn't implement __raw_* macros and tusb
> which can't handle 8 bit addresses. If blackfin implements __raw_*
> macros then we can handle tusb6010 easily by always doing 16 bit
> accesses when TUSB is compiled. It won't cause problems (not big ones)
> to the other glue layers anway.

You mean always accessing 16bit in musb_readb for all hw controllers?
I am not sure if musb can work well if so.

It doesn't matter if bfin implements __raw_* macros or not since
tusb6010 is only used on ARM(maybe only OMAPs are involved).

>
> Mike, would it be possible for blackfin to implement __raw_* macros so
> we can drop the ifdef for blackfin on musb_io.h ??

The ifdef is used on different ARCH(bfin vs. other ARCHs), seems not
very important wrt. the issue, do it?

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