Permalink
Switch branches/tags
Commits on Apr 9, 2009
  1. MN10300: Kill MN10300's own profiling Kconfig

    dhowells committed with torvalds Apr 9, 2009
    Kill MN10300's own profiling Kconfig as this is superfluous given that the
    profiling options have moved to init/Kconfig and arch/Kconfig.  Not only is
    this now superfluous, but the dependencies are not correct.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  2. FRV: Use <asm-generic/pgtable.h> in NOMMU mode

    dhowells committed with torvalds Apr 9, 2009
    asm-frv/pgtable.h could just #include <asm-generic/pgtable.h> in NOMMU mode
    rather than #defining macros for lazy MMU and CPU stuff.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  3. keys: Handle there being no fallback destination keyring for request_…

    dhowells committed with torvalds Apr 9, 2009
    …key()
    
    When request_key() is called, without there being any standard process
    keyrings on which to fall back if a destination keyring is not specified, an
    oops is liable to occur when construct_alloc_key() calls down_write() on
    dest_keyring's semaphore.
    
    Due to function inlining this may be seen as an oops in down_write() as called
    from request_key_and_link().
    
    This situation crops up during boot, where request_key() is called from within
    the kernel (such as in CIFS mounts) where nobody is actually logged in, and so
    PAM has not had a chance to create a session keyring and user keyrings to act
    as the fallback.
    
    To fix this, make construct_alloc_key() not attempt to cache a key if there is
    no fallback key if no destination keyring is given specifically.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Tested-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  4. afs: BUG to BUG_ON changes

    Stoyan Gaydarov committed with torvalds Apr 9, 2009
    Signed-off-by: Stoyan Gaydarov <stoyboyker@gmail.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  5. Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/li…

    torvalds committed Apr 9, 2009
    …nux/kernel/git/tip/linux-2.6-tip
    
    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      x86: cpu_debug remove execute permission
      x86: smarten /proc/interrupts output for new counters
      x86: DMI match for the Dell DXP061 as it needs BIOS reboot
      x86: make 64 bit to use default_inquire_remote_apic
      x86, setup: un-resequence mode setting for VGA 80x34 and 80x60 modes
      x86, intel-iommu: fix X2APIC && !ACPI build failure
  6. Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/sc…

    torvalds committed Apr 9, 2009
    …m/linux/kernel/git/tip/linux-2.6-tip
    
    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      tracing: consolidate documents
      blktrace: pass the right pointer to kfree()
      tracing/syscalls: use a dedicated file header
      tracing: append a comma to INIT_FTRACE_GRAPH
  7. Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/…

    torvalds committed Apr 9, 2009
    …linux/kernel/git/tip/linux-2.6-tip
    
    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      sched: do not count frozen tasks toward load
      sched: refresh MAINTAINERS entry
      sched: Print sched_group::__cpu_power in sched_domain_debug
      cpuacct: add per-cgroup utime/stime statistics
      posixtimers, sched: Fix posix clock monotonicity
      sched_rt: don't allocate cpumask in fastpath
      cpuacct: make cpuacct hierarchy walk in cpuacct_charge() safe when rcupreempt is used -v2
  8. Merge branches 'core-fixes-for-linus', 'irq-fixes-for-linus' and 'tim…

    torvalds committed Apr 9, 2009
    …ers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      printk: fix wrong format string iter for printk
      futex: comment requeue key reference semantics
    
    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      irq: fix cpumask memory leak on offstack cpumask kernels
    
    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      posix-timers: fix RLIMIT_CPU && setitimer(CPUCLOCK_PROF)
      posix-timers: fix RLIMIT_CPU && fork()
      timers: add missing kernel-doc
  9. MN10300: Convert obsolete no_irq_type to no_irq_chip

    Thomas Gleixner committed with torvalds Apr 9, 2009
    Convert the last remaining users to no_irq_chip.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  10. Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm

    torvalds committed Apr 9, 2009
    * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
      dm kcopyd: fix callback race
      dm kcopyd: prepare for callback race fix
      dm: implement basic barrier support
      dm: remove dm_request loop
      dm: rework queueing and suspension
      dm: simplify dm_request loop
      dm: split DMF_BLOCK_IO flag into two
      dm: rearrange dm_wq_work
      dm: remove limited barrier support
      dm: add integrity support
  11. module: try_then_request_module must wait

    herbertx committed with torvalds Apr 9, 2009
    Since the whole point of try_then_request_module is to retry
    the operation after a module has been loaded, we must wait for
    the module to fully load.
    
    Otherwise all sort of things start breaking, e.g., you won't
    be able to read your encrypted disks on the first attempt.
    
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Tested-by: Maciej Rutecki <maciej.rutecki@gmail.com>
    Tested-by: Patrick McHardy <kaber@trash.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  12. sched: do not count frozen tasks toward load

    nathanlynch committed with Ingo Molnar Apr 9, 2009
    Freezing tasks via the cgroup freezer causes the load average to climb
    because the freezer's current implementation puts frozen tasks in
    uninterruptible sleep (D state).
    
    Some applications which perform job-scheduling functions consult the
    load average when making decisions.  If a cgroup is frozen, the load
    average does not provide a useful measure of the system's utilization
    to such applications.  This is especially inconvenient if the job
    scheduler employs the cgroup freezer as a mechanism for preempting low
    priority jobs.  Contrast this with using SIGSTOP for the same purpose:
    the stopped tasks do not count toward system load.
    
    Change task_contributes_to_load() to return false if the task is
    frozen.  This results in /proc/loadavg behavior that better meets
    users' expectations.
    
    Signed-off-by: Nathan Lynch <ntl@pobox.com>
    Acked-by: Andrew Morton <akpm@linux-foundation.org>
    Acked-by: Nigel Cunningham <nigel@tuxonice.net>
    Tested-by: Nigel Cunningham <nigel@tuxonice.net>
    Cc: <stable@kernel.org>
    Cc: containers@lists.linux-foundation.org
    Cc: linux-pm@lists.linux-foundation.org
    Cc: Matt Helsley <matthltc@us.ibm.com>
    LKML-Reference: <20090408194512.47a99b95@manatee.lan>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  13. tracing: consolidate documents

    Li Zefan committed with Ingo Molnar Apr 9, 2009
    Move kmemtrace.txt, tracepoints.txt, ftrace.txt and mmiotrace.txt to
    the new trace/ directory.
    
    I didnt find any references to those documents in both source
    files and documents, so no extra work needs to be done.
    
    Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
    Acked-by: Pekka Paalanen <pq@iki.fi>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
    LKML-Reference: <49DD6E2B.6090200@cn.fujitsu.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  14. x86: cpu_debug remove execute permission

    Jaswinder Singh Rajput committed with Ingo Molnar Apr 8, 2009
    It seems by mistake these files got execute permissions so removing it.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
    LKML-Reference: <1239211186.9037.2.camel@ht.satnam>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  15. blktrace: pass the right pointer to kfree()

    Li Zefan committed with Ingo Molnar Apr 9, 2009
    Impact: fix kfree crash with non-standard act_mask string
    
    If passing a string with leading white spaces to strstrip(),
    the returned ptr != the original ptr.
    
    This bug was introduced by me.
    
    Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
    Cc: Jens Axboe <jens.axboe@oracle.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    LKML-Reference: <49DD694C.8020902@cn.fujitsu.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  16. tracing/syscalls: use a dedicated file header

    fweisbec committed with Ingo Molnar Apr 8, 2009
    Impact: fix build warnings and possibe compat misbehavior on IA64
    
    Building a kernel on ia64 might trigger these ugly build warnings:
    
    CC      arch/ia64/ia32/sys_ia32.o
    In file included from arch/ia64/ia32/sys_ia32.c:55:
    arch/ia64/ia32/ia32priv.h:290:1: warning: "elf_check_arch" redefined
    In file included from include/linux/elf.h:7,
                     from include/linux/module.h:14,
                     from include/linux/ftrace.h:8,
                     from include/linux/syscalls.h:68,
                     from arch/ia64/ia32/sys_ia32.c:18:
    arch/ia64/include/asm/elf.h:19:1: warning: this is the location of the previous definition
    [...]
    
    sys_ia32.c includes linux/syscalls.h which in turn includes linux/ftrace.h
    to import the syscalls tracing prototypes.
    
    But including ftrace.h can pull too much things for a low level file,
    especially on ia64 where the ia32 private headers conflict with higher
    level headers.
    
    Now we isolate the syscall tracing headers in their own lightweight file.
    
    Reported-by: Tony Luck <tony.luck@intel.com>
    Tested-by: Tony Luck <tony.luck@intel.com>
    Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
    Acked-by: Tony Luck <tony.luck@intel.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Jason Baron <jbaron@redhat.com>
    Cc: "Frank Ch. Eigler" <fche@redhat.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
    Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
    Cc: Jiaying Zhang <jiayingz@google.com>
    Cc: Michael Rubin <mrubin@google.com>
    Cc: Martin Bligh <mbligh@google.com>
    Cc: Michael Davidson <md@google.com>
    LKML-Reference: <20090408184058.GB6017@nowhere>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  17. Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-f…

    torvalds committed Apr 9, 2009
    …or-linus
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
      work_on_cpu(): rewrite it to create a kernel thread on demand
      kthread: move sched-realeted initialization from kthreadd context
      kthread: Don't looking for a task in create_kthread() #2
  18. Merge git://git.infradead.org/battery-2.6

    torvalds committed Apr 9, 2009
    * git://git.infradead.org/battery-2.6:
      pda_power: Add optional OTG transceiver and voltage regulator support
      pcf50633_charger: Remove unused mbc_set_status function
      pcf50633_charger: Enable periodic charging restart
  19. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Apr 9, 2009
    …/git/jmorris/security-testing-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
      cap_prctl: don't set error to 0 at 'no_change'
  20. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

    torvalds committed Apr 9, 2009
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      igb: remove sysfs entry that was used to set the number of vfs
      igbvf: add new driver to support 82576 virtual functions
      drivers/net/eql.c: Fix a dev leakage.
      niu: Fix unused variable warning.
      r6040: set MODULE_VERSION
      bnx2: Don't use reserved names
      FEC driver: add missing #endif
      niu: Fix error handling
      mv643xx_eth: don't reset the rx coal timer on interface up
      smsc911x: correct debugging message on mii read timeout
      ethoc: fix library build errors
      netfilter: ctnetlink: fix regression in expectation handling
      netfilter: fix selection of "LED" target in netfilter
      netfilter: ip6tables regression fix
  21. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

    torvalds committed Apr 9, 2009
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
      sparc: Hook up sys_preadv and sys_pwritev
      sparc64: add_node_ranges() must be __init
      serial: sunsu: sunsu_kbd_ms_init needs to be __devinit
      sparc: Fix section mismatch warnings in cs4231 sound driver.
      sparc64: Fix section mismatch warnings in PCI controller drivers.
      sparc64: Fix section mismatch warnings in power driver.
      sparc64: get_cells() can't be marked __init
  22. Merge branch 'ext3-latency-fixes' of git://git.kernel.org/pub/scm/lin…

    torvalds committed Apr 9, 2009
    …ux/kernel/git/tytso/ext4
    
    * 'ext3-latency-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
      ext3: Try to avoid starting a transaction in writepage for data=writepage
      block_write_full_page: switch synchronous writes to use WRITE_SYNC_PLUG
  23. work_on_cpu(): rewrite it to create a kernel thread on demand

    akpm00 committed with rustyrussell Apr 9, 2009
    Impact: circular locking bugfix
    
    The various implemetnations and proposed implemetnations of work_on_cpu()
    are vulnerable to various deadlocks because they all used queues of some
    form.
    
    Unrelated pieces of kernel code thus gained dependencies wherein if one
    work_on_cpu() caller holds a lock which some other work_on_cpu() callback
    also takes, the kernel could rarely deadlock.
    
    Fix this by creating a short-lived kernel thread for each work_on_cpu()
    invokation.
    
    This is not terribly fast, but the only current caller of work_on_cpu() is
    pci_call_probe().
    
    It would be nice to find some other way of doing the node-local
    allocations in the PCI probe code so that we can zap work_on_cpu()
    altogether.  The code there is rather nasty.  I can't think of anything
    simple at this time...
    
    Cc: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  24. kthread: move sched-realeted initialization from kthreadd context

    utrace committed with rustyrussell Apr 9, 2009
    kthreadd is the single thread which implements ths "create" request, move
    sched_setscheduler/etc from create_kthread() to kthread_create() to
    improve the scalability.
    
    We should be careful with sched_setscheduler(), use _nochek helper.
    
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: "Eric W. Biederman" <ebiederm@xmission.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Pavel Emelyanov <xemul@openvz.org>
    Cc: Vitaliy Gusev <vgusev@openvz.org
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  25. kthread: Don't looking for a task in create_kthread() #2

    Vitaliy Gusev committed with rustyrussell Apr 9, 2009
    Remove the unnecessary find_task_by_pid_ns(). kthread() can just
    use "current" to get the same result.
    
    Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
    Acked-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Commits on Apr 8, 2009
  1. dm kcopyd: fix callback race

    Mikulas Patocka committed with kergon Apr 8, 2009
    If the thread calling dm_kcopyd_copy is delayed due to scheduling inside
    split_job/segment_complete and the subjobs complete before the loop in
    split_job completes, the kcopyd callback could be invoked from the
    thread that called dm_kcopyd_copy instead of the kcopyd workqueue.
    
    dm_kcopyd_copy -> split_job -> segment_complete -> job->fn()
    
    Snapshots depend on the fact that callbacks are called from the singlethreaded
    kcopyd workqueue and expect that there is no racing between individual
    callbacks. The racing between callbacks can lead to corruption of exception
    store and it can also mean that exception store callbacks are called twice
    for the same exception - a likely reason for crashes reported inside
    pending_complete() / remove_exception().
    
    This patch fixes two problems:
    
    1. job->fn being called from the thread that submitted the job (see above).
    
    - Fix: hand over the completion callback to the kcopyd thread.
    
    2. job->fn(read_err, write_err, job->context); in segment_complete
    reports the error of the last subjob, not the union of all errors.
    
    - Fix: pass job->write_err to the callback to report all error bits
      (it is done already in run_complete_job)
    
    Cc: stable@kernel.org
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  2. dm kcopyd: prepare for callback race fix

    Mikulas Patocka committed with kergon Apr 8, 2009
    Use a variable in segment_complete() to point to the dm_kcopyd_client
    struct and only release job->pages in run_complete_job() if any are
    defined.  These changes are needed by the next patch.
    
    Cc: stable@kernel.org
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  3. dm: implement basic barrier support

    Mikulas Patocka committed with kergon Apr 8, 2009
    Barriers are submitted to a worker thread that issues them in-order.
    
    The thread is modified so that when it sees a barrier request it waits
    for all pending IO before the request then submits the barrier and
    waits for it.  (We must wait, otherwise it could be intermixed with
    following requests.)
    
    Errors from the barrier request are recorded in a per-device barrier_error
    variable. There may be only one barrier request in progress at once.
    
    For now, the barrier request is converted to a non-barrier request when
    sending it to the underlying device.
    
    This patch guarantees correct barrier behavior if the underlying device
    doesn't perform write-back caching. The same requirement existed before
    barriers were supported in dm.
    
    Bottom layer barrier support (sending barriers by target drivers) and
    handling devices with write-back caches will be done in further patches.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  4. dm: remove dm_request loop

    Mikulas Patocka committed with kergon Apr 8, 2009
    Remove queue_io return value and a loop in dm_request.
    
    IO may be submitted to a worker thread with queue_io().  queue_io() sets
    DMF_QUEUE_IO_TO_THREAD so that all further IO is queued for the thread. When
    the thread finishes its work, it clears DMF_QUEUE_IO_TO_THREAD and from this
    point on, requests are submitted from dm_request again. This will be used
    for processing barriers.
    
    Remove the loop in dm_request. queue_io() can submit I/Os to the worker thread
    even if DMF_QUEUE_IO_TO_THREAD was not set.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  5. dm: rework queueing and suspension

    Mikulas Patocka committed with kergon Apr 8, 2009
    Rework shutting down on suspend and document the associated rules.
    
    Drop write lock in __split_and_process_bio to allow more processing
    concurrency.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  6. dm: simplify dm_request loop

    kergon committed Apr 8, 2009
    Refactor the code in dm_request().
    
    Require the new DMF_BLOCK_FOR_SUSPEND flag on readahead bios we will
    discard so we don't drop such bios while processing a barrier.
    
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  7. dm: split DMF_BLOCK_IO flag into two

    kergon committed Apr 8, 2009
    Split the DMF_BLOCK_IO flag into two.
    
    DMF_BLOCK_IO_FOR_SUSPEND is set when I/O must be blocked while suspending a
    device.  DMF_QUEUE_IO_TO_THREAD is set when I/O must be queued to a
    worker thread for later processing.
    
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  8. dm: rearrange dm_wq_work

    kergon committed Apr 8, 2009
    Refactor dm_wq_work() to make later patch more readable.
    
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  9. dm: remove limited barrier support

    Mikulas Patocka committed with kergon Apr 8, 2009
    Prepare for full barrier implementation: first remove the restricted support.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  10. dm: add integrity support

    Martin K. Petersen committed with kergon Apr 8, 2009
    This patch provides support for data integrity passthrough in the device
    mapper.
    
     - If one or more component devices support integrity an integrity
       profile is preallocated for the DM device.
    
     - If all component devices have compatible profiles the DM device is
       flagged as capable.
    
     - Handle integrity metadata when splitting and cloning bios.
    
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Alasdair G Kergon <agk@redhat.com>