Re: [RFC][PATCH] linux-2.6.2-rc2_vsyscall-gtod_B1.patch

From: Eric W. Biederman (ebiederm_at_xmission.com)
Date: 01/31/04

  • Next message: Eric W. Biederman: "Re: [RFC][PATCH] linux-2.6.2-rc2_vsyscall-gtod_B1.patch"
    To: Jamie Lokier <jamie@shareable.org>
    Date:	30 Jan 2004 17:10:13 -0700
    
    

    Jamie Lokier <jamie@shareable.org> writes:

    > Ulrich Drepper wrote:
    > > ~ alternatively use the symbol table the vdso has. Export the new code
    > > only via the symbol table. No fixed address for the function, the
    > > runtime gets it from the symbol table. glibc will use weak symbol
    > > references; if the symbol isn't there, the old code is used. This will
    > > require that every single optimized syscall needs to be handled special.
    > >
    > >
    > > I personally like the first approach better. The indirection table can
    > > maintained in sync with the syscall table inside the kernel. It all
    > > comes at all times from the same source. The overhead of the memory
    > > load should be neglectable.
    >
    > I like the second approach more. You can change glibc to look up the
    > weak symbol for _all_ syscalls, then none of them are special and it
    > will work with future kernel optimisations.

    There is one more piece to consider with either approach. The
    calling conventions.

    With the x86-64 optimized vsyscall the syscall number does
    not need to be placed into a register, because you have used
    the proper entry point. For any syscall worth tuning in
    user space I suspect that level of optimization would be
    beneficial. A fast call path that does not waste a register.

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


  • Next message: Eric W. Biederman: "Re: [RFC][PATCH] linux-2.6.2-rc2_vsyscall-gtod_B1.patch"

    Relevant Pages

    • Re: [RFC][PATCH] linux-2.6.2-rc2_vsyscall-gtod_B1.patch
      ... > With the x86-64 optimized vsyscall the syscall number does ... A fast call path that does not waste a register. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • [PATCH 5/12] UML - S390 preparation, save an extra register
      ... s390 tt-mode needs to save not only syscall number, ... further register also. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
      ... or cache flushes, or tlb flushes, or floating point. ... cache-related penalty for encoding the syscall number in the syscall ... the userspace programmer the use of the FPU in threadlets, ... it's a coprocessor register that is incorrectly emulated by ...
      (Linux-Kernel)
    • 64-bit syscall ABI issue
      ... When arguments of types narrower than a register are passed to a C ... passed an improperly extended value to a syscall, ... What should the kernel syscall ABI be in such cases (any case where the ... are narrower than registers and either extends ) or returns EINVAL ...
      (Linux-Kernel)
    • Re: [PATCH for testing] cow behaviour for hard links
      ... But introducing copyfile() ... linksyscall is hijacked for exactly that purpose and my ugly flag ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)