Not every system call takes a funnel by default. As was said before by Justin, none of the Mach or IOKit system calls take one. But also, some BSD system calls don't take them either. And, even for those that do, when the thread is blocked in the system call it drops the funnel so that another thread can use it (the code in the system call must be able to deal with the state of things changing each time it [potentially] blocks). --Ji On Mar 12, 2004, at 11:41 PM, Ramble Leon wrote:
Thanks, does it mean any syscall will hold a funnel
when it enter kernel? If no thread_funnel_switch
inside, a syscall cannot be called by two or more
threads running on differenct processors at same time,
is it right?
--- Quinn <eskimo1@apple.com> wrote:
At 2:04 -0800 12/3/04, Ramble Leon wrote:
Hi, I'm confused by funnel in darwin, I was
reading
some source code of nfs, there is no
thread_funnel_set
can be found in some vfs syscall, but there are
many
thread_funnel_switch inside nfs implement, when did
the system call get the kernel_funnel?
Funnels are acquired as part of system call entry.
Check out the
sy_funnel field of the sysent structure.
S+E
--
Quinn "The Eskimo!"
Apple Developer Technical Support * Networking,
Communications, Hardware
_______________________________________________
darwin-kernel mailing list |
darwin-kernel@lists.apple.com
Help/Unsubscribe/Archives:
Do not post admin requests to the list. They will be
ignored.
__________________________________
Do you Yahoo!?
Yahoo! Mail - More reliable, more storage, less spam
_______________________________________________
darwin-kernel mailing list | darwin-kernel@lists.apple.com
Help/Unsubscribe/Archives:
Do not post admin requests to the list. They will be ignored.
[demime 0.98b removed an attachment of type application/pkcs7-signature which had a name of smime.p7s] _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.