Re: The end of embedded Linux?

Nicolas Pitre (nico@cam.org)
Mon, 7 Oct 2002 12:38:23 -0400 (EDT)


On Mon, 7 Oct 2002, David S. Miller wrote:

> From: Nicolas Pitre <nico@cam.org>
> Date: Mon, 7 Oct 2002 12:05:16 -0400 (EDT)
>
> 2) Not inlining inb() and friend reduce the bloat but then you further
> impact performances on CPUs which are generally many order of magnitude
> slower than current desktop machines.
>
> I don't buy this one. You are saying that the overhead of a procedure
> call is larger than the overhead of going out over the I/O bus to
> touch a device?

Of course it is! Not only the procedure call prevents code optimisations
like immediate constants for opcode arguments and pushes more registers to
the stack, but you're then wasting many CPU cycles that would have been much
useful to fetch data from the peripheral's fifo.

Remember we are talking about "embedded" platforms which the majority are
using small CPUs where the IO bus is often on a clock which is tightly
coupled to the CPU core clock. Extra CPU cycles wasted on function call
prologs is often enough to affect throughput significantly.

Nicolas

-
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/