cafe_ccic slowness in VIDIOC_S_FMT
Chris Ball
cjb at laptop.org
Sat Jul 7 22:50:14 EDT 2007
Hi,
> So here you see that calling VIDIOC_S_FMT takes 3655992
> microseconds, which is a _really_ long time. Turns out that
> cafe_cam_configure() from s_fmt_cap() takes 378 jiffies. Breaking
> this down, the pieces of cafe_cam_configure() and the jiffies they
> take are:
I made a systemtap log of ov7670* and i2c* calls and returns inside
cafe_cam_configure, with timing information:
http://dev.laptop.org/~cjb/camera-time.staplog
Conclusions:
* We spend 3.573 seconds in cafe_cam_configure().
* Of which 3.139 seconds is in a single ov7670_write_array() call.
* Which consists of 157 calls to ov7670_write(), each of which
calls i2c_smbus_xfer() once.
* The 157 i2c_smbus_xfer() calls take a min of 13ms and max of 25ms
each, and add up to our 3.137 seconds.
* We need to optimize i2c_smbus_xfer(), which is cafe_smbus_xfer().
- Chris.
--
Chris Ball <cjb at laptop.org>
More information about the Devel
mailing list