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