09 Nov, 2006

26 commits

  • This refactoring actually optimizes the code a little by caching the value
    that we think the device is programmed with instead of reading it back from
    the hardware. Which simplifies the code a little and should speed things up a
    bit.

    This patch introduces the concept of a ht_irq_msg and modifies the
    architecture read/write routines to update this code.

    There is a minor consistency fix here as well as x86_64 forgot to initialize
    the htirq as masked.

    Signed-off-by: Eric W. Biederman
    Cc: Andi Kleen
    Acked-by: Bryan O'Sullivan
    Cc:
    Cc: Roland Dreier
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Signed-off-by: Alexey Dobriyan
    Acked-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Some more errors from the IPMI send message command are retryable, but are not
    being retried by the IPMI code. Make sure they get retried.

    Signed-off-by: Corey Minyard
    Cc: Frederic Lelievre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • A wrong function was being used to free a list; this fixes the problem.
    Otherwise, an oops at unload time was possible. But not likely, since you
    can't have any users when you unload the modules and it is very hard to get
    messages into this queue without users.

    Signed-off-by: Corey Minyard
    Cc: Patrick Schoeller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The basic issue is that despite have been deprecated and warned about as a
    very bad thing in the man pages since its inception there are a few real
    users of sys_sysctl. It was my assumption that because sysctl had been
    deprecated for all of 2.6 there would be no user space users by this point,
    so I initially gave sys_sysctl a very short deprecation period.

    Now that I know there are a few real users the only sane way to proceed
    with deprecation is to push the time limit out to a year or two work and
    work with distributions that have big testing pools like fedora core to
    find these last remaining users.

    Which means that the sys_sysctl interface needs to be maintained in the
    meantime.

    Since I have provided a technical measure that allows us to add new sysctl
    entries without reserving more binary numbers I believe that is enough to
    fix the sys_sysctl binary interface maintenance problems, because there is
    no longer a need to change the binary interface at all.

    Since the sys_sysctl implementation needs to stay around for a while and
    the worst of the maintenance issues that caused us to occasionally break
    the ABI have been addressed I don't see any advantage in continuing with
    the removal of sys_sysctl.

    So instead of merely increasing the deprecation period this patch removes
    the deprecation of sys_sysctl and modifies the kernel to compile the code
    in by default.

    With committing to maintain sys_sysctl we get all of the advantages of a
    fast interface for anything that needs it. Currently sys_sysctl is about
    5x faster than /proc/sys, for the same string data.

    Signed-off-by: Eric W. Biederman
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • When ACPI && NUMA, pxm_to_node is used and it exists in drivers/acpi/numa.c

    Tony said:

    The patch makes sense ... if you pick both of "ACPI" and "NUMA", then you
    need (and should automatically be given) ACPI_NUMA too.

    The only open question is whether there is a better way of getting there.
    Perhaps with less configuration options in the first place? We are heading
    towards a future where so many systems will be NUMA that there would seem to
    be little benefit in keeping ACPI_NUMA separate from ACPI ... but perhaps
    we aren't quite there yet.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Len Brown
    Acked-by: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • There are two bugs in the kretprobe-booster.

    1) It doesn't make room for gs registers.

    2) It doesn't change status of the current kprobe. This status will
    effect the fault handling.

    This patch fixes these bugs and, additionally, saves skipped registers for
    compatibility with the original kretprobe.

    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Masami Hiramatsu
     
  • If there's a swap file on a software RAID, it should be possible to use this
    file for saving the swsusp's suspend image. Also, this file should be
    available to the memory management subsystem when memory is being freed before
    the suspend image is created.

    For the above reasons it seems that md_threads should not be frozen during the
    suspend and the appended patch makes this happen, but then there is the
    question if they don't cause any data to be written to disks after the suspend
    image has been created, provided that all filesystems are frozen at that time.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • I forgot to has the size-in-blocks to (loff_t) before shifting up to a
    size-in-bytes.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • It turns out that CHANGE is preferred to ONLINE/OFFLINE for various reasons
    (not least of which being that udev understands it already).

    So remove the recently added KOBJ_OFFLINE (no-one is likely to care anyway)
    and change the ONLINE to a CHANGE event

    Cc: Kay Sievers
    Signed-off-by: Neil Brown
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tigran Aivazian
     
  • The Coverity checker noted that in
    drivers/telephony/ixj.c:ixj_build_filter_cadence(), filter_en[4] or
    filter_en[5] could be written to.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • All device-mapper targets must complete outstanding I/O before suspending.
    The mirror target generates I/O in its recovery phase and fails to wait for
    it. It needs to be tracked so we can ensure that it has completed before we
    suspend.

    [akpm@osdl.org: cleanup]
    Signed-off-by: Jonathan E Brassow
    Signed-off-by: Alasdair G Kergon
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jonathan E Brassow
     
  • When adding paths to the round-robin path selector, their order gets inverted,
    which is not desirable.

    Fix by replacing list_add() with list_add_tail().

    Signed-off-by: Jonathan E Brassow
    Signed-off-by: Alasdair G Kergon
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jonathan E Brassow
     
  • If the device is already suspended, just return the error and skip the code
    that would incorrectly wipe md->suspended_bdev.

    (This isn't currently a problem because existing code avoids calling this
    function if the device is already suspended.)

    Signed-off-by: Alasdair G Kergon
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • There is a race between dev_create() and find_device().

    If the mdptr has not yet been stored against a device, find_device() needs to
    behave as though no device was found. It already returns NULL, but there is a
    dm_put() missing: it must drop the reference dm_get_md() took.

    The bug was introduced by dm-fix-mapped-device-ref-counting.patch.

    It manifests itself if another dm ioctl attempts to reference a newly-created
    device while the device creation ioctl is still running. The consequence is
    that the device cannot be removed until the machine is rebooted. Certain udev
    configurations can lead to this happening.

    Signed-off-by: Alasdair G Kergon
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • o Currently there is no specific alignment restriction in linker script
    and in some cases it can be placed non 4K aligned addresses. This fails
    kexec which checks that segment to be loaded is page aligned.

    o I guess, it does not harm data segment to be 4K aligned.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • In the case where an open creates the file, we shouldn't be rechecking
    permissions to open the file; the open succeeds regardless of what the new
    file's mode bits say.

    This patch fixes the problem, but only by introducing yet another parameter
    to nfsd_create_v3. This is ugly. This will be fixed by later patches.

    Signed-off-by: J. Bruce Fields
    Acked-by: Neil Brown
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Minor rearrangement, cleanup of do_open_lookup(). No change in behavior.

    Signed-off-by: J. Bruce Fields
    Acked-by: Neil Brown
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • set_mb() is used by set_current_state() which needs mb(), not wmb(). I
    think it would be right to assume that set_mb() implies mb(), all arches
    seem to do just this.

    Signed-off-by: Oleg Nesterov
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • If the microcode driver is built in (rather than module) there are some,
    ehm, interesting effects happening due to the new "call out to userspace"
    behavior that is introduced.. and which runs too early. The result is a
    boot hang; which is really nasty.

    The patch below is a minimally safe patch to fix this regression for 2.6.19
    by just not requesting actual microcode updates during early boot. (That
    is a good idea in general anyway)

    The "real" fix is a lot more complex given the entire cpu hotplug scenario
    (during cpu hotplug you normally need to load the microcode as well); but
    the interactions for that are just really messy at this point; this fix at
    least makes it work and avoids a full detangle of hotplug.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • * merom:v2.6/linux:
    x86-64: write IO APIC irq routing entries in correct order
    x86-64: clean up io-apic accesses

    Linus Torvalds
     
  • This is the x86-64 version of f9dadfa71bc594df09044da61d1c72701121d802
    that did the same thing on i386.

    Since the "mask" bit is in the low word, when we write a new entry, we
    need to write the high word first, before we potentially unmask it.

    The exception is when we actually want to mask the interrupt, in which
    case we want to write the low word first to make sure that the high word
    doesn't change while the interrupt routing is still active.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • This is just commit 130fe05dbc0114609cfef9815c0c5580b42decfa ported to
    x86-64, for all the same reasons. It cleans up the IO-APIC accesses in
    order to then fix the ordering issues.

    We move the accessor functions (that were only used by io_apic.c) out of
    a header file, and use proper memory-mapped accesses rather than making
    up our own "volatile" pointers.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • This reverts commit de09bddb9d6f96785be470c832b881e6d72d589f. It tried
    to reserve the MMCONFIG mmio memory ranges, but since the MMCONFIG
    information is broken and often bogus (which is why we don't dare use it
    most of the time _anyway_), it does more harm than good.

    Cc: Jeff Chua
    Cc: Adrian Bunk
    Cc: Andi Kleen
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    [libata] sata_via: fix obvious typo

    Linus Torvalds
     

08 Nov, 2006

14 commits