Linux ieee1394 performance query

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all

I have encountered a strange issue with the performance of ieee1394
modules under Linux. I am surprised to see Windows stack performing
far better (almost twice) than Linux, unless I am doing something
wrong.

In the setup, I am using 2 Basler A602f cameras with external
trigger.  The setup has Linux Kernel 2.6.19.2 (earlier tried with
2.6.15), libraw1394-1.2.1, libdc1394 2.0 rc3 and rc4. gcc 4.0.3,
Distribution Ubuntu 6.06.

The aperture is close to 600us. I am using DC1394_COLOR_CODING_MONO8
colour coding, Format 7, Video Mode DC1394_VIDEO_MODE_FORMAT7_0, image
size 320x240 in both Windows and Linux. The speed is 400Mbps, and
bytes per packet 2048.

I am using parallel port to output a pulse whenever dc1394_capture_dma
returns. I am observing 14 ms as grab time (no matter what the
external trigger frequency is). The Windows code is giving me 7ms, for
the same setting. (theoritically it should be 5.5 ms).

The 14 ms capture times stays valid, even if I am attaching one camera
and setting bytes per packet as 4096.

The example code grab_gray_image.c (slightly modified for external
trigger and parallel port pulse out) gives me 25 ms. Theoritically it
should be 10 ms, for the image size of 640x480.

It looks like, I am doing something wrong, but not able to figure out
so far. I am planning to dig into the device drivers to pulse out,
when I receive frame...to see where exactly the latency is, unless you
know what exactly I am missing. Just wanted to ask your opinion
whether there is anything else I need to try. And if digging in the
drivers is the only option left, any suggestions, which functions I
could start with.

According to Basler docs, the image reaches the kernel buffers in
about maximum of 6ms. Then where is it spending the rest of the time
(around 8ms)?Is it spending time in copying image to the user buffer
or am i missing something here?

Any suggestion, link, pointers will be most welcome.:)

Thanks in Advance

Pradeep

--
play the game

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux