1. 28 9月, 2013 9 次提交
  2. 27 9月, 2013 4 次提交
  3. 26 9月, 2013 17 次提交
  4. 25 9月, 2013 10 次提交
    • J
      MIPS: mm: Move some checks out of 'for' loop in DMA operations · 55c25c2f
      Jayachandran C 提交于
      The check cpu_needs_post_dma_flush() in mips_dma_sync_sg_for_cpu() and
      the check !plat_device_is_coherent() in mips_dma_sync_sg_for_device()
      can be moved outside the for loop.
      
      As a side effect, this also avoids a GCC bug that caused kernel compile
      to fail with the error:
      
      arch/mips/mm/dma-default.c: In function 'mips_dma_sync_sg_for_cpu':
      arch/mips/mm/dma-default.c:316:1: internal compiler error: in add_insn_before, at emit-rtl.c:3852
      
      This gcc failure is seen in Code Sourcery toolchains [e.g. gcc version
      4.7.2 (Sourcery CodeBench Lite 2012.09-99)] after commit "MIPS: Optimize
      current_cpu_type() for better code."
      Signed-off-by: NJayachandran C <jchandra@broadcom.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5907/Reviewed-by: NMarkos Chandras <markos.chandras@imgtec.com>
      Tested-by: NMarkos Chandras <markos.chandras@imgtec.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      55c25c2f
    • K
      xen/spinlock: Document the xen_nopvspin parameter. · 15a3eac0
      Konrad Rzeszutek Wilk 提交于
      Which disables in the ticketlock slowpath the Xen PV optimization's.
      Useful for diagnosing issues and comparing benchmarks in
      over-commit CPU scenarios.
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      15a3eac0
    • D
      xen/p2m: check MFN is in range before using the m2p table · 0160676b
      David Vrabel 提交于
      On hosts with more than 168 GB of memory, a 32-bit guest may attempt
      to grant map an MFN that is error cannot lookup in its mapping of the
      m2p table.  There is an m2p lookup as part of m2p_add_override() and
      m2p_remove_override().  The lookup falls off the end of the mapped
      portion of the m2p and (because the mapping is at the highest virtual
      address) wraps around and the lookup causes a fault on what appears to
      be a user space address.
      
      do_page_fault() (thinking it's a fault to a userspace address), tries
      to lock mm->mmap_sem.  If the gntdev device is used for the grant map,
      m2p_add_override() is called from from gnttab_mmap() with mm->mmap_sem
      already locked.  do_page_fault() then deadlocks.
      
      The deadlock would most commonly occur when a 64-bit guest is started
      and xenconsoled attempts to grant map its console ring.
      
      Introduce mfn_to_pfn_no_overrides() which checks the MFN is within the
      mapped portion of the m2p table before accessing the table and use
      this in m2p_add_override(), m2p_remove_override(), and mfn_to_pfn()
      (which already had the correct range check).
      
      All faults caused by accessing the non-existant parts of the m2p are
      thus within the kernel address space and exception_fixup() is called
      without trying to lock mm->mmap_sem.
      
      This means that for MFNs that are outside the mapped range of the m2p
      then mfn_to_pfn() will always look in the m2p overrides.  This is
      correct because it must be a foreign MFN (and the PFN in the m2p in
      this case is only relevant for the other domain).
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      Cc: Stefano Stabellini <stefano.stabellini@citrix.com>
      Cc: Jan Beulich <JBeulich@suse.com>
      --
      v3: check for auto_translated_physmap in mfn_to_pfn_no_overrides()
      v2: in mfn_to_pfn() look in m2p_overrides if the MFN is out of
          range as it's probably foreign.
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Acked-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      0160676b
    • D
      x86/reboot: Fix apparent cut-n-paste mistake in Dell reboot workaround · 7a20c2fa
      Dave Jones 提交于
      This seems to have been copied from the Optiplex 990 entry
      above, but somoene forgot to change the ident text.
      Signed-off-by: NDave Jones <davej@fedoraproject.org>
      Link: http://lkml.kernel.org/r/20130925001344.GA13554@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      7a20c2fa
    • B
      powerpc/pseries: Do not start secondaries in Open Firmware · dbe78b40
      Benjamin Herrenschmidt 提交于
      Starting secondary CPUs early on from Open Firmware and placing them
      in a holding spin loop slows down the boot process significantly under
      some hypervisors such as KVM.
      
      This is also unnecessary when RTAS supports querying the CPU state
      
      So let's not do it.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      dbe78b40
    • B
      powerpc/zImage: make the "OF" wrapper support ePAPR boot · 0c9fa291
      Benjamin Herrenschmidt 提交于
      This makes the "OF" zImage wrapper (zImage.pseries, zImage.pmac,
      zImage.maple) work if booted via a flat device-tree (ePAPR boot
      mode), and thus potentially usable with kexec.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0c9fa291
    • B
      powerpc: Remove ksp_limit on ppc64 · cbc9565e
      Benjamin Herrenschmidt 提交于
      We've been keeping that field in thread_struct for a while, it contains
      the "limit" of the current stack pointer and is meant to be used for
      detecting stack overflows.
      
      It has a few problems however:
      
       - First, it was never actually *used* on 64-bit. Set and updated but
      not actually exploited
      
       - When switching stack to/from irq and softirq stacks, it's update
      is racy unless we hard disable interrupts, which is costly. This
      is fine on 32-bit as we don't soft-disable there but not on 64-bit.
      
      Thus rather than fixing 2 in order to implement 1 in some hypothetical
      future, let's remove the code completely from 64-bit. In order to avoid
      a clutter of ifdef's, we remove the updates from C code completely
      during interrupt stack switching, and instead maintain it from the
      asm helper that is used to do the stack switching in the first place.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      cbc9565e
    • B
      powerpc/irq: Run softirqs off the top of the irq stack · 0366a1c7
      Benjamin Herrenschmidt 提交于
      Nowadays, irq_exit() calls __do_softirq() pretty much directly
      instead of calling do_softirq() which switches to the decicated
      softirq stack.
      
      This has lead to observed stack overflows on powerpc since we call
      irq_enter() and irq_exit() outside of the scope that switches to
      the irq stack.
      
      This fixes it by moving the stack switching up a level, making
      irq_enter() and irq_exit() run off the irq stack.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0366a1c7
    • P
      mm: Place preemption point in do_mlockall() loop · 22356f44
      Paul E. McKenney 提交于
      There is a loop in do_mlockall() that lacks a preemption point, which
      means that the following can happen on non-preemptible builds of the
      kernel. Dave Jones reports:
      
       "My fuzz tester keeps hitting this.  Every instance shows the non-irq
        stack came in from mlockall.  I'm only seeing this on one box, but
        that has more ram (8gb) than my other machines, which might explain
        it.
      
          INFO: rcu_preempt self-detected stall on CPU { 3}  (t=6500 jiffies g=470344 c=470343 q=0)
          sending NMI to all CPUs:
          NMI backtrace for cpu 3
          CPU: 3 PID: 29664 Comm: trinity-child2 Not tainted 3.11.0-rc1+ #32
          Call Trace:
            lru_add_drain_all+0x15/0x20
            SyS_mlockall+0xa5/0x1a0
            tracesys+0xdd/0xe2"
      
      This commit addresses this problem by inserting the required preemption
      point.
      Reported-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
      Cc: Michel Lespinasse <walken@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      22356f44
    • L
      Merge branch 'akpm' (patches from Andrew Morton) · a153e67b
      Linus Torvalds 提交于
      Merge fixes from Andrew Morton:
       "Bunch of fixes.
      
        And a reversion of mhocko's "Soft limit rework" patch series.  This is
        actually your fault for opening the merge window when I was off racing ;)
      
        I didn't read the email thread before sending everything off.
        Johannes Weiner raised significant issues:
      
          http://www.spinics.net/lists/cgroups/msg08813.html
      
        and we agreed to back it all out"
      
      I clearly need to be more aware of Andrew's racing schedule.
      
      * akpm:
        MAINTAINERS: update mach-bcm related email address
        checkpatch: make extern in .h prototypes quieter
        cciss: fix info leak in cciss_ioctl32_passthru()
        cpqarray: fix info leak in ida_locked_ioctl()
        kernel/reboot.c: re-enable the function of variable reboot_default
        audit: fix endless wait in audit_log_start()
        revert "memcg, vmscan: integrate soft reclaim tighter with zone shrinking code"
        revert "memcg: get rid of soft-limit tree infrastructure"
        revert "vmscan, memcg: do softlimit reclaim also for targeted reclaim"
        revert "memcg: enhance memcg iterator to support predicates"
        revert "memcg: track children in soft limit excess to improve soft limit"
        revert "memcg, vmscan: do not attempt soft limit reclaim if it would not scan anything"
        revert "memcg: track all children over limit in the root"
        revert "memcg, vmscan: do not fall into reclaim-all pass too quickly"
        fs/ocfs2/super.c: use a bigger nodestr in ocfs2_dismount_volume
        watchdog: update watchdog_thresh properly
        watchdog: update watchdog attributes atomically
      a153e67b