lkml.org 
[lkml]   [2002]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Hardwired drivers are going away?
David Lang wrote:
>
> the impact is in all calls to the module, if they are far calls instead of
> near calls each and every call is (a hair) slower.
>
> so the code can be the same and still be slower to get to.
>
> you can argue that it's not enough slower to matter, but even Alan admits
> there is some impact.
>
> David Lang

Let's get the terminology right here (for x86 at least):
Far jump: Changes to a new code segment, absolute address
Near jump: Same code segment, 4-byte relative offset
Short jump: Same code segment, 1-byte signed offset

The kernel never uses far jumps except for some BIOS calls and during
booting. The difference betwen near and short jumps is very minute.
Short jumps are limited to +/- 128 bytes, so are really only applicable
for small loops. All function calls between object files must be near
jumps, as the assembler does not not know the distance of an unresolved
symbol and must assume the largest possible offset.

--

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

\
 
 \ /
  Last update: 2005-03-22 13:15    [W:1.379 / U:0.116 seconds]
©2003-2011 Jasper Spaans. Advertise on this site