12 Jun, 2009

1 commit

  • It's theoretically possible that there are exception table entries
    which point into the (freed) init text of modules. These could cause
    future problems if other modules get loaded into that memory and cause
    an exception as we'd see the wrong fixup. The only case I know of is
    kvm-intel.ko (when CONFIG_CC_OPTIMIZE_FOR_SIZE=n).

    Amerigo fixed this long-standing FIXME in the x86 version, but this
    patch is more general.

    This implements trim_init_extable(); most archs are simple since they
    use the standard lib/extable.c sort code. Alpha and IA64 use relative
    addresses in their fixups, so thier trimming is a slight variation.

    Sparc32 is unique; it doesn't seem to define ARCH_HAS_SORT_EXTABLE,
    yet it defines its own sort_extable() which overrides the one in lib.
    It doesn't sort, so we have to mark deleted entries instead of
    actually trimming them.

    Inspired-by: Amerigo Wang
    Signed-off-by: Rusty Russell
    Cc: linux-alpha@vger.kernel.org
    Cc: sparclinux@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org

    Rusty Russell
     

07 Feb, 2008

1 commit

  • Actual code let compiler generates idiv instruction on x86.

    Using a right shift is OK here and readable as well.

    Before patch
    10: 57 push %edi
    11: 56 push %esi
    12: 89 d6 mov %edx,%esi
    14: 53 push %ebx
    15: 89 c3 mov %eax,%ebx
    17: eb 22 jmp 3b
    19: 89 f0 mov %esi,%eax
    1b: ba 02 00 00 00 mov $0x2,%edx
    20: 29 d8 sub %ebx,%eax
    22: 89 d7 mov %edx,%edi
    24: c1 f8 03 sar $0x3,%eax
    27: 99 cltd
    28: f7 ff idiv %edi
    2a: 8d 04 c3 lea (%ebx,%eax,8),%eax
    2d: 39 08 cmp %ecx,(%eax)
    ...

    After patch

    00000010 :
    10: 53 push %ebx
    11: 89 c3 mov %eax,%ebx
    13: eb 18 jmp 2d
    15: 89 d0 mov %edx,%eax
    17: 29 d8 sub %ebx,%eax
    19: c1 f8 04 sar $0x4,%eax
    1c: 8d 04 c3 lea (%ebx,%eax,8),%eax
    1f: 39 08 cmp %ecx,(%eax)
    ...

    Signed-off-by: Eric Dumazet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     

01 Jul, 2006

1 commit


10 Feb, 2006

1 commit


31 Oct, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds