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

From: H. Peter Anvin (hpa@zytor.com)
Date: Wed Jul 04 2001 - 03:03:13 EST


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/



This archive was generated by hypermail 2b29 : Sat Jul 07 2001 - 21:00:13 EST