Web lists-archives.com

There is a long delay when I use v4l2(uvc) with epoll (but select works well)




This is the strace result when use select

select(5, [4], ...) = 1 (in [4], left {1, 648368}) <0.036166>
ioctl(4, VIDIOC_DQBUF, 0x7fffbe72ce50) = 0 <0.000024>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fffbe72ce50) = 0 <0.000021>
select(5, [4], NULL, NULL, {2, 0}) = 1 (in [4], left {1, 680471}) <0.319565>
ioctl(4, VIDIOC_DQBUF, 0x7fffbe72ce50) = 0 <0.000023>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fffbe72ce50) = 0 <0.000019>
select(5, [4], NULL, NULL, {2, 0}) = 1 (in [4], left {1, 680356}) <0.319680>
ioctl(4, VIDIOC_DQBUF, 0x7fffbe72ce50) = 0 <0.000022>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fffbe72ce50) = 0 <0.000019>
select(5, [4], NULL, NULL, {2, 0}) = 1 (in [4], left {1, 648366}) <0.351672>
ioctl(4, VIDIOC_DQBUF, 0x7fffbe72ce50) = 0 <0.000022>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fffbe72ce50) = 0 <0.000018>
select(5, [4], NULL, NULL, {2, 0}) = 1 (in [4], left {1, 680368}) <0.319669>
ioctl(4, VIDIOC_DQBUF, 0x7fffbe72ce50) = 0 <0.000022>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fffbe72ce50) = 0 <0.000019>
select(5, [4], NULL, NULL, {2, 0}) = 1 (in [4], left {1, 680367}) <0.319669>
ioctl(4, VIDIOC_DQBUF, 0x7fffbe72ce50) = 0 <0.000022>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fffbe72ce50) = 0 <0.000019>
select(5, [4], NULL, NULL, {2, 0}) = 1 (in [4], left {1, 648363}) <0.351673>
ioctl(4, VIDIOC_DQBUF, 0x7fffbe72ce50) = 0 <0.000022>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fffbe72ce50) = 0 <0.000020>
select(5, [4], NULL, NULL, {2, 0}) = 1 (in [4], left {1, 680359}) <0.319679>
ioctl(4, VIDIOC_DQBUF, 0x7fffbe72ce50) = 0 <0.000023>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fffbe72ce50) = 0 <0.000019>
select(5, [4], NULL, NULL, {2, 0}) = 1 (in [4], left {1, 680369}) <0.319667>
ioctl(4, VIDIOC_DQBUF, 0x7fffbe72ce50) = 0 <0.000022>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fffbe72ce50) = 0 <0.000019>

This is the strace result when use epoll almost 3 sec delay.

epoll_wait(3, {{EPOLLIN, ...}}, 64, 4294967295) = 1 <2.942568>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000021>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = -1 EAGAIN  <0.000017>
epoll_wait(3, {{EPOLLIN, ...}}, 64, 4294967295) = 1 <2.974568>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000020>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = 0 <0.000017>
ioctl(4, VIDIOC_QBUF or VT_SETACTIVATE, 0x7fff614e6b50) = 0 <0.000016>
ioctl(4, VIDIOC_DQBUF, 0x7fff614e6b50) = -1 EAGAIN  <0.000016>
epoll_wait(3, {{EPOLLIN, ...}}, 64, 4294967295) = 1 <2.974579>

--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list