1. 27 10月, 2010 26 次提交
    • D
      oom: rewrite error handling for oom_adj and oom_score_adj tunables · 723548bf
      David Rientjes 提交于
      It's better to use proper error handling in oom_adjust_write() and
      oom_score_adj_write() instead of duplicating the locking order on various
      exit paths.
      Suggested-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Ying Han <yinghan@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      723548bf
    • D
      oom: kill all threads sharing oom killed task's mm · 1e99bad0
      David Rientjes 提交于
      It's necessary to kill all threads that share an oom killed task's mm if
      the goal is to lead to future memory freeing.
      
      This patch reintroduces the code removed in 8c5cd6f3 (oom: oom_kill
      doesn't kill vfork parent (or child)) since it is obsoleted.
      
      It's now guaranteed that any task passed to oom_kill_task() does not share
      an mm with any thread that is unkillable.  Thus, we're safe to issue a
      SIGKILL to any thread sharing the same mm.
      
      This is especially necessary to solve an mm->mmap_sem livelock issue
      whereas an oom killed thread must acquire the lock in the exit path while
      another thread is holding it in the page allocator while trying to
      allocate memory itself (and will preempt the oom killer since a task was
      already killed).  Since tasks with pending fatal signals are now granted
      access to memory reserves, the thread holding the lock may quickly
      allocate and release the lock so that the oom killed task may exit.
      
      This mainly is for threads that are cloned with CLONE_VM but not
      CLONE_THREAD, so they are in a different thread group.  Non-NPTL threads
      exist in the wild and this change is necessary to prevent the livelock in
      such cases.  We care more about preventing the livelock than incurring the
      additional tasklist in the oom killer when a task has been killed.
      Systems that are sufficiently large to not want the tasklist scan in the
      oom killer in the first place already have the option of enabling
      /proc/sys/vm/oom_kill_allocating_task, which was designed specifically for
      that purpose.
      
      This code had existed in the oom killer for over eight years dating back
      to the 2.4 kernel.
      
      [akpm@linux-foundation.org: add nice comment]
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Acked-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Ying Han <yinghan@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1e99bad0
    • D
      oom: avoid killing a task if a thread sharing its mm cannot be killed · e18641e1
      David Rientjes 提交于
      The oom killer's goal is to kill a memory-hogging task so that it may
      exit, free its memory, and allow the current context to allocate the
      memory that triggered it in the first place.  Thus, killing a task is
      pointless if other threads sharing its mm cannot be killed because of its
      /proc/pid/oom_adj or /proc/pid/oom_score_adj value.
      
      This patch checks whether any other thread sharing p->mm has an
      oom_score_adj of OOM_SCORE_ADJ_MIN.  If so, the thread cannot be killed
      and oom_badness(p) returns 0, meaning it's unkillable.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Ying Han <yinghan@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e18641e1
    • Y
      oom: add per-mm oom disable count · 3d5992d2
      Ying Han 提交于
      It's pointless to kill a task if another thread sharing its mm cannot be
      killed to allow future memory freeing.  A subsequent patch will prevent
      kills in such cases, but first it's necessary to have a way to flag a task
      that shares memory with an OOM_DISABLE task that doesn't incur an
      additional tasklist scan, which would make select_bad_process() an O(n^2)
      function.
      
      This patch adds an atomic counter to struct mm_struct that follows how
      many threads attached to it have an oom_score_adj of OOM_SCORE_ADJ_MIN.
      They cannot be killed by the kernel, so their memory cannot be freed in
      oom conditions.
      
      This only requires task_lock() on the task that we're operating on, it
      does not require mm->mmap_sem since task_lock() pins the mm and the
      operation is atomic.
      
      [rientjes@google.com: changelog and sys_unshare() code]
      [rientjes@google.com: protect oom_disable_count with task_lock in fork]
      [rientjes@google.com: use old_mm for oom_disable_count in exec]
      Signed-off-by: NYing Han <yinghan@google.com>
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Rik van Riel <riel@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3d5992d2
    • M
      Documentation/filesystems/proc.txt: improve smaps field documentation · 0f4d208f
      Matt Mackall 提交于
      Signed-off-by: NMatt Mackall <mpm@selenic.com>
      Cc: Nikanth Karthikesan <knikanth@suse.de>
      Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
      Cc: Wu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0f4d208f
    • W
      vmcore: it is not experimental any more · a4f7326d
      WANG Cong 提交于
      We use vmcore in our production kernel for a long time, it is pretty
      stable now.  So I don't think we need to mark it as experimental any more.
      Signed-off-by: NWANG Cong <xiyou.wangcong@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a4f7326d
    • R
      um: fix IRQ flag handling naming · dbec9213
      Richard Weinberger 提交于
      Commit df9ee292 ("Fix IRQ flag handling naming") changed the IRQ flag
      handling naming scheme and broke UML:
      
      In file included from arch/um/include/asm/fixmap.h:5,
                       from arch/um/include/shared/um_uaccess.h:10,
                       from arch/um/include/asm/uaccess.h:41,
                       from arch/um/include/asm/thread_info.h:13,
                       from include/linux/thread_info.h:56,
                       from include/linux/preempt.h:9,
                       from include/linux/spinlock.h:50,
                       from include/linux/seqlock.h:29,
                       from include/linux/time.h:8,
                       from include/linux/stat.h:60,
                       from include/linux/module.h:10,
                       from init/main.c:13:
      arch/um/include/asm/system.h:11:1: warning: "local_save_flags" redefined
      
      This patch brings the new scheme to UML and makes it work again.
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      dbec9213
    • M
      percpu: fix list_head init bug in __percpu_counter_init() · 8474b591
      Masanori ITOH 提交于
      WARNING: at lib/list_debug.c:26 __list_add+0x3f/0x81()
      Hardware name: Express5800/B120a [N8400-085]
      list_add corruption. next->prev should be prev (ffffffff81a7ea00), but was dead000000200200. (next=ffff88080b872d58).
      Modules linked in: aoe ipt_MASQUERADE iptable_nat nf_nat autofs4 sunrpc bridge 8021q garp stp llc ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_round_robin dm_multipath kvm_intel kvm uinput lpfc scsi_transport_fc igb ioatdma scsi_tgt i2c_i801 i2c_core dca iTCO_wdt iTCO_vendor_support pcspkr shpchp megaraid_sas [last unloaded: aoe]
      Pid: 54, comm: events/3 Tainted: G        W  2.6.34-vanilla1 #1
      Call Trace:
      [<ffffffff8104bd77>] warn_slowpath_common+0x7c/0x94
      [<ffffffff8104bde6>] warn_slowpath_fmt+0x41/0x43
      [<ffffffff8120fd2e>] __list_add+0x3f/0x81
      [<ffffffff81212a12>] __percpu_counter_init+0x59/0x6b
      [<ffffffff810d8499>] bdi_init+0x118/0x17e
      [<ffffffff811f2c50>] blk_alloc_queue_node+0x79/0x143
      [<ffffffff811f2d2b>] blk_alloc_queue+0x11/0x13
      [<ffffffffa02a931d>] aoeblk_gdalloc+0x8e/0x1c9 [aoe]
      [<ffffffffa02aa655>] aoecmd_sleepwork+0x25/0xa8 [aoe]
      [<ffffffff8106186c>] worker_thread+0x1a9/0x237
      [<ffffffffa02aa630>] ? aoecmd_sleepwork+0x0/0xa8 [aoe]
      [<ffffffff81065827>] ? autoremove_wake_function+0x0/0x39
      [<ffffffff810616c3>] ? worker_thread+0x0/0x237
      [<ffffffff810653ad>] kthread+0x7f/0x87
      [<ffffffff8100aa24>] kernel_thread_helper+0x4/0x10
      [<ffffffff8106532e>] ? kthread+0x0/0x87
      [<ffffffff8100aa20>] ? kernel_thread_helper+0x0/0x10
      
      It's because there is no initialization code for a list_head contained in
      the struct backing_dev_info under CONFIG_HOTPLUG_CPU, and the bug comes up
      when block device drivers calling blk_alloc_queue() are used.  In case of
      me, I got them by using aoe.
      Signed-off-by: NMasanori Itoh <itoumsn@nttdata.co.jp>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8474b591
    • A
      kfifo: disable __kfifo_must_check_helper() · 52c51712
      Andrew Morton 提交于
      This helper is wrong: it coerces signed values into unsigned ones, so code
      such as
      
      	if (kfifo_alloc(...) < 0) {
      		error
      	}
      
      will fail to detect the error.
      
      So let's disable __kfifo_must_check_helper() for 2.6.36.
      
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Stefani Seibold <stefani@seibold.net>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      52c51712
    • R
      hostfs: fix UML crash: remove f_spare from hostfs · 1b627d57
      Richard Weinberger 提交于
      365b1818 ("add f_flags to struct statfs(64)") resized f_spare within
      struct statfs which caused a UML crash.  There is no need to copy f_spare.
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      Reported-by: NToralf Förster <toralf.foerster@gmx.de>
      Tested-by: NToralf Förster <toralf.foerster@gmx.de>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1b627d57
    • E
      ipmi: proper spinlock initialization · de5e2ddf
      Eric Dumazet 提交于
      Unloading ipmi module can trigger following error.  (if
      CONFIG_DEBUG_SPINLOCK=y)
      
      [ 9633.779590] BUG: spinlock bad magic on CPU#1, rmmod/7170
      [ 9633.779606]  lock: f41f5414, .magic: 00000000, .owner:
      <none>/-1, .owner_cpu: 0
      [ 9633.779626] Pid: 7170, comm: rmmod Not tainted
      2.6.36-rc7-11474-gb71eb1e-dirty #328
      [ 9633.779644] Call Trace:
      [ 9633.779657]  [<c13921cc>] ? printk+0x18/0x1c
      [ 9633.779672]  [<c11a1f33>] spin_bug+0xa3/0xf0
      [ 9633.779685]  [<c11a1ffd>] do_raw_spin_lock+0x7d/0x160
      [ 9633.779702]  [<c1131537>] ? release_sysfs_dirent+0x47/0xb0
      [ 9633.779718]  [<c1131b78>] ? sysfs_addrm_finish+0xa8/0xd0
      [ 9633.779734]  [<c1394bac>] _raw_spin_lock_irqsave+0xc/0x20
      [ 9633.779752]  [<f99d93da>] cleanup_one_si+0x6a/0x200 [ipmi_si]
      [ 9633.779768]  [<c11305b2>] ? sysfs_hash_and_remove+0x72/0x80
      [ 9633.779786]  [<f99dcf26>] ipmi_pnp_remove+0xd/0xf [ipmi_si]
      [ 9633.779802]  [<c11f622b>] pnp_device_remove+0x1b/0x40
      
      Fix this by initializing spinlocks in a smi_info_alloc() helper function,
      right after memory allocation and clearing.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Acked-by: NDavid Miller <davem@davemloft.net>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Acked-by: NCorey Minyard <cminyard@mvista.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      de5e2ddf
    • M
      drivers/misc/ad525x_dpot.c: fix typo in spi write16 and write24 transfer counts · 1f9fa521
      Michael Hennerich 提交于
      This is a bug fix.  Some SPI connected devices using 16/24 bit accesses,
      previously failed, now work.
      
      This typo slipped in after testing, during some restructuring.
      Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Chris Verges <chrisv@cyberswitching.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1f9fa521
    • R
      um: remove PAGE_SIZE alignment in linker script causing kernel segfault. · 6915e04f
      Richard Weinberger 提交于
      The linker script cleanup that I did in commit 5d150a97 ("um: Clean up
      linker script using standard macros.") (2.6.32) accidentally introduced an
      ALIGN(PAGE_SIZE) when converting to use INIT_TEXT_SECTION; Richard
      Weinberger reported that this causes the kernel to segfault with
      CONFIG_STATIC_LINK=y.
      
      I'm not certain why this extra alignment is a problem, but it seems likely
      it is because previously
      
      __init_begin = _stext = _text = _sinittext
      
      and with the extra ALIGN(PAGE_SIZE), _sinittext becomes different from the
      rest.  So there is likely a bug here where something is assuming that
      _sinittext is the same as one of those other symbols.  But reverting the
      accidental change fixes the regression, so it seems worth committing that
      now.
      Signed-off-by: NTim Abbott <tabbott@ksplice.com>
      Reported-by: NRichard Weinberger <richard@nod.at>
      Cc: Jeff Dike <jdike@addtoit.com>
      Tested by: Antoine Martin <antoine@nagafix.co.uk>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6915e04f
    • R
      sgi-xp: incoming XPC channel messages can come in after the channel's... · 09358972
      Robin Holt 提交于
      sgi-xp: incoming XPC channel messages can come in after the channel's partition structures have been torn down
      
      Under some workloads, some channel messages have been observed being
      delayed on the sending side past the point where the receiving side has
      been able to tear down its partition structures.
      
      This condition is already detected in xpc_handle_activate_IRQ_uv(), but
      that information is not given to xpc_handle_activate_mq_msg_uv().  As a
      result, xpc_handle_activate_mq_msg_uv() assumes the structures still exist
      and references them, causing a NULL-pointer deref.
      Signed-off-by: NRobin Holt <holt@sgi.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      09358972
    • R
      um: fix global timer issue when using CONFIG_NO_HZ · 482db6df
      Richard Weinberger 提交于
      This fixes a issue which was introduced by fe2cc53e ("uml: track and make
      up lost ticks").
      
      timeval_to_ns() returns long long and not int.  Due to that UML's timer
      did not work properlt and caused timer freezes.
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      Acked-by: NPekka Enberg <penberg@kernel.org>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      482db6df
    • M
      mm, page-allocator: do not check the state of a non-existant buddy during free · b7f50cfa
      Mel Gorman 提交于
      There is a bug in commit 6dda9d55 ("page allocator: reduce fragmentation
      in buddy allocator by adding buddies that are merging to the tail of the
      free lists") that means a buddy at order MAX_ORDER is checked for merging.
       A page of this order never exists so at times, an effectively random
      piece of memory is being checked.
      
      Alan Curry has reported that this is causing memory corruption in
      userspace data on a PPC32 platform (http://lkml.org/lkml/2010/10/9/32).
      It is not clear why this is happening.  It could be a cache coherency
      problem where pages mapped in both user and kernel space are getting
      different cache lines due to the bad read from kernel space
      (http://lkml.org/lkml/2010/10/13/179).  It could also be that there are
      some special registers being io-remapped at the end of the memmap array
      and that a read has special meaning on them.  Compiler bugs have been
      ruled out because the assembly before and after the patch looks relatively
      harmless.
      
      This patch fixes the problem by ensuring we are not reading a possibly
      invalid location of memory.  It's not clear why the read causes corruption
      but one way or the other it is a buggy read.
      Signed-off-by: NMel Gorman <mel@csn.ul.ie>
      Cc: Corrado Zoccolo <czoccolo@gmail.com>
      Reported-by: NAlan Curry <pacman@kosh.dhis.org>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Christoph Lameter <cl@linux-foundation.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b7f50cfa
    • A
      types.h: move misplaced comment · a75d3776
      Andrew Morton 提交于
      This comment landed in the wrong place.
      
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: David Miller <davem@davemloft.net>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: Jan Engelhardt <jengelh@medozas.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a75d3776
    • K
      mm: fix return value of scan_lru_pages in memory unplug · f8f72ad5
      KAMEZAWA Hiroyuki 提交于
      scan_lru_pages returns pfn. So, it's type should be "unsigned long"
      not "int".
      
      Note: I guess this has been work until now because memory hotplug tester's
            machine has not very big memory....
            physical address < 32bit << PAGE_SHIFT.
      Reported-by: NKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Reviewed-by: NKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f8f72ad5
    • L
      Merge git://git.infradead.org/battery-2.6 · 45352bbf
      Linus Torvalds 提交于
      * git://git.infradead.org/battery-2.6:
        power_supply: Makefile cleanup
        bq27x00_battery: Add missing kfree(di->bus) in bq27x00_battery_remove()
        power_supply: Introduce maximum current property
        power_supply: Add types for USB chargers
        ds2782_battery: Fix units
        power_supply: Add driver for TWL4030/TPS65950 BCI charger
        bq20z75: Add support for more power supply properties
        wm831x_power: Add missing kfree(wm831x_power) in wm831x_power_remove()
        jz4740-battery: Add missing kfree(jz_battery) in jz_battery_remove()
        ds2760_battery: Add missing kfree(di) in ds2760_battery_remove()
        olpc_battery: Fix endian neutral breakage for s16 values
        ds2760_battery: Fix W1 and W1_SLAVE_DS2760 dependency
        pcf50633-charger: Add missing sysfs_remove_group()
        power_supply: Add driver for TI BQ20Z75 gas gauge IC
        wm831x_power: Remove duplicate chg mask
        omap: rx51: Add support for USB chargers
        power_supply: Add isp1704 charger detection driver
      45352bbf
    • L
      Merge branch 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/i7core · da62aa69
      Linus Torvalds 提交于
      * 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/i7core: (34 commits)
        i7core_edac: return -ENODEV when devices were already probed
        i7core_edac: properly terminate pci_dev_table
        i7core_edac: Avoid PCI refcount to reach zero on successive load/reload
        i7core_edac: Fix refcount error at PCI devices
        i7core_edac: it is safe to i7core_unregister_mci() when mci=NULL
        i7core_edac: Fix an oops at i7core probe
        i7core_edac: Remove unused member channels in i7core_pvt
        i7core_edac: Remove unused arg csrow from get_dimm_config
        i7core_edac: Reduce args of i7core_register_mci
        i7core_edac: Introduce i7core_unregister_mci
        i7core_edac: Use saved pointers
        i7core_edac: Check probe counter in i7core_remove
        i7core_edac: Call pci_dev_put() when alloc_i7core_dev()  failed
        i7core_edac: Fix error path of i7core_register_mci
        i7core_edac: Fix order of lines in i7core_register_mci
        i7core_edac: Always do get/put for all devices
        i7core_edac: Introduce i7core_pci_ctl_create/release
        i7core_edac: Introduce free_i7core_dev
        i7core_edac: Introduce alloc_i7core_dev
        i7core_edac: Reduce args of i7core_get_onedevice
        ...
      da62aa69
    • L
      Merge branch 'hwpoison' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6 · f1ebdd60
      Linus Torvalds 提交于
      * 'hwpoison' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (22 commits)
        Add _addr_lsb field to ia64 siginfo
        Fix migration.c compilation on s390
        HWPOISON: Remove retry loop for try_to_unmap
        HWPOISON: Turn addr_valid from bitfield into char
        HWPOISON: Disable DEBUG by default
        HWPOISON: Convert pr_debugs to pr_info
        HWPOISON: Improve comments in memory-failure.c
        x86: HWPOISON: Report correct address granuality for huge hwpoison faults
        Encode huge page size for VM_FAULT_HWPOISON errors
        Fix build error with !CONFIG_MIGRATION
        hugepage: move is_hugepage_on_freelist inside ifdef to avoid warning
        Clean up __page_set_anon_rmap
        HWPOISON, hugetlb: fix unpoison for hugepage
        HWPOISON, hugetlb: soft offlining for hugepage
        HWPOSION, hugetlb: recover from free hugepage error when !MF_COUNT_INCREASED
        hugetlb: move refcounting in hugepage allocation inside hugetlb_lock
        HWPOISON, hugetlb: add free check to dequeue_hwpoison_huge_page()
        hugetlb: hugepage migration core
        hugetlb: redefine hugepage copy functions
        hugetlb: add allocate function for hugepage migration
        ...
      f1ebdd60
    • L
      Merge branch 'for_linus' of git://github.com/at91linux/linux-2.6-at91 · f99d0553
      Linus Torvalds 提交于
      * 'for_linus' of git://github.com/at91linux/linux-2.6-at91:
        AT91: rtc: enable built-in RTC in Kconfig for at91sam9g45 family
        at91/atmel-mci: inclusion of sd/mmc driver in at91sam9g45 chip and board
        AT91: pm: make sure that r0 is 0 when dealing with cache operations
        AT91: pm: use plain cpu_do_idle() for "wait for interrupt"
        AT91: reset: extend alternate reset procedure to several chips
        AT91: reset routine cleanup, remove not needed icache flush
        AT91: trivial: align comment of at91sam9g20_reset with one more tab
        AT91: Fix AT91SAM9G20 reset as per the errata in the data sheet
        AT91: add board support for Pcontrol_G20
      f99d0553
    • L
      Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux · 2c518959
      Linus Torvalds 提交于
      * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux:
        OMAP: DSS2: don't power off a panel twice
        OMAP: DSS2: OMAPFB: Allow usage of def_vrfb only for omap2,3
        OMAP: DSS2: OMAPFB: make VRFB depends on OMAP2,3
        OMAP: DSS2: OMAPFB: Allow FB_OMAP2 to build without VRFB
        arm/omap: simplify conditional
        OMAP: DSS2: DSI: Remove extra iounmap in error path
        OMAP: DSS2: Use dss_features framework on DSS2 code
        OMAP: DSS2: Introduce dss_features files
        video/omap: remove mux.h include
        ARM: omap/fb: move get_fbmem_region() to .init.text
        ARM: omap/fb: move omapfb_reserve_sram to .init.text
        ARM: omap/fb: move omap_init_fb to .init.text
        OMAP: DSS2: OMAPFB: swap front and back porches for both hsync and vsync
        OMAP: DSS2: make filter coefficient tables human readable
        OMAP: DSS2: Add SPI dependency to Kconfig of ACX565AKM panel
      2c518959
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq · 4f687603
      Linus Torvalds 提交于
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
        [CPUFREQ]: x86, cpufreq: Mark longrun_get_policy with __cpuinit.
        [CPUFREQ] add sampling_down_factor tunable to improve ondemand performance
        [CPUFREQ] arch/x86/kernel/cpu/cpufreq: Fix unsigned return type
        [CPUFREQ] drivers/cpufreq: Adjust confusing if indentation
      4f687603
    • L
      Merge branch 'for-2.6.37' of git://linux-nfs.org/~bfields/linux · 4390110f
      Linus Torvalds 提交于
      * 'for-2.6.37' of git://linux-nfs.org/~bfields/linux: (99 commits)
        svcrpc: svc_tcp_sendto XPT_DEAD check is redundant
        svcrpc: no need for XPT_DEAD check in svc_xprt_enqueue
        svcrpc: assume svc_delete_xprt() called only once
        svcrpc: never clear XPT_BUSY on dead xprt
        nfsd4: fix connection allocation in sequence()
        nfsd4: only require krb5 principal for NFSv4.0 callbacks
        nfsd4: move minorversion to client
        nfsd4: delay session removal till free_client
        nfsd4: separate callback change and callback probe
        nfsd4: callback program number is per-session
        nfsd4: track backchannel connections
        nfsd4: confirm only on succesful create_session
        nfsd4: make backchannel sequence number per-session
        nfsd4: use client pointer to backchannel session
        nfsd4: move callback setup into session init code
        nfsd4: don't cache seq_misordered replies
        SUNRPC: Properly initialize sock_xprt.srcaddr in all cases
        SUNRPC: Use conventional switch statement when reclassifying sockets
        sunrpc/xprtrdma: clean up workqueue usage
        sunrpc: Turn list_for_each-s into the ..._entry-s
        ...
      
      Fix up trivial conflicts (two different deprecation notices added in
      separate branches) in Documentation/feature-removal-schedule.txt
      4390110f
    • L
      Merge branch 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 · a4dd8dce
      Linus Torvalds 提交于
      * 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
        net/sunrpc: Use static const char arrays
        nfs4: fix channel attribute sanity-checks
        NFSv4.1: Use more sensible names for 'initialize_mountpoint'
        NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure
        NFSv4.1: pnfs: add LAYOUTGET and GETDEVICEINFO infrastructure
        NFS: client needs to maintain list of inodes with active layouts
        NFS: create and destroy inode's layout cache
        NFSv4.1: pnfs: filelayout: introduce minimal file layout driver
        NFSv4.1: pnfs: full mount/umount infrastructure
        NFS: set layout driver
        NFS: ask for layouttypes during v4 fsinfo call
        NFS: change stateid to be a union
        NFSv4.1: pnfsd, pnfs: protocol level pnfs constants
        SUNRPC: define xdr_decode_opaque_fixed
        NFSD: remove duplicate NFS4_STATEID_SIZE
      a4dd8dce
  2. 26 10月, 2010 14 次提交