Hi, On Thu, Aug 18, 2011 at 11:28:46AM +0200, Per Forlin wrote: > From: Per Forlin > > FSG_NUM_BUFFERS is set to 2 as default. > Usually 2 buffers are enough to establish a good buffering pipeline. > The number may be increased in order to compensate a for bursty VFS > behaviour. > > Here follows a description of system that may require more than > 2 buffers. > * CPU ondemand governor active > * latency cost for wake up and/or frequency change > * DMA for IO > > Use case description. > * Data transfer from MMC via VFS to USB. > * DMA shuffles data from MMC and to USB. > * The CPU wakes up every now and then to pass data in and out from VFS, > which cause the bursty VFS behaviour. > > Test set up > * Running dd on the host reading from the mass storage device > * cmdline: dd if=/dev/sdb of=/dev/null bs=4k count=$((256*100)) > * Caches are dropped on the host and on the device before each run > > Measurements on a Snowball board with ondemand_govenor active. > > FSG_NUM_BUFFERS 2 > 104857600 bytes (105 MB) copied, 5.62173 s, 18.7 MB/s > 104857600 bytes (105 MB) copied, 5.61811 s, 18.7 MB/s > 104857600 bytes (105 MB) copied, 5.57817 s, 18.8 MB/s > > FSG_NUM_BUFFERS 4 > 104857600 bytes (105 MB) copied, 5.26839 s, 19.9 MB/s > 104857600 bytes (105 MB) copied, 5.2691 s, 19.9 MB/s > 104857600 bytes (105 MB) copied, 5.2711 s, 19.9 MB/s > > There may not be one optimal number for all boards. This is why > the number is added to Kconfig. If selecting USB_DEBUG this value may be > set by a module parameter as well. > > Signed-off-by: Per Forlin Alan, are you ok with the change ? I'm not sure tying the parameter to CONFIG_USB_DEBUG is a good idea, maybe CONFIG_USB_GADGET_DEBUG or CONFIG_USB_FILE_STORAGE_TEST is better ? -- balbi