#10045 HIGH 1.5-sof: XO-1.5 Record audio/video are out of sync with each other

James Cameron quozl at laptop.org
Tue May 11 03:19:32 EDT 2010


On Mon, May 10, 2010 at 11:14:33PM -0400, Martin Langhoff wrote:
> You're definitely onto something there. Do old images with earlier
> kernels show the problem? IOWs is there a reasonable starting point
> for a bisection?

Sorry, no.  This symptom has been with us always.  Some writes just
take a long time, for no obvious reason.

I spent some time testing write of 262144000 zero bytes to various
media and filesystems, measuring the time for the write, time for the
sync, and noting the top few write(2) syscall latencies.

Here's a summary:

1.  as a baseline, writing to /dev/null is fast, and has a write(2)
latency distribution that shows there's no competing scheduling, and
it is twice as fast on XO-1.5 as it is on XO-1, as expected,

2.  writing to filesystems varies by filesystem type; but the fastest
on the same media seems to be ext4, followed by vfat, followed by
ext2, followed by ext3, but the same strange write(2) syscall
latencies are present,

3.  XO-1 SD writes twice as fast as XO-1.5 SD with the same media,
quite a surprise, (8192 byte writes to the block device without
filesystem),

4.  XO-1 USB writes almost twice as fast as XO-1.5 USB with the same
media, also quite a surprise, (8192 byte writes to the block device
without filesystem),

I'm thinking the last two items could deserve a filesystem based test.

Details.

XO-1.5 C1 (my tag QK) with build os123.

Unknown 4gb microSD card
{
  ext3 internal sd, dd 1m 17s, sync 1m 15s, 14 10 7 6
}

SanDisk 4gb microSD card
{
  ext2 external sd, dd 24s, sync 40s, 1 1 1 1 1 1 1 1 1
  ext3 external sd, dd 25s, sync 59s, 3 2 2 1
  vfat external sd, dd 24s, sync 26s, 0.6 0.6 0.6 0.6 0.6 0.6 0.6
  ext4 external sd, dd 16s, sync 29s, 2 1 1 0.6 0.6 0.5
  ext4 external sd, dd 15s, sync 28s, 1 0.9 0.9 0.7 0.6 0.6
  raw external sd, dd 1m 24s, 1 0.6 0.6 0.6 0.6 0.6 0.6
  raw external sd, dd 1m 22s, 1.0 1.0 1.0 1.0 1.0 1.0 1.0
  raw external sd, dd 1m 18s, 0.9 0.9 0.9 0.9 0.9 0.9 0.9
  raw external sd, dd 1m 24s, 0.5 0.5 0.5 0.4 0.4 0.4 0.4
  raw external sd, dd 1m 27s, 0.5 0.5 0.5 0.5 0.5 0.5 0.5
}

ADATA 4gb microSD card
{
  raw external sd, 2m 8s, 3 2 2 2 2 2 2 2
}

SanDisk 4gb USB
{
  ext3 external usb, dd 1m 39s, sync 44s, 16 14 9 7 6
  vfat external usb, dd 51s, sync 47s, 2 2 1 1 1 1 1
  raw external usb, dd 2m 6s, 2 2 2 2 1 1 1 1
  raw external usb, dd 1m 59s, 2.6 2.6 2.1 1.9 1.9 1.9 1.9
  raw external usb, dd 1m 52s, 2 2 2 2 2 2 1 1 1 1 1
}

/dev/null
{
  dd 4.5s, 6ms 2ms 242us 64us 44us 43us
  (all bar four samples of 32003 samples were below 45us)
}

XO-1 C2 (my tag Q9) with build 802.

SanDisk 4gb microSD card (as used above)
{
  raw external sd, dd 50s, 2.0 1.7 1.7 1.3 1.1
  raw external sd, dd 47s, 1.1 1.1 1.1 0.9 0.9 0.9
  raw external sd, dd 47s, 1.6 1.1 1.1 1.1 1.1 1.0
}

SanDisk 4gb USB (as used above)
{
  raw external usb, dd 1m 8s, 1.5 1.5 1.4 1.3 1.3 1.3 1.2
  raw external usb, dd 1m 8s, 2.1 1.9 1.9 1.8 1.4 1.4 1.3
}

/dev/null
{
  dd 13s, 13ms 7ms 800us 572us
}

-- 
James Cameron
http://quozl.linux.org.au/



More information about the Devel mailing list