On Wed, 04 Nov 2009, Tim Blechmann wrote:
I'm not a developer and cannot really address your specific
question but for my use of the rt-kernel I put important rt-audio
files on a 1394 drive and give the 1394 driver higher priorities using
the IRQ scheduling tools. I don't have any trouble running 2 or 3 1394
drives recording and playing back 48 channels in Ardour.
While I agree you should do everything the right way technically in
the code maybe part of your solution is outside of the app you are
writing and in the use of these support tools?
well, if i understand the rt howto correctly, _no_ disc access is
allowed, neither from rt nor from non-rt threads, since it may produce
page faults, which introduce latencies ...
I would be supprised if the rt howto states that page-faults in non-rt
threads is a critical problem - that would not significantly impact RT
performance - atelast not the worst case - it will (as every other system
load) impact the average case. so having a non-rt thread reading disk-files
to a buffer and a rt-thread processing this buffer should be perfectly fine.