09 Jun, 2006

6 commits

  • There's a race between shutting down one io scheduler and firing up the
    next, in which a new io could enter and cause the io scheduler to be
    invoked with bad or NULL data.

    To fix this, we need to maintain the queue lock for a bit longer.
    Unfortunately we cannot do that, since the elevator init requires to be
    run without the lock held. This isn't easily fixable, without also
    changing the mempool API. So split the initialization into two parts,
    and alloc-init operation and an attach operation. Then we can
    preallocate the io scheduler and related structures, and run the attach
    inside the lock after we detach the old one.

    This patch has survived 30 minutes of 1 second io scheduler switching
    with a very busy io load.

    Signed-off-by: Jens Axboe
    Signed-off-by: Linus Torvalds

    Jens Axboe
     
  • From: Malcom Parsons

    When scrolling up in SCROLL_PAN_REDRAW mode with a large limited scroll
    region, the bottom few lines have to be redrawn. Without this patch, the
    wrong text is drawn into these lines, corrupting the display.

    Observed in 2.6.14 when running an IRC client in the Nintendo DS linux
    port.

    I haven't tested if scrolling down has the same problem.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Malcom Parsons
     
  • From: Ralf Baechle

    uses struct mm_struct and relies on a definition or
    declaration somehow magically being dragged in which may result in a
    build:

    [...]
    CC mm/mempolicy.o
    In file included from mm/mempolicy.c:69:
    include/linux/mempolicy.h:150: warning: ‘struct mm_struct’ declared inside parameter list
    include/linux/mempolicy.h:150: warning: its scope is only this definition or declaration, which is probably not what you want
    include/linux/mempolicy.h:175: warning: ‘struct mm_struct’ declared inside parameter list
    mm/mempolicy.c:622: error: conflicting types for ‘do_migrate_pages’
    include/linux/mempolicy.h:175: error: previous declaration of ‘do_migrate_pages’ was here
    mm/mempolicy.c:1661: error: conflicting types for ‘mpol_rebind_mm’
    include/linux/mempolicy.h:150: error: previous declaration of ‘mpol_rebind_mm’ was here
    make[1]: *** [mm/mempolicy.o] Error 1
    make: *** [mm] Error 2
    [ralf@denk linux-ip35]$

    Including is a step into direction of include hell so
    fixed by adding a forward declaration of struct mm_struct instead.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • From: Lennert Buytenhek

    The recent renaming of m48t86's ->readb() and ->writeb() platform driver
    methods (2d7b20c1884777e66009be1a533641c19c4705f6) to ->readbyte() and
    ->writebyte() to fix the ia64 build broke the build of the cirrus ep93xx
    ARM platform. This patch fixes it up.

    Signed-off-by: Lennert Buytenhek
    Cc: Alessandro Zummo
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lennert Buytenhek
     
  • From: "Andy Currid"

    This patch fixes a kernel panic during boot that occurs on NVIDIA platforms
    that have HPET enabled.

    When HPET is enabled, the standard timer IRQ is routed to IOAPIC pin 2 and is
    advertised as such in the ACPI APIC table - but an earlier workaround in the
    kernel was ignoring this override. The fix is to honor timer IRQ overrides
    from ACPI when HPET is detected on an NVIDIA platform.

    Signed-off-by: Andy Currid
    Cc: "Brown, Len"
    Cc: "Yu, Luming"
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Currid
     
  • From: "Andy Currid"

    This patch fixes a kernel panic during boot that occurs on NVIDIA platforms
    that have HPET enabled.

    When HPET is enabled, the standard timer IRQ is routed to IOAPIC pin 2 and is
    advertised as such in the ACPI APIC table - but an earlier workaround in the
    kernel was ignoring this override. The fix is to honor timer IRQ overrides
    from ACPI when HPET is detected on an NVIDIA platform.

    Signed-off-by: Andy Currid
    Cc: "Brown, Len"
    Cc: "Yu, Luming"
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Currid
     

06 Jun, 2006

34 commits