24 Jan, 2007

16 commits


23 Jan, 2007

24 commits

  • Seems to be some left-over debug code.

    Cc: Len Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Chua
     
  • this patch fills in the portions for ia64 kexec.

    Signed-off-by: Simon Horman
    Cc: "Zou, Nanhai"
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Horms
     
  • Mohan Kumar suggested making kexec-tools-testing.tar.gz a link to the
    latest version. I have done this and this patch updates the documentation
    accordingly.

    Signed-off-by: Simon Horman
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Horms
     
  • This patch fixes a confusion reiserfs has for a long time.

    On release file operation reiserfs used to try to pack file data stored in
    last incomplete page of some files into metadata blocks. After packing the
    page got cleared with clear_page_dirty. It did not take into account that
    the page may be mmaped into other process's address space. Recent
    replacement for clear_page_dirty cancel_dirty_page found the confusion with
    sanity check that page has to be not mapped.

    The patch fixes the confusion by making reiserfs avoid tail packing if an
    inode was ever mmapped. reiserfs_mmap and reiserfs_file_release are
    serialized with mutex in reiserfs specific inode. reiserfs_mmap locks the
    mutex and sets a bit in reiserfs specific inode flags.
    reiserfs_file_release checks the bit having the mutex locked. If bit is
    set - tail packing is avoided. This eliminates a possibility that mmapped
    page gets cancel_page_dirty-ed.

    Signed-off-by: Vladimir Saveliev
    Cc: Jeff Mahoney
    Cc: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir Saveliev
     
  • Currently one can specify an arbitrary node mask to mbind that includes
    nodes not allowed. If that is done with an interleave policy then we will
    go around all the nodes. Those outside of the currently allowed cpuset
    will be redirected to the border nodes. Interleave will then create
    imbalances at the borders of the cpuset.

    This patch restricts the nodes to the currently allowed cpuset.

    The RFC for this patch was discussed at
    http://marc.theaimsgroup.com/?t=116793842100004&r=1&w=2

    Signed-off-by: Christoph Lameter
    Cc: Paul Jackson
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • The following patch fixes a few problems with the tlclk driver.
    * bug in the select_amcb1_transmit_clock
    * racy read sys call
    * racy open sys call
    * use of add_timer where mod_timer would be better
    * change to the timer data parameter use

    Signed-off-by: Mark Gross
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Gross
     
  • For large size DIO that needs multiple bio, one full page worth of data was
    lost at the boundary of bio's maximum sector or segment limits. After a
    bio is full and got submitted. The outer while (nbytes) { ... } loop will
    allocate a new bio and just march on to index into next page. It just
    forgets about the page that bio_add_page() rejected when previous bio is
    full. Fix it by put the rejected page back to pvec so we pick it up again
    for the next bio.

    Signed-off-by: Ken Chen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen, Kenneth W
     
  • This fixes the SH rtc driver correctly act on the "enabled" flag when
    setting an alarm.

    Signed-off-by: Jamie Lenehan
    Cc: David Brownell
    Cc: Alessandro Zummo
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jamie Lenehan
     
  • If a page is marked as dirty in the guest pte, set_pte_common() can set the
    writable bit on newly-instantiated shadow pte. This optimization avoids
    a write fault after the initial read fault.

    However, if a write fault instantiates the pte, fix_write_pf() incorrectly
    reports the fault as a guest page fault, and the guest oopses on what appears
    to be a correctly-mapped page.

    Fix is to detect the condition and only report a guest page fault on a user
    access to a kernel page.

    With the fix, a kvm guest can survive a whole night of running the kernel
    hacker's screensaver (make -j9 in a loop).

    Signed-off-by: Avi Kivity
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • The various bit string instructions (bts, btc, etc.) fail to adjust the
    address correctly if the bit address is beyond BITS_PER_LONG.

    This bug creeped in as the emulator originally relied on cr2 to contain the
    memory address; however we now decode it from the mod r/m bits, and must
    adjust the offset to account for large bit indices.

    The patch is rather large because it switches src and dst decoding around, so
    that the bit index is available when decoding the memory address.

    This fixes workloads like the FC5 installer.

    Signed-off-by: Avi Kivity
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • The kvm mmio read path looks like:

    1. guest read faults
    2. kvm emulates read, calls emulator_read_emulated()
    3. fails as a read requires userspace help
    4. exit to userspace
    5. userspace emulates read, kvm sets vcpu->mmio_read_completed
    6. re-enter guest, fault again
    7. kvm emulates read, calls emulator_read_emulated()
    8. succeeds as vcpu->mmio_read_emulated is set
    9. instruction completes and guest is resumed

    A problem surfaces if the userspace exit (step 5) also requests an interrupt
    injection. In that case, the guest does not re-execute the original
    instruction, but the interrupt handler. The next time an mmio read is
    exectued (likely for a different address), step 3 will find
    vcpu->mmio_read_completed set and return the value read for the original
    instruction.

    The problem manifested itself in a few annoying ways:
    - little squares appear randomly on console when switching virtual terminals
    - ne2000 fails under nfs read load
    - rtl8139 complains about "pci errors" even though the device model is
    incapable of issuing them.

    Fix by skipping interrupt injection if an mmio read is pending.

    A better fix is to avoid re-entry into the guest, and re-emulating immediately
    instead. However that's a bit more complex.

    Signed-off-by: Avi Kivity
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • This makes the vmwrite errors on vm shutdown go away.

    Signed-off-by: Avi Kivity
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • The paravirt subsystem is still in flux so all exports from it are
    definitely internal use only. The APIs around this /will/ change.

    Signed-off-by: Ingo Molnar
    Cc: Andi Kleen
    Cc: Zachary Amsden
    Cc: Jeremy Fitzhardinge
    Acked-by: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • Sing the praises of `gcc -W'. Would have prevented that blockdev direct-IO
    bug.

    Cc: "Chen, Kenneth W"
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • size_t is unsigned. IO errors aren't getting through.

    Cc: "Chen, Kenneth W"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Commit f2802e7f571c05f9a901b1f5bd144aa730ccc88e and its x86 version
    (b7471c6da94d30d3deadc55986cc38d1ff57f9ca) adds nmi_known_cpu() check
    while parsing boot options in x86_64 and i386.

    With that, "nmi_watchdog=2" stops working for me on Intel Core 2 CPU
    based system.

    The problem is, setup_nmi_watchdog is called while parsing the boot
    option and identify_cpu is not done yet. So, the return value of
    nmi_known_cpu() is not valid at this point.

    So revert that check. This should not have any adverse effect as the
    nmi_known_cpu() check is done again later in enable_lapic_nmi_watchdog().

    Signed-off-by: Venkatesh Pallipadi
    Cc: Don Zickus
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Venkatesh Pallipadi
     
  • export profile_hits() on !SMP too.

    Cc: Ingo Molnar
    Cc: Avi Kivity
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • The previous patch 'Repair snd-usb-usx2y for usb 2.6.18' assumed
    urb->start_frame roll over beyond MAX_INT for both UHCI & OHCI.
    This isn't true until now (kernel 2.6.20).
    Fix this by only looking at the common between OHCI & UHCI Frame number
    range.
    This is for mainline and stable kernels >= 2.6.18.

    Signed-off-by: Karsten Wiese
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Karsten Wiese
     
  • This will use pci_register_driver() instead of pci_module_init().

    Signed-off-by: Amit S. Kale
    Signed-off-by: Richard Knutsson
    Signed-off-by: Jeff Garzik

    Amit S. Kale
     
  • This patch is to make the driver work with multiple minor firmware versions

    Signed-off-by: Amit S. Kale
    Signed-off-by: Jeff Garzik

    Amit S. Kale
     
  • Fixed possible nullpointer access in event queue processing

    Signed-off-by: Thomas Klein
    Signed-off-by: Jeff Garzik

    Thomas Klein
     
  • Added logging of error events associated with a specific queue pair

    Signed-off-by: Thomas Klein
    Signed-off-by: Jeff Garzik

    Thomas Klein
     
  • Disabled dump of hcall regs on some permission issues and
    fixed appropriate misleading logmessages

    Signed-off-by: Thomas Klein
    Signed-off-by: Jeff Garzik

    Thomas Klein
     
  • Count OFDT nodes to determine the number of available ports
    instead of using the possibly outdated value from the hypervisor

    Signed-off-by: Thomas Klein
    Signed-off-by: Jeff Garzik

    Thomas Klein