Unix/Linux Go Back    

UNIX for Advanced & Expert Users Expert-to-Expert. Learn advanced UNIX, UNIX commands, Linux, Operating Systems, System Administration, Programming, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

arecord, pdflush and bfr.

UNIX for Advanced & Expert Users

Thread Tools Search this Thread Display Modes
Old Unix and Linux 01-16-2012   -   Original Discussion by bucksbell
bucksbell bucksbell is offline
Registered User
Join Date: Jan 2012
Last Activity: 16 January 2012, 10:22 AM EST
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Unix or Linux Question arecord, pdflush and bfr.

Hi All

I'm using arecord to record directly to a USB key:

arecord -f cd > /mnt/usb/myfile.wav

But I see buffer overruns at 30 second intervals, which correspond with short bursts of USB write activity.

I'm assuming this is related to:


And the > is actually writing to the page cache until the above expires.

When I tune this down I get a buffer overrun at what ever the dirty_expire_centiseconds is set to, so I think the pdflush is locking the cache while it writes to USB.

So I started looking for a non blocking pipe buffer and found "bfr" which I've inserted in between the record and the output file.

arecord -f cd | bfr -b5m > /mnt/usb/myfile.wav

This should from what I understand provide a 5 meg non blocking pipe buffer to decouple the read and write.

I still get overruns ! Linux

After putting a load of trace in bfr.c and running in debug mode, I still see the write operation blocking, even though O_NONBLOCK is set. This stalls the read side of the pipe and arecord still overflows.

I've also tried running bfr forked, which should separate the read and write into 2 pids, and both processes appear to stall during the pdflush.

Can anyone tell me what pdflush blocks / locks out during a fs sync ?

Also if anyone can suggest a good way of buffering an arecord stream smoothly to USB key with pdflush firing I'd be much appreciative.



Last edited by radoulov; 01-16-2012 at 11:44 AM.. Reason: Code tags!
Sponsored Links

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

All times are GMT -4. The time now is 03:25 AM.