Re: boundary crossing latencies
Re: boundary crossing latencies
- Subject: Re: boundary crossing latencies
- From: Jim Magee <email@hidden>
- Date: Thu, 24 Jun 2004 15:46:23 -0400
On Jun 22, 2004, at 5:30 PM, Andrew Gallatin wrote:
>
I found that MacOSX 10.3.3's ioctl takes nearly 4x as long as the same
>
code under linux ppc64 on the same exact G5. And it takes 8x as long
>
as
>
the same ioctl on an AMD64.
Mac OS X/Darwin-ppc provides a full 32-bit address space to
applications (and a separate full 32-bit address space to the kernel).
Each transition from user to kernel (and back) requires an address
space change. Linux (and others) take 1GB (or more) away from the
application address space so they can map the kernel as part of each
address space to avoid this overhead (they just have a privilege-level
transition to make instead). Mac OS X can't afford to take that much
address space away from some applications. So, we pay a higher
transition cost.
We also use a single kernel for both SMP and UP systems. The SMP
locking in the kernel imposes some additional overhead that isn't
always needed (or seen in those other OSes).
These issues aside, there are still plenty of things we can (and are)
doing to improve those latencies. But there always seem to have been
bigger performance fish to fry.
--Jim
PS: When using an "averaging" benchmark like you describe, don't forget
to take those measurements in single-user mode, network disconnected.
Background activity plays an important part of the final result in such
cases. Mac OS X, in full multi-user mode, tends to have a little bit
more of this than the typical OS (because of all the niceties like
Rendezvous, etc...) - throwing the numbers off slightly (or sometimes
a lot).
[demime 0.98b removed an attachment of type application/pkcs7-signature which had a name of smime.p7s]
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.