05 Mar, 2008

29 commits

  • The memory controller has a requirement that while writing values, we need
    to use echo -n. This patch fixes the problem and makes the UI more consistent.

    Signed-off-by: Balbir Singh
    Cc: Paul Menage
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Balbir Singh
     
  • Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4
    (CONFIG_HIGHPTE vs. sub-page page tables) introduced use of
    inc_zone_page_state and dec_zone_page_state in include/linux/mm.h.

    Those are defined in include/linux/vmstat.h, but after it includes
    mm.h, making it impossible to include vmstat.h since inc_zone_page_state
    and dec_zone_page_state then would be undefined.

    arch/cris/arch-v10/kernel/time.c does just this, which makes the
    CRIS v10 build break with the following error:

    ...
    CC arch/cris/arch-v10/kernel/time.o
    In file included from include/linux/vmstat.h:7,
    from arch/cris/arch-v10/kernel/time.c:17:
    include/linux/mm.h: In function 'pgtable_page_ctor':
    include/linux/mm.h:902: error: implicit declaration of function 'inc_zone_page_state'
    include/linux/mm.h: In function 'pgtable_page_dtor':
    include/linux/mm.h:908: error: implicit declaration of function 'dec_zone_page_state'
    make[2]: *** [arch/cris/arch-v10/kernel/time.o] Error 1
    make[1]: *** [arch/cris/arch-v10/kernel] Error 2
    make: *** [sub-make] Error 2
    ...

    By changing kernel/time.c to include linux/mm.h, the build succeeds.

    Signed-off-by: Jesper Nilsson
    Cc: Mikael Starvik
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Nilsson
     
  • Thomas Lehmann verified that this
    entry works.

    Signed-off-by: Bjorn Helgaas
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • This version brings a number of minor fixes updating the type detector and
    the unary tracker. It also brings a few small fixes for false positives.
    It also reverts the --file warning. Of note:

    - limit CVS checks to added lines
    - improved type detections
    - fixes to the unary tracker

    Andy Whitcroft (13):
    Version: 0.15
    EXPORT_SYMBOL checks need to accept array variables
    export checks must match DECLARE_foo and LIST_HEAD
    possible types: cleanup debugging missing line
    values: track values through preprocessor conditional paths
    typeof is actually a type
    possible types: detect definitions which cross lines
    values: include line numbers on value debug information
    values: ensure we find correctly record pending brackets
    values: simplify the brace history stack
    CVS keyword checks should only apply to added lines
    loosen spacing for comments
    allow braces for single statement blocks with multiline conditionals

    Harvey Harrison (1):
    checkpatch: remove fastcall

    Ingo Molnar (1):
    checkpatch.pl: revert wrong --file message

    Uwe Kleine-Koenig (1):
    fix typo "goot" -> "good"

    Signed-off-by: Andy Whitcroft
    Cc: Randy Dunlap
    Cc: Joel Schopp
    Cc: Ingo Molnar
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     
  • The documentation says the default value of notify_on_release of a child
    cgroup is inherited from its parent, which is reasonable, but the
    implementation just sets the flag disabled.

    Signed-off-by: Li Zefan
    Acked-by: Paul Menage
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • P4 has been coming out as CPU_FAMILY=4 instead of 6: fix MPENTIUM4 typo.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    scsi: missing add of padded bytes to io completion byte count

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:
    [PATCH] fs/ocfs2/aops.c: Correct use of ! and &
    [2.6 patch] ocfs2: make dlm_do_assert_master() static
    [2.6 patch] make ocfs2_downconvert_thread() static
    [2.6 patch] fs/ocfs2/: possible cleanups
    [PATCH] ocfs2: le*_add_cpu conversion
    ocfs2: Fix writeout in ocfs2_data_convert_worker()
    ocfs2: Enable localalloc for local mounts

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
    ioat: fix 'ack' handling, driver must ensure that 'ack' is zero
    dmaengine: fix sparse warning
    fsldma: do not cleanup descriptors in hardirq context
    dmaengine: add driver for Freescale MPC85xx DMA controller

    Linus Torvalds
     
  • Original patch from Tejun Heo but should use ->extra_len
    and not ->data_len, as we would then overshoot the original request size.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • …linux-2.6-sched-devel

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel:
    sched: revert load_balance_monitor() changes

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
    x86/xen: fix DomU boot problem
    x86: not set node to cpu_to_node if the node is not online
    x86, i387: fix ptrace leakage using init_fpu()

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
    x86: disable KVM for Voyager and friends
    KVM: VMX: Avoid rearranging switched guest msrs while they are loaded
    KVM: MMU: Fix race when instantiating a shadow pte
    KVM: Route irq 0 to vcpu 0 exclusively
    KVM: Avoid infinite-frequency local apic timer
    KVM: make MMU_DEBUG compile again
    KVM: move alloc_apic_access_page() outside of non-preemptable region
    KVM: SVM: fix Windows XP 64 bit installation crash
    KVM: remove the usage of the mmap_sem for the protection of the memory slots.
    KVM: emulate access to MSR_IA32_MCG_CTL
    KVM: Make the supported cpuid list a host property rather than a vm property
    KVM: Fix kvm_arch_vcpu_ioctl_set_sregs so that set_cr0 works properly
    KVM: SVM: set NM intercept when enabling CR0.TS in the guest
    KVM: SVM: Fix lazy FPU switching

    Linus Torvalds
     
  • Initialize 'ack' to zero in case the descriptor has been recycled.

    Prevents "kernel BUG at crypto/async_tx/async_xor.c:185!"

    Signed-off-by: Dan Williams
    Acked-by: Shannon Nelson
    Cc: stable@kernel.org

    Dan Williams
     
  • include/linux/dmaengine.h:364:2: warning: returning void-valued expression

    Signed-off-by: Dan Williams

    Dan Williams
     
  • "Cleaning" descriptors involves calling pending callbacks and clients
    assume that their callback will only ever happen in softirq context.
    Delay cleanup to the tasklet.

    Signed-off-by: Dan Williams
    Acked-by: Zhang Wei

    Dan Williams
     
  • The driver implements DMA engine API for Freescale MPC85xx DMA controller,
    which could be used by devices in the silicon. The driver supports the
    Basic mode of Freescale MPC85xx DMA controller. The MPC85xx processors
    supported include MPC8540/60, MPC8555, MPC8548, MPC8641 and so on.

    The MPC83xx(MPC8349, MPC8360) are also supported.

    [kamalesh@linux.vnet.ibm.com: build fix]
    [dan.j.williams@intel.com: merge mm fixes, rebase on async_tx-2.6.25]
    Signed-off-by: Zhang Wei
    Signed-off-by: Ebony Zhu
    Acked-by: Kumar Gala
    Cc: Shannon Nelson
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Dan Williams

    Zhang Wei
     
  • The following commits cause a number of regressions:

    commit 58e2d4ca581167c2a079f4ee02be2f0bc52e8729
    Author: Srivatsa Vaddagiri
    Date: Fri Jan 25 21:08:00 2008 +0100
    sched: group scheduling, change how cpu load is calculated

    commit 6b2d7700266b9402e12824e11e0099ae6a4a6a79
    Author: Srivatsa Vaddagiri
    Date: Fri Jan 25 21:08:00 2008 +0100
    sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups

    Namely:
    - very frequent wakeups on SMP, reported by PowerTop users.
    - cacheline trashing on (large) SMP
    - some latencies larger than 500ms

    While there is a mergeable patch to fix the latter, the former issues
    are not fixable in a manner suitable for .25 (we're at -rc3 now).

    Hence we revert them and try again in v2.6.26.

    Signed-off-by: Peter Zijlstra
    CC: Srivatsa Vaddagiri
    Tested-by: Alexey Zaytsev
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Construct Xen guest e820 map with a hole between 640K-1M.

    It's pure luck that Xen kernels have gotten away with it in the past.

    The patch below seems like the right thing to do. It certainly boots in
    a domU without the DMI problem (without any of the other related patches
    such as Alexander's).

    Signed-off-by: Ian Campbell
    Cc: H. Peter Anvin
    Cc: Jeremy Fitzhardinge
    Tested-by: Mark McLoughlin
    Acked-by: Mark McLoughlin
    Signed-off-by: Ingo Molnar
    Acked-by: Thomas Gleixner

    Ian Campbell
     
  • resolve boot problem reported by Mel Gorman:

    http://lkml.org/lkml/2008/2/13/404

    init_cpu_to_node will use cpu->apic (from MADT or mptable) and
    apic->node(from SRAT or AMD config space with k8_bus_64.c) to have
    cpu->node mapping, and later identify_cpu will overwrite them
    again...(with nearby_node...)

    this patch checks if the node is online, otherwise it will not
    update cpu_node map. so keep cpu_node map to online node before
    identify_cpu..., to prevent possible error.

    Signed-off-by: Yinghai Lu
    Signed-off-by: Ingo Molnar
    Acked-by: Thomas Gleixner

    Yinghai Lu
     
  • This bug got introduced by the recent i387 merge:

    commit 4421011120b2304e5c248ae4165a2704588aedf1
    Author: Roland McGrath
    Date: Wed Jan 30 13:31:50 2008 +0100

    x86: x86 i387 user_regset

    Current usage of unlazy_fpu() in ptrace specific routines is wrong.
    unlazy_fpu() will not init fpu if the task never used math. So the
    ptrace calls can expose the parent tasks FPU data in some cases.

    Replace it with the init_fpu() which will init the math state, if the
    task never used math before.

    Signed-off-by: Suresh Siddha
    Signed-off-by: Ingo Molnar
    Acked-by: Thomas Gleixner

    Suresh Siddha
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: fix blkdev_issue_flush() not detecting and passing EOPNOTSUPP back
    block: fix shadowed variable warning in blk-map.c
    block: remove extern on function definition
    cciss: remove READ_AHEAD define and use block layer defaults
    make cdrom.c:check_for_audio_disc() static
    block/genhd.c: proper externs
    unexport blk_rq_map_user_iov
    unexport blk_{get,put}_queue
    block/genhd.c: cleanups
    proper prototype for blk_dev_init()
    block/blk-tag.c should #include "blk.h"
    Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory
    block: separate out padding from alignment
    block: restore the meaning of rq->data_len to the true data length
    resubmit: cciss: procfs updates to display info about many
    splice: only return -EAGAIN if there's hope of more data
    block: fix kernel-docbook parameters and files

    Linus Torvalds
     
  • m68k{,nommu}: Wire up the new timerfd syscalls, which were introduced in
    commit 4d672e7ac79b5ec5cdc90e450823441e20464691 ("timerfd: new timerfd API").

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • The FEC driver has a common interrupt handler for all interrupt event
    types. It is raised on a number of distinct interrupt vectors.
    This handler can't be re-entered while processing an interrupt, so
    make sure all requested vectors are flagged as IRQF_DISABLED.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Need a declaration of do_IRQ for the 68328 interrupt handling code.
    It is common to all m68knommu targets, so a common declaration makes
    sense.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Remove duplicate hw_tick() function from 68328 timers code.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Update the m68knommu defconfig.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Commit 5ce2087ed0eb424e0889bdc9102727f65d2ecdde (Fix default compose
    table initialization) left a trailing quote.

    CC drivers/s390/char/defkeymap.o
    drivers/s390/char/defkeymap.c:155: error: missing terminating ' character
    drivers/s390/char/defkeymap.c:156: error: syntax error before ';' token
    make[3]: *** [drivers/s390/char/defkeymap.o] Error 1

    Fix that.

    Signed-off-by: Tony Breeds
    Signed-off-by: Linus Torvalds

    Tony Breeds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    [CIFS] remove unused variable
    [CIFS] consolidate duplicate code in posix/unix inode handling
    [CIFS] fix build break when proc disabled
    [CIFS] factoring out common code in get_inode_info functions
    [CIFS] fix prepath conversion when server supports posix paths
    [CIFS] Only convert / when server does not support posix paths
    [CIFS] Fix mixed case name in structure dfs_info3_param
    [CIFS] fixup prefixpaths which contain multiple path components
    [CIFS] fix typo
    [CIFS] patch to fix incorrect encoding of number of aces on set mode
    [CIFS] Fix typo in quota operations
    [CIFS] clean up some hard to read ifdefs
    [CIFS] reduce checkpatch warnings
    [CIFS] fix warning in cifs_spnego.c

    Linus Torvalds
     

04 Mar, 2008

11 commits

  • This changes the "freezer" code used by suspend/hibernate in its treatment
    of tasks in TASK_STOPPED (job control stop) and TASK_TRACED (ptrace) states.

    As I understand it, the intent of the "freezer" is to hold all tasks
    from doing anything significant. For this purpose, TASK_STOPPED and
    TASK_TRACED are "frozen enough". It's possible the tasks might resume
    from ptrace calls (if the tracer were unfrozen) or from signals
    (including ones that could come via timer interrupts, etc). But this
    doesn't matter as long as they quickly block again while "freezing" is
    in effect. Some minor adjustments to the signal.c code make sure that
    try_to_freeze() very shortly follows all wakeups from both kinds of
    stop. This lets the freezer code safely leave stopped tasks unmolested.

    Changing this fixes the longstanding bug of seeing after resuming from
    suspend/hibernate your shell report "[1] Stopped" and the like for all
    your jobs stopped by ^Z et al, as if you had freshly fg'd and ^Z'd them.
    It also removes from the freezer the arcane special case treatment for
    ptrace'd tasks, which relied on intimate knowledge of ptrace internals.

    Signed-off-by: Roland McGrath
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • Most classic Pentiums don't have hardware virtualization extension,
    and building kvm with Voyager, Visual Workstation, or NUMAQ
    generates spurious failures.

    Signed-off-by: Avi Kivity
    Signed-off-by: Randy Dunlap

    Randy Dunlap
     
  • KVM tries to run as much as possible with the guest msrs loaded instead of
    host msrs, since switching msrs is very expensive. It also tries to minimize
    the number of msrs switched according to the guest mode; for example,
    MSR_LSTAR is needed only by long mode guests. This optimization is done by
    setup_msrs().

    However, we must not change which msrs are switched while we are running with
    guest msr state:

    - switch to guest msr state
    - call setup_msrs(), removing some msrs from the list
    - switch to host msr state, leaving a few guest msrs loaded

    An easy way to trigger this is to kexec an x86_64 linux guest. Early during
    setup, the guest will switch EFER to not include SCE. KVM will stop saving
    MSR_LSTAR, and on the next msr switch it will leave the guest LSTAR loaded.
    The next host syscall will end up in a random location in the kernel.

    Fix by reloading the host msrs before changing the msr list.

    Signed-off-by: Avi Kivity

    Avi Kivity
     
  • For improved concurrency, the guest walk is performed concurrently with other
    vcpus. This means that we need to revalidate the guest ptes once we have
    write-protected the guest page tables, at which point they can no longer be
    modified.

    The current code attempts to avoid this check if the shadow page table is not
    new, on the assumption that if it has existed before, the guest could not have
    modified the pte without the shadow lock. However the assumption is incorrect,
    as the racing vcpu could have modified the pte, then instantiated the shadow
    page, before our vcpu regains control:

    vcpu0 vcpu1

    fault
    walk pte

    modify pte
    fault in same pagetable
    instantiate shadow page

    lookup shadow page
    conclude it is old
    instantiate spte based on stale guest pte

    We could do something clever with generation counters, but a test run by
    Marcelo suggests this is unnecessary and we can just do the revalidation
    unconditionally. The pte will be in the processor cache and the check can
    be quite fast.

    Signed-off-by: Avi Kivity

    Avi Kivity
     
  • Some Linux versions allow the timer interrupt to be processed by more than
    one cpu, leading to hangs due to tsc instability. Work around the issue
    by only disaptching the interrupt to vcpu 0.

    Problem analyzed (and patch tested) by Sheng Yang.

    Signed-off-by: Avi Kivity

    Avi Kivity
     
  • If the local apic initial count is zero, don't start a an hrtimer with infinite
    frequency, locking up the host.

    Signed-off-by: Avi Kivity

    Avi Kivity
     
  • the cr3 variable is now inside the vcpu->arch structure.

    Signed-off-by: Marcelo Tosatti
    Signed-off-by: Avi Kivity

    Marcelo Tosatti
     
  • alloc_apic_access_page() can sleep, while vmx_vcpu_setup is called
    inside a non preemptable region. Move it after put_cpu().

    Signed-off-by: Marcelo Tosatti
    Signed-off-by: Avi Kivity

    Marcelo Tosatti
     
  • While installing Windows XP 64 bit wants to access the DEBUGCTL and the last
    branch record (LBR) MSRs. Don't allowing this in KVM causes the installation to
    crash. This patch allow the access to these MSRs and fixes the issue.

    Signed-off-by: Joerg Roedel
    Signed-off-by: Markus Rechberger
    Signed-off-by: Avi Kivity

    Joerg Roedel
     
  • This patch replaces the mmap_sem lock for the memory slots with a new
    kvm private lock, it is needed beacuse untill now there were cases where
    kvm accesses user memory while holding the mmap semaphore.

    Signed-off-by: Izik Eidus
    Signed-off-by: Avi Kivity

    Izik Eidus
     
  • This is important to eg dm, that tries to decide whether to stop using
    barriers or not.

    Tested as working by Anders Henke

    Signed-off-by: Jens Axboe

    Jens Axboe