Re: Why Plan 9 C compilers don't have asm("")

H. Peter Anvin (hpa@zytor.com)
4 Jul 2001 01:03:13 -0700


Followup to: <20010704002436.C1294@ftsoj.fsmlabs.com>
By author: Cort Dougan <cort@fsmlabs.com>
In newsgroup: linux.dev.kernel
>
> There isn't such a crippling difference between straight-line and code with
> unconditional branches in it with modern processors. In fact, there's very
> little measurable difference.
>
> If you're looking for something to blame hurd performance on I'd suggest
> the entire design of Mach, not inline asm vs procedure calls. Tossing a
> few context switches into calls is a lot more expensive.
>

That's not where the bulk of the penalty of a function call comes in
(and it's a call/return, not an unconditional branch.) The penalty
comes in because of the additional need to obey the calling
convention, and from the icache discontinuity.

Not to mention that certain things simply cannot be done that way.

-hpa

-- 
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/