Re: Pinning IO Thread to a particular processor
Re: Pinning IO Thread to a particular processor
- Subject: Re: Pinning IO Thread to a particular processor
- From: Jeff Moore <email@hidden>
- Date: Mon, 30 Jan 2006 11:41:52 -0800
On Jan 30, 2006, at 11:02 AM, Stefan Haller wrote:
We are observing that on a Quad G5 we get glitches or dropouts when we
lower the buffer size under high audio load (of course); but with all
four cores enabled, we get these glitches far earlier (with a higher
buffer size) than with only one core enabled.
What buffer size and sample rate are you seeing the problems?
1) Why is this?
You'll have to tell us. You can use HALLab's IO cycle telemetry
window to track what the IO thread is doing. If you run it as root,
you can also take kernel traces under a variety of circumstances
based on the telemetry.
2) Is there anything we can do about this? (Short of telling our
users
to turn off three of their four cores.)
Hard to say without knowing what's causing the problem. It could be
anything from your IOProc spiking to rogue hardware interrupts
causing additional scheduling latency in the IO thread.
We were thinking if it were possible to "pin" the HAL IO thread to a
particular processor/core, maybe that would help. Is this possible?
I don't know that the scheduler has a notion of processor affinity.
Even if it did, the HAL owns the thread and as such it can come and
go ou from under you.
At any rate, while bouncing around between processors can cause
caches thrash a bit more often, there isn't exactly a whole lot of
cache on a G5 anyway. So the effect wouldn't be as pronounced.
Besides, when you pin a thread to a particular processor, you are
trading cache coherency for increased scheduling latency. As the IO
buffer size gets smaller, the scheduling latency, which is generally
always the same, will take an increasing amount of the available
time. So, I'm not sure that the trade off would actually result in
better performance.
--
Jeff Moore
Core Audio
Apple
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden