> >From a practial point of view though a high performance bttv application > (unless there ever is V4L async IO read) is going to want to use the > mmap interface, and so maybe read trade-offs should be selected in favor > of fuctionality/ease of use rather than performance - i.e. dma to bounce > buffer and provide non-blocking read and partial read if useful. I agree. If you care about performance, you likely need multiple buffers and the mmap() interface anyway. And partial reads are useful for scripting: "cat /dev/video0 > frame.raw". Should we to separate frames then? With EOF maybe? > One problem is that as things stand for some drivers read() is the only > supported interface so needs to be as efficient as possible. Do such drivers exist? Is partial read a issue for them? If they use kernel buffers anyway for some reason (decompress video data from usb for example), copy_to_user in many small instead of one big chunk is no big deal. Gerd -- Gerd Knorr <kraxel@xxxxxxxxxxx> -- SuSE Labs, Außenstelle Berlin