Re: [PATCH v3] usb: gadget: storage_common: make FSG_NUM_BUFFERSvariable size
From: Felipe Balbi
Date: Tue Aug 09 2011 - 10:52:06 EST
On Tue, Aug 09, 2011 at 09:57:19AM -0400, Alan Stern wrote:
> On Mon, 8 Aug 2011, Per Forlin wrote:
> > 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.
> > Signed-off-by: Per Forlin <per.forlin@xxxxxxxxxx>
> > Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx>
> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Hijacking this thread for a small note. I'll be back on applying patches
this friday. Until then I'll be focussed on some other issues which
we're tracking down.
Thanks for understanding ;-)
Description: Digital signature