Re: thread_funnel_set?
Re: thread_funnel_set?
- Subject: Re: thread_funnel_set?
- From: Shawn Erickson <email@hidden>
- Date: Sun, 1 May 2005 08:45:58 -0700
On Apr 30, 2005, at 9:34 PM, Brian Bergstrand wrote:
On Apr 30, 2005, at 7:39 PM, Bijoy Thomas wrote:
Can anyone explain what the function thread_funnel_set() does? Is
it some means of synchronization/locking mechanism to critical
kernel data structures??
Fore pre-Tiger, yes, thread funnels were basically giant locks. There
was one for networking and one for everything else in the BSD kernel.
I'm surprised that they are still in Tiger, as that is supposed to be
one of the big changes in the Tiger kernel: no more funnels. I can
only surmise that they are there for some kind of backward
compatibility, but since all NKE and FS kext's have to be updated to
the kpi's I don't know who that compatibility would be for.
Note that compatibility libraries exist that you can link against
(com.apple.kernel.*) if you are not KPI ready. I believe if you are
using the compatibility libraries you cannot link against the KPI
libraries and vice versa.
The 10.3 and earlier style of kernel locking is outlined here...
<http://developer.apple.com/technotes/tn/
tn2028.html#MacOSXKernelThreading>
It hasn't been updated for Tiger yet which as Brian noted has much
finer grain locking in the BSD side of the kernel (IOKit already had
good locking and concurrency support).
-Shawn
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden