Jump to ID:
Filesystems

Project Home

Documents

Discussions

Wiki

Project Info
Forum Topic - CACHE_FLAG_SNOOPED and devb-umass: Page 1 of 8 (8 Items)
   
 
 
CACHE_FLAG_SNOOPED and devb-umass  
Hi,

We are working on a project that requires >10MB/sec transfers from USB.  We are working with the Freescale MPC8349EA 
processor.  We are using QNX 6.3.2.  We are using a USB drive that we've verified (under Linux) will easily do 25 to 28 
MB/sec sustained transfer rates.

USB Transfers using default 6.3.2 components give us around 6 MB/sec data transfers.  So we got a hold of the code and 
began looking for reasons as to why the transfers were so slow.  We came across the bounce buffers and the 
CACHE_FLAG_SNOOPED flag.

Setting this flag in ppcv_cpuinfo_8200.c and building a new image did indeed bypass the bounce buffers and allowed 15 to
 18 MB/sec sustained transfers, but USB was very unreliable at detection.

If we could get USB to detect the USB drive, the transfer rates were wonderful.  But it was flaky.

So we took the latest code from the source tree (io-blk, cam, fs-dos, etc) and built it and installed these instead of 
the default 6.3.2 components.

Detection became reliable but now reading and writing are flaky.

We may undertake upgrading to 6.4.x, however, it would require extensive Ethernet driver changes because of our 
particular configuration, so I'd like to avoid that if possible.

Can anyone help me understand why the bounce buffers are necessary and what we might be able to do to get this to run 
reliably?

Any pointers or insights are appreciated.

Thanks
Keivn