Skip to content
  1. Oct 09, 2012
    • Konstantin Khlebnikov's avatar
      mm: kill vma flag VM_RESERVED and mm->reserved_vm counter · 314e51b9
      Konstantin Khlebnikov authored
      
      
      A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
      currently it lost original meaning but still has some effects:
      
       | effect                 | alternative flags
      -+------------------------+---------------------------------------------
      1| account as reserved_vm | VM_IO
      2| skip in core dump      | VM_IO, VM_DONTDUMP
      3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      4| do not mlock           | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      
      This patch removes reserved_vm counter from mm_struct.  Seems like nobody
      cares about it, it does not exported into userspace directly, it only
      reduces total_vm showed in proc.
      
      Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.
      
      remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
      remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.
      
      [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      314e51b9
    • Konstantin Khlebnikov's avatar
      mm: prepare VM_DONTDUMP for using in drivers · 0103bd16
      Konstantin Khlebnikov authored
      
      
      Rename VM_NODUMP into VM_DONTDUMP: this name matches other negative flags:
      VM_DONTEXPAND, VM_DONTCOPY.  Currently this flag used only for
      sys_madvise.  The next patch will use it for replacing the outdated flag
      VM_RESERVED.
      
      Also forbid madvise(MADV_DODUMP) for special kernel mappings VM_SPECIAL
      (VM_IO | VM_DONTEXPAND | VM_RESERVED | VM_PFNMAP)
      
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0103bd16
    • Konstantin Khlebnikov's avatar
      mm: kill vma flag VM_EXECUTABLE and mm->num_exe_file_vmas · e9714acf
      Konstantin Khlebnikov authored
      
      
      Currently the kernel sets mm->exe_file during sys_execve() and then tracks
      number of vmas with VM_EXECUTABLE flag in mm->num_exe_file_vmas, as soon
      as this counter drops to zero kernel resets mm->exe_file to NULL.  Plus it
      resets mm->exe_file at last mmput() when mm->mm_users drops to zero.
      
      VMA with VM_EXECUTABLE flag appears after mapping file with flag
      MAP_EXECUTABLE, such vmas can appears only at sys_execve() or after vma
      splitting, because sys_mmap ignores this flag.  Usually binfmt module sets
      mm->exe_file and mmaps executable vmas with this file, they hold
      mm->exe_file while task is running.
      
      comment from v2.6.25-6245-g925d1c4 ("procfs task exe symlink"),
      where all this stuff was introduced:
      
      > The kernel implements readlink of /proc/pid/exe by getting the file from
      > the first executable VMA.  Then the path to the file is reconstructed and
      > reported as the result.
      >
      > Because of the VMA walk the code is slightly different on nommu systems.
      > This patch avoids separate /proc/pid/exe code on nommu systems.  Instead of
      > walking the VMAs to find the first executable file-backed VMA we store a
      > reference to the exec'd file in the mm_struct.
      >
      > That reference would prevent the filesystem holding the executable file
      > from being unmounted even after unmapping the VMAs.  So we track the number
      > of VM_EXECUTABLE VMAs and drop the new reference when the last one is
      > unmapped.  This avoids pinning the mounted filesystem.
      
      exe_file's vma accounting is hooked into every file mmap/unmmap and vma
      split/merge just to fix some hypothetical pinning fs from umounting by mm,
      which already unmapped all its executable files, but still alive.
      
      Seems like currently nobody depends on this behaviour.  We can try to
      remove this logic and keep mm->exe_file until final mmput().
      
      mm->exe_file is still protected with mm->mmap_sem, because we want to
      change it via new sys_prctl(PR_SET_MM_EXE_FILE).  Also via this syscall
      task can change its mm->exe_file and unpin mountpoint explicitly.
      
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e9714acf
    • Konstantin Khlebnikov's avatar
      mm: use mm->exe_file instead of first VM_EXECUTABLE vma->vm_file · 2dd8ad81
      Konstantin Khlebnikov authored
      
      
      Some security modules and oprofile still uses VM_EXECUTABLE for retrieving
      a task's executable file.  After this patch they will use mm->exe_file
      directly.  mm->exe_file is protected with mm->mmap_sem, so locking stays
      the same.
      
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Acked-by: Chris Metcalf <cmetcalf@tilera.com>			[arch/tile]
      Acked-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>	[tomoyo]
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Acked-by: default avatarJames Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2dd8ad81
    • Konstantin Khlebnikov's avatar
      mm: kill vma flag VM_CAN_NONLINEAR · 0b173bc4
      Konstantin Khlebnikov authored
      
      
      Move actual pte filling for non-linear file mappings into the new special
      vma operation: ->remap_pages().
      
      Filesystems must implement this method to get non-linear mapping support,
      if it uses filemap_fault() then generic_file_remap_pages() can be used.
      
      Now device drivers can implement this method and obtain nonlinear vma support.
      
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>	#arch/tile
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0b173bc4
    • Konstantin Khlebnikov's avatar
      mm: kill vma flag VM_INSERTPAGE · 4b6e1e37
      Konstantin Khlebnikov authored
      
      
      Merge VM_INSERTPAGE into VM_MIXEDMAP.  VM_MIXEDMAP VMA can mix pure-pfn
      ptes, special ptes and normal ptes.
      
      Now copy_page_range() always copies VM_MIXEDMAP VMA on fork like
      VM_PFNMAP.  If driver populates whole VMA at mmap() it probably not
      expects page-faults.
      
      This patch removes special check from vma_wants_writenotify() which
      disables pages write tracking for VMA populated via vm_instert_page().
      BDI below mapped file should not use dirty-accounting, moreover
      do_wp_page() can handle this.
      
      vm_insert_page() still marks vma after first usage.  Usually it is called
      from f_op->mmap() handler under mm->mmap_sem write-lock, so it able to
      change vma->vm_flags.  Caller must set VM_MIXEDMAP at mmap time if it
      wants to call this function from other places, for example from page-fault
      handler.
      
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4b6e1e37
    • Konstantin Khlebnikov's avatar
      mm: introduce arch-specific vma flag VM_ARCH_1 · cc2383ec
      Konstantin Khlebnikov authored
      
      
      Combine several arch-specific vma flags into one.
      
      before patch:
      
              0x00000200      0x01000000      0x20000000      0x40000000
      x86     VM_NOHUGEPAGE   VM_HUGEPAGE     -               VM_PAT
      powerpc -               -               VM_SAO          -
      parisc  VM_GROWSUP      -               -               -
      ia64    VM_GROWSUP      -               -               -
      nommu   -               VM_MAPPED_COPY  -               -
      others  -               -               -               -
      
      after patch:
      
              0x00000200      0x01000000      0x20000000      0x40000000
      x86     -               VM_PAT          VM_HUGEPAGE     VM_NOHUGEPAGE
      powerpc -               VM_SAO          -               -
      parisc  -               VM_GROWSUP      -               -
      ia64    -               VM_GROWSUP      -               -
      nommu   -               VM_MAPPED_COPY  -               -
      others  -               VM_ARCH_1       -               -
      
      And voila! One completely free bit.
      
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cc2383ec
    • Konstantin Khlebnikov's avatar
      mm, x86, pat: rework linear pfn-mmap tracking · b3b9c293
      Konstantin Khlebnikov authored
      
      
      Replace the generic vma-flag VM_PFN_AT_MMAP with x86-only VM_PAT.
      
      We can toss mapping address from remap_pfn_range() into
      track_pfn_vma_new(), and collect all PAT-related logic together in
      arch/x86/.
      
      This patch also restores orignal frustration-free is_cow_mapping() check
      in remap_pfn_range(), as it was before commit v2.6.28-rc8-88-g3c8bb73
      ("x86: PAT: store vm_pgoff for all linear_over_vma_region mappings - v3")
      
      is_linear_pfn_mapping() checks can be removed from mm/huge_memory.c,
      because it already handled by VM_PFNMAP in VM_NO_THP bit-mask.
      
      [suresh.b.siddha@intel.com: Reset the VM_PAT flag as part of untrack_pfn_vma()]
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b3b9c293
    • Suresh Siddha's avatar
      x86, pat: separate the pfn attribute tracking for remap_pfn_range and vm_insert_pfn · 5180da41
      Suresh Siddha authored
      
      
      With PAT enabled, vm_insert_pfn() looks up the existing pfn memory
      attribute and uses it.  Expectation is that the driver reserves the
      memory attributes for the pfn before calling vm_insert_pfn().
      
      remap_pfn_range() (when called for the whole vma) will setup a new
      attribute (based on the prot argument) for the specified pfn range.
      This addresses the legacy usage which typically calls remap_pfn_range()
      with a desired memory attribute.  For ranges smaller than the vma size
      (which is typically not the case), remap_pfn_range() will use the
      existing memory attribute for the pfn range.
      
      Expose two different API's for these different behaviors.
      track_pfn_insert() for tracking the pfn attribute set by vm_insert_pfn()
      and track_pfn_remap() for the remap_pfn_range().
      
      This cleanup also prepares the ground for the track/untrack pfn vma
      routines to take over the ownership of setting PAT specific vm_flag in
      the 'vma'.
      
      [khlebnikov@openvz.org: Clear checks in track_pfn_remap()]
      [akpm@linux-foundation.org: tweak a few comments]
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5180da41
    • Suresh Siddha's avatar
      x86, pat: remove the dependency on 'vm_pgoff' in track/untrack pfn vma routines · b1a86e15
      Suresh Siddha authored
      
      
      'pfn' argument for track_pfn_vma_new() can be used for reserving the
      attribute for the pfn range.  No need to depend on 'vm_pgoff'
      
      Similarly, untrack_pfn_vma() can depend on the 'pfn' argument if it is
      non-zero or can use follow_phys() to get the starting value of the pfn
      range.
      
      Also the non zero 'size' argument can be used instead of recomputing it
      from vma.
      
      This cleanup also prepares the ground for the track/untrack pfn vma
      routines to take over the ownership of setting PAT specific vm_flag in the
      'vma'.
      
      [khlebnikov@openvz.org: Clear pfn to paddr conversion]
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b1a86e15
    • Rik van Riel's avatar
      mm: remove __GFP_NO_KSWAPD · c6543459
      Rik van Riel authored
      
      
      When transparent huge pages were introduced, memory compaction and swap
      storms were an issue, and the kernel had to be careful to not make THP
      allocations cause pageout or compaction.
      
      Now that we have working compaction deferral, kswapd is smart enough to
      invoke compaction and the quadratic behaviour around isolate_free_pages
      has been fixed, it should be safe to remove __GFP_NO_KSWAPD.
      
      [minchan@kernel.org: Comment fix]
      [mgorman@suse.de: Avoid direct reclaim for deferred compaction]
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Signed-off-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c6543459
    • Srivatsa S. Bhat's avatar
      CPU hotplug, debug: detect imbalance between get_online_cpus() and put_online_cpus() · 075663d1
      Srivatsa S. Bhat authored
      
      
      The synchronization between CPU hotplug readers and writers is achieved
      by means of refcounting, safeguarded by the cpu_hotplug.lock.
      
      get_online_cpus() increments the refcount, whereas put_online_cpus()
      decrements it.  If we ever hit an imbalance between the two, we end up
      compromising the guarantees of the hotplug synchronization i.e, for
      example, an extra call to put_online_cpus() can end up allowing a
      hotplug reader to execute concurrently with a hotplug writer.
      
      So, add a WARN_ON() in put_online_cpus() to detect such cases where the
      refcount can go negative, and also attempt to fix it up, so that we can
      continue to run.
      
      Signed-off-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Reviewed-by: default avatarYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      075663d1
    • Catalin Marinas's avatar
      Kconfig: clean up the "#if defined(arch)" list for exception-trace sysctl entry · 7ac57a89
      Catalin Marinas authored
      
      
      Introduce SYSCTL_EXCEPTION_TRACE config option and selec it in the
      architectures requiring support for the "exception-trace" debug_table
      entry in kernel/sysctl.c.
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7ac57a89
    • Catalin Marinas's avatar
      Kconfig: clean up the long arch list for the DEBUG_BUGVERBOSE config option · 9b2a60c4
      Catalin Marinas authored
      
      
      Introduce HAVE_DEBUG_BUGVERBOSE config option and select it in
      corresponding architecture Kconfig files.  Architectures that already
      select GENERIC_BUG don't need to select HAVE_DEBUG_BUGVERBOSE.
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9b2a60c4
    • Catalin Marinas's avatar
      Kconfig: clean up the long arch list for the DEBUG_KMEMLEAK config option · b69ec42b
      Catalin Marinas authored
      
      
      Introduce HAVE_DEBUG_KMEMLEAK config option and select it in corresponding
      architecture Kconfig files.  DEBUG_KMEMLEAK now only depends on
      HAVE_DEBUG_KMEMLEAK.
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b69ec42b
    • Catalin Marinas's avatar
      Kconfig: clean up the long arch list for the UID16 config option · af1839eb
      Catalin Marinas authored
      
      
      Introduce HAVE_UID16 config option and select it in corresponding
      architecture Kconfig files.  UID16 now only depends on HAVE_UID16.
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      af1839eb
    • Konrad Rzeszutek Wilk's avatar
      MAINTAINERS: add Konrad as the SWIOTLB maintainer · 6e28b761
      Konrad Rzeszutek Wilk authored
      
      
      Now that I've an IA64 box on top of the other boxes (IBM with Calgary-X,
      Intel VT-d, AMD Vi, and AMD GART - that can use SWIOTLB as fallback) I can
      reliably do regression testing.
      
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Ingo Molnar <mingo@elte.hu>
      Acked-by: default avatar"H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarTony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6e28b761
    • Linus Torvalds's avatar
      Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · f5a246ea
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "This contains pretty many small commits covering fairly large range of
        files in sound/ directory.  Partly because of additional API support
        and partly because of constantly developed ASoC and ARM stuff.
      
        Some highlights:
      
         - Introduced the helper function and documentation for exposing the
           channel map via control API, as discussed in Plumbers; most of PCI
           drivers are covered, will follow more drivers later
      
         - Most of drivers have been replaced with the new PM callbacks (if
           the bus is supported)
      
         - HD-audio controller got the support of runtime PM and the support
           of D3 clock-stop.  Also changing the power_save option in sysfs
           kicks off immediately to enable / disable the power-save mode.
      
         - Another significant code change in HD-audio is the rewrite of
           firmware loading code.  Other than that, most of changes in
           HD-audio are continued cleanups and standardization for the generic
           auto parser and bug fixes (HBR, device-specific fixups), in
           addition to the support of channel-map API.
      
         - Addition of ASoC bindings for the compressed API, used by the
           mid-x86 drivers.
      
         - Lots of cleanups and API refreshes for ASoC codec drivers and
           DaVinci.
      
         - Conversion of OMAP to dmaengine.
      
         - New machine driver for Wolfson Microelectronics Bells.
      
         - New CODEC driver for Wolfson Microelectronics WM0010.
      
         - Enhancements to the ux500 and wm2000 drivers
      
         - A new driver for DA9055 and the support for regulator bypass mode."
      
      Fix up various arm soc header file reorg conflicts.
      
      * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits)
        ALSA: hda - Add new codec ALC283 ALC290 support
        ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls
        ALSA: hda - fix indices on boost volume on Conexant
        ALSA: aloop - add locking to timer access
        ALSA: hda - Fix hang caused by race during suspend.
        sound: Remove unnecessary semicolon
        ALSA: hda/realtek - Fix detection of ALC271X codec
        ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310
        ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event
        ALSA: hda - make a generic unsol event handler
        ASoC: codecs: Add DA9055 codec driver
        ASoC: eukrea-tlv320: Convert it to platform driver
        ALSA: ASoC: add DT bindings for CS4271
        ASoC: wm_hubs: Ensure volume updates are handled during class W startup
        ASoC: wm5110: Adding missing volume update bits
        ASoC: wm5110: Add OUT3R support
        ASoC: wm5110: Add AEC loopback support
        ASoC: wm5110: Rename EPOUT to HPOUT3
        ASoC: arizona: Add more clock rates
        ASoC: arizona: Add more DSP options for mixer input muxes
        ...
      f5a246ea
    • Oleg Nesterov's avatar
      exec: make de_thread() killable · d5bbd43d
      Oleg Nesterov authored
      
      
      Change de_thread() to use KILLABLE rather than UNINTERRUPTIBLE while
      waiting for other threads.  The only complication is that we should
      clear ->group_exit_task and ->notify_count before we return, and we
      should do this under tasklist_lock.  -EAGAIN is used to match the
      initial signal_group_exit() check/return, it doesn't really matter.
      
      This fixes the (unlikely) race with coredump.  de_thread() checks
      signal_group_exit() before it starts to kill the subthreads, but this
      can't help if another CLONE_VM (but non CLONE_THREAD) task starts the
      coredumping after de_thread() unlocks ->siglock.  In this case the
      killed sub-thread can block in exit_mm() waiting for coredump_finish(),
      execing thread waits for that sub-thead, and the coredumping thread
      waits for execing thread.  Deadlock.
      
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d5bbd43d
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 · b5356a19
      Linus Torvalds authored
      Pull arm64 changes from Catalin Marinas:
       "arm64 fixes:
         - Use swiotlb_init() instead of swiotlb_init_with_default_size().
           The latter is now a static function (commit 74838b75 "swiotlb:
           add the late swiotlb initialization function with iotlb memory").
         - Enable interrupts before calling do_notify_resume().
      
        arm64 clean-up:
         - Use the generic implementation of compat_sys_sendfile() on arm64 as
           commit 8f9c0119 (introducing the function) has been merged."
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
        arm64: Enable interrupts before calling do_notify_resume()
        arm64: Use the generic compat_sys_sendfile() implementation
        arm64: Call swiotlb_init() instead of swiotlb_init_with_default_size()
      b5356a19
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 3c5af8d1
      Linus Torvalds authored
      Pull sparc changes from David S Miller:
       "There is an attempt to fix a bad interaction between syscall tracing
        and force_successful_syscall() from Al Viro, but it needs to be redone
        as it introduced regressions and thus had to be reverted for now.
      
        Al is working on an updated version.
      
        But what we do have here are some significant bzero/memset
        improvements for Niagara-4.  An 8K page can be cleared in around 600
        cycles, because we essentially have a store that behaves like
        powerpc's dcbz that we can actually make real use of."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        Revert strace hiccups fix.
        sparc64: Niagara-4 bzero/memset, plus use MRU stores in page copy.
        sparc64: Fix strace hiccups when force_successful_syscall() triggers.
        sparc64: Rearrange thread info to cheaply clear syscall noerror state.
      3c5af8d1
    • Catalin Marinas's avatar
      arm64: Enable interrupts before calling do_notify_resume() · 6916fd08
      Catalin Marinas authored
      task_work_run() implementation had the side effect of enabling
      interrupts. With commit ac3d0da8
      
       (task_work: Make task_work_add()
      lockless), interrupts are no longer enabled revealing the bug in the
      arch code. This patch enables the interrupt explicitly before calling
      do_notify_resume().
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      6916fd08
  2. Oct 08, 2012
    • Catalin Marinas's avatar
      arm64: Use the generic compat_sys_sendfile() implementation · e048d004
      Catalin Marinas authored
      The generic implementation of compat_sys_sendfile() has been introduced
      by commit 8f9c0119
      
      . This patch removes the arm64 implementation in
      favour of the generic one.
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      e048d004
    • Catalin Marinas's avatar
      arm64: Call swiotlb_init() instead of swiotlb_init_with_default_size() · 27222a3d
      Catalin Marinas authored
      Following commit 74838b75
      
       (swiotlb: add the late swiotlb initialization
      function with iotlb memory) the swiotlb_init_with_default_size() is a
      static function. This patch changes the arm64 code to call
      swiotlb_init() instead and use the default size of 64MB. It is assumed
      that AArch64 platforms have enough RAM to afford the pre-allocated
      swiotlb memory. It also removes the #ifdef around this call since
      CONFIG_SWIOTLB is always enabled.
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      27222a3d
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.7-rc1-fastmap' of git://git.infradead.org/linux-ubi · e9eca4de
      Linus Torvalds authored
      Pull UBI fastmap changes from Artem Bityutskiy:
       "This pull request contains the UBI fastmap support implemented by
        Richard Weinberger from Linutronix.  Fastmap is designed to address
        UBI's slow scanning issues.  Namely, it introduces a new on-flash
        data-structure called "fastmap", which stores the information about
        logical<->physical eraseblocks mappings.  So now to get this
        information just read the fastmap, instead of doing full scan.  More
        information here can be found in Richard's announcement in LKML
        (Subject: UBI: Fastmap request for inclusion (v19)):
      
           http://thread.gmane.org/gmane.linux.kernel/1364922/focus=1369109
      
        One thing I want to explicitly say is that fastmap did not have large
        enough linux-next exposure.  It is partially my fault - I did not
        respond quickly enough.  I _really_ apologize for this.  But it had
        good testing and disabled by default, so I do not expect that we'll
        break anything.
      
        Fastmap is declared as experimental so far, and it is off by default.
        We did declare that the on-flash format may be changed.  The reason
        for this is that no one used it in real production so far, so there is
        a high risk that something is missing.  Besides, we do not have
        user-space tools supporting fastmap so far.
      
        Nevertheless, I suggest we merge this feature.  Many people want UBI's
        scanning bottleneck to be fixed and merging fastmap now should
        accelerate its production use.  The plan is to make it bullet-prove,
        somewhat clean-up, and make it the default for UBI.  I do not know how
        many kernel releases will it take.
      
        Basically, I what I want to do for fastmap is something like Linus did
        for btrfs few years ago."
      
      * tag 'upstream-3.7-rc1-fastmap' of git://git.infradead.org/linux-ubi:
        UBI: Wire-up fastmap
        UBI: Add fastmap core
        UBI: Add fastmap support to the WL sub-system
        UBI: Add fastmap stuff to attach.c
        UBI: Wire-up ->fm_sem
        UBI: Add fastmap bits to build.c
        UBI: Add self_check_eba()
        UBI: Export next_sqnum()
        UBI: Add fastmap stuff to ubi.h
        UBI: Add fastmap on-flash data structures
      e9eca4de
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · 1929041b
      Linus Torvalds authored
      Pill drm updates part 2 from Dave Airlie:
       "This is the follow-up pull, 3 pieces
      
        a) exynos next stuff, was delayed but looks okay to me, one patch in
           v4l bits but it was acked by v4l person.
        b) UAPI disintegration bits
        c) intel fixes - DP fixes, hang fixes, other misc fixes."
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (52 commits)
        drm: exynos: hdmi: remove drm common hdmi platform data struct
        drm: exynos: hdmi: add support for exynos5 hdmi
        drm: exynos: hdmi: replace is_v13 with version check in hdmi
        drm: exynos: hdmi: add support for exynos5 mixer
        drm: exynos: hdmi: add support to disable video processor in mixer
        drm: exynos: hdmi: add support for platform variants for mixer
        drm: exynos: hdmi: add support for exynos5 hdmiphy
        drm: exynos: hdmi: add support for exynos5 ddc
        drm: exynos: remove drm hdmi platform data struct
        drm: exynos: hdmi: turn off HPD interrupt in HDMI chip
        drm: exynos: hdmi: use s5p-hdmi platform data
        drm: exynos: hdmi: fix interrupt handling
        drm: exynos: hdmi: support for platform variants
        media: s5p-hdmi: add HPD GPIO to platform data
        UAPI: (Scripted) Disintegrate include/drm
        drm/i915: Fix GT_MODE default value
        drm/i915: don't frob the vblank ts in finish_page_flip
        drm/i915: call drm_handle_vblank before finish_page_flip
        drm/i915: print warning if vmi915_gem_fault error is not handled
        drm/i915: EBUSY status handling added to i915_gem_fault().
        ...
      1929041b
    • Linus Torvalds's avatar
      Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · d43b7167
      Linus Torvalds authored
      Pull kbuild fixes from Michal Marek:
       "Here are two fixes I intended to send after v3.6-rc7, but failed to do
        so.  So please pull them for v3.7-rc1 and they will be picked up by
        stable.
      
        The first one fixes gcc -x <language> syntax in various build-time
        tests, which icecream and possible other gcc wrappers did not
        understand (and yes, icecream is going to be fixed as well).
      
        The second one fixes make tar-pkg so that unpacking the tarball does
        not replace the /lib -> /usr/lib symlink on recent Fedora releases."
      
      * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild: Fix gcc -x syntax
        kbuild: Do not package /boot and /lib in make tar-pkg
      d43b7167
    • Steven Rostedt's avatar
      localmodconfig: Document localmodconfig in README · 80b810b2
      Steven Rostedt authored
      
      
      Someone (over a year ago :-p) asked me to document localmodconfig in the
      README file in the source code.  I thought it was a good idea but other
      things were more important and I simply forgot about it.  Well, I
      stumbled on the email asking me about this and I'm sending it out now.
      
      Signed-off-by: default avatarSteven "Mr. Procrastinator" Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      80b810b2
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux · d8dc91b7
      Linus Torvalds authored
      Pul ACPI & Power Management updates from Len Brown:
       - acpidump utility added
       - intel_idle driver now supports IVB Xeon
       - turbostat utility can now count SMIs
       - ACPI can now bind to USB3 hubs
       - misc fixes
      
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (49 commits)
        ACPI: Add new sysfs interface to export device description
        ACPI: Harden acpi_table_parse_entries() against BIOS bug
        tools/power/turbostat: add option to count SMIs, re-name some options
        tools/power turbostat: add [-d MSR#][-D MSR#] options to print counter deltas
        intel_idle: enable IVB Xeon support
        tools/power turbostat: add [-m MSR#] option
        tools/power turbostat: make -M output pretty
        tools/power turbostat: print more turbo-limit information
        tools/power turbostat: delete unused line
        tools/power turbostat: run on IVB Xeon
        tools/power/acpi/acpidump: create acpidump(8), local make install targets
        tools/power/acp...
      d8dc91b7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 7035cdf3
      Linus Torvalds authored
      Pull ceph updates from Sage Weil:
       "The bulk of this pull is a series from Alex that refactors and cleans
        up the RBD code to lay the groundwork for supporting the new image
        format and evolving feature set.  There are also some cleanups in
        libceph, and for ceph there's fixed validation of file striping
        layouts and a bugfix in the code handling a shrinking MDS cluster."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (71 commits)
        ceph: avoid 32-bit page index overflow
        ceph: return EIO on invalid layout on GET_DATALOC ioctl
        rbd: BUG on invalid layout
        ceph: propagate layout error on osd request creation
        libceph: check for invalid mapping
        ceph: convert to use le32_add_cpu()
        ceph: Fix oops when handling mdsmap that decreases max_mds
        rbd: update remaining header fields for v2
        rbd: get snapshot name for a v2 image
        rbd: get the snapshot context for a v2 image
        rbd: get image features for a v2 image
        rbd: get the object prefix for a v2 rbd image
        rbd: add code to get the size of a v2 rbd image
        rbd: lay out header probe infrastructure
        rbd: encapsulate code that gets snapshot info
        rbd: add an rbd features field
        rbd: don't use index in __rbd_add_snap_dev()
        rbd: kill create_snap sysfs entry
        rbd: define rbd_dev_image_id()
        rbd: define some new format constants
        ...
      7035cdf3
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 6432f212
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "The big new feature added this time is supporting online resizing
        using the meta_bg feature.  This allows us to resize file systems
        which are greater than 16TB.  In addition, the speed of online
        resizing has been improved in general.
      
        We also fix a number of races, some of which could lead to deadlocks,
        in ext4's Asynchronous I/O and online defrag support, thanks to good
        work by Dmitry Monakhov.
      
        There are also a large number of more minor bug fixes and cleanups
        from a number of other ext4 contributors, quite of few of which have
        submitted fixes for the first time."
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (69 commits)
        ext4: fix ext4_flush_completed_IO wait semantics
        ext4: fix mtime update in nodelalloc mode
        ext4: fix ext_remove_space for punch_hole case
        ext4: punch_hole should wait for DIO writers
        ext4: serialize truncate with owerwrite DIO workers
        ext4: endless truncate due to nonlocked dio readers
        ext4: serialize unlocked dio reads with truncate
        ext4: serialize dio nonlocked reads with defrag workers
        ext4: completed_io locking cleanup
        ext4: fix unwritten counter leakage
        ext4: give i_aiodio_unwritten a more appropriate name
        ext4: ext4_inode_info diet
        ext4: convert to use leXX_add_cpu()
        ext4: ext4_bread usage audit
        fs: reserve fallocate flag codepoint
        ext4: remove redundant offset check in mext_check_arguments()
        ext4: don't clear orphan list on ro mount with errors
        jbd2: fix assertion failure in commit code due to lacking transaction credits
        ext4: release donor reference when EXT4_IOC_MOVE_EXT ioctl fails
        ext4: enable FITRIM ioctl on bigalloc file system
        ...
      6432f212
    • Linus Torvalds's avatar
      Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 1b033447
      Linus Torvalds authored
      Pull i2c updates from Jean Delvare:
       "Most visible changes are the SMBus multiplexing support added to the
        i2c-i801 driver, as well as support for the VIA VX900."
      
      * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        i2c-piix4: Fix build failure
        i2c: Correct struct i2c_driver doc about detection
        i2c-i801: Let i2c-mux-gpio find the GPIO chip
        i2c-mux-gpio: Update documentation
        i2c-mux-gpio: Add support for dynamically allocated GPIO pins
        i2c-mux-gpio: Use devm_kzalloc instead of kzalloc
        i2c-i801: Support SMBus multiplexing on Asus Z8 series
        i2c-viapro: Add VIA VX900 device ID
        i2c-parport: i2c_parport_irq can be static
        i2c-designware: i2c_dw_xfer_msg can be static
        i2c/scx200_*: Replace printks with pr_<level>s
        i2c: Make I2C available on UML
        i2c: Convert struct i2c_msg initialization to C99 format
        i2c-smbus: Convert kzalloc to devm_kzalloc
        i2c-mux: Add support for device auto-detection
      1b033447
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · c0703c12
      Linus Torvalds authored
      Pull IOMMU updates from Joerg Roedel:
       "This time the IOMMU updates contain a bunch of fixes and cleanups to
        various IOMMU drivers and the DMA debug code.  New features are the
        code for IRQ remapping support with the AMD IOMMU (preperation for
        that was already merged in the last release) and a debugfs interface
        to export some statistics in the NVidia Tegra IOMMU driver."
      
      * tag 'iommu-updates-v3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (27 commits)
        iommu/amd: Remove obsolete comment line
        dma-debug: Remove local BUS_NOTIFY_UNBOUND_DRIVER define
        iommu/amd: Fix possible use after free in get_irq_table()
        iommu/amd: Report irq remapping through IOMMU-API
        iommu/amd: Print message to system log when irq remapping is enabled
        iommu/irq: Use amd_iommu_irq_ops if supported
        iommu/amd: Make sure irq remapping still works on dma init failure
        iommu/amd: Add initialization routines for AMD interrupt remapping
        iommu/amd: Add call-back routine for HPET MSI
        iommu/amd: Implement MSI routines for interrupt remapping
        iommu/amd: Add IOAPIC remapping routines
        iommu/amd: Add routines to manage irq remapping tables
        iommu/amd: Add IRTE invalidation routine
        iommu/amd: Make sure IOMMU is not considered to translate itself
        iommu/amd: Split device table initialization into irq and dma part
        iommu/amd: Check if IOAPIC information is correct
        iommu/amd: Allocate data structures to keep track of irq remapping tables
        iommu/amd: Add slab-cache for irq remapping tables
        iommu/amd: Keep track of HPET and IOAPIC device ids
        iommu/amd: Fix features reporting
        ...
      c0703c12
  3. Oct 07, 2012
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm · 0e51793e
      Linus Torvalds authored
      Pull ARM updates from Russell King:
       "This is the first chunk of ARM updates for this merge window.
        Conflicts are expected in two files - asm/timex.h and
        mach-integrator/integrator_cp.c.  Nothing particularly stands out more
        than anything else.
      
        Most of the growth is down to the opcodes stuff from Dave Martin,
        which is countered by Rob's patches to use more of the asm-generic
        headers on ARM."
      
      (A few more conflicts grew since then, but it all looked fairly trivial)
      
      * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (44 commits)
        ARM: 7548/1: include linux/sched.h in syscall.h
        ARM: 7541/1: Add ARM ERRATA 775420 workaround
        ARM: ensure vm_struct has its phys_addr member filled in
        ARM: 7540/1: kexec: Check segment memory addresses
        ARM: 7539/1: kexec: scan for dtb magic in segments
        ARM: 7538/1: delay: add registration mechanism for delay timer sources
        ARM: 7536/1: smp: Formalize an IPI for wakeup
        ARM: 7525/1: ptrace: use updated syscall number for syscall auditing
        ARM: 7524/1: support syscall tracing
        ARM: 7519/1: integrator: convert platform devices to Device Tree
        ARM: 7518/1: integrator: convert AMBA devices to device tree
        ARM: 7517/1: integrator: initial device tree support
        ARM: 7516/1: plat-versatile: add DT support to FPGA IRQ
        ARM: 7515/1: integrator: check PL010 base address from resource
        ARM: 7514/1: integrator: call common init function from machine
        ARM: 7522/1: arch_timers: register a time/cycle counter
        ARM: 7523/1: arch_timers: enable the use of the virtual timer
        ARM: 7531/1: mark kernelmode mem{cpy,set} non-experimental
        ARM: 7520/1: Build dtb files in all target
        ARM: Fix build warning in arch/arm/mm/alignment.c
        ...
      0e51793e
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze · 5cad3598
      Linus Torvalds authored
      Pull microblaze arch updates from Michal Simek.
      
      * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
        Revert "microblaze_mmu_v2: Update signal returning address"
        microblaze: Added more support for PCI
        microblaze: Prefer to use pr_XXX instead of printk(KERN_XX)
        microblaze: Fix bug with passing command line
        microblaze: Remove PAGE properties duplication
        microblaze: Remove additional andi which has been already done
        microblaze: Use predefined macro for ESR_DIZ
        microblaze: Support 4k/16k/64k pages
        microblaze: Do not used hardcoded value in exception handler
        microblaze: Added fdt chosen capability for timer
        microblaze: Add support for ioreadXX/iowriteXX_rep
        microblaze: Improve failure handling for GPIO reset
        microblaze: clinkage.h
      5cad3598
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 638c87a9
      Linus Torvalds authored
      Pull IMA bugfix (security subsystem) from James Morris.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        ima: fix bug in argument order
      638c87a9
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 7cb9cf02
      Linus Torvalds authored
      Pull m68knommu arch updates from Greg Ungerer:
       "Most of it is a cleanup of the ColdFire hardware header files.  We
        have had a few occurrances of bugs caused by inconsistent definitions
        of peripheral addresses.  These patches make them all consistent, and
        also clean out a bunch of old crap.  Overall we remove about 1000
        lines."
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (27 commits)
        m68knommu: fix inconsistent formating in ColdFire 5407 definitions
        m68knommu: fix inconsistent formating in ColdFire 5307 definitions
        m68knommu: fix inconsistent formating in ColdFire 527x definitions
        m68knommu: fix inconsistent formating in ColdFire 5272 definitions
        m68knommu: fix inconsistent formating in ColdFire 523x definitions
        m68knommu: clean up ColdFire 54xx General Timer definitions
        m68knommu: clean up Pin Assignment definitions for the 54xx ColdFire CPU
        m68knommu: fix multi-function pin setup for FEC module on ColdFire 523x
        m68knommu: move ColdFire slice timer address defiens to 54xx header
        m68knommu: use read/write IO access functions in ColdFire m532x setup code
        m68knommu: modify ColdFire 532x GPIO register definitions to be consistent
        m68knommu: remove a lot of unsed definitions for 532x ColdFire
        m68knommu: use definitions for the ColdFire 528x FEC multi-function pins
        m68knommu: remove address offsets relative to IPSBAR for ColdFire 527x
        m68knommu: remove unused ColdFire 5282 register definitions
        m68knommu: fix wrong register offsets used for ColdFire 5272 multi-function pins
        m68knommu: make ColdFire 5249 MBAR2 register definitions absolute addresses
        m68knommu: make remaining ColdFire 5272 register definitions absolute addresses
        m68knommu: make ColdFire Park and Assignment register definitions absolute addresses
        m68knommu: make ColdFire Chip Select register definitions absolute addresses
        ...
      7cb9cf02
    • Linus Torvalds's avatar
      Merge branch 'virtio-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · dc92b1f9
      Linus Torvalds authored
      Pull virtio changes from Rusty Russell:
       "New workflow: same git trees pulled by linux-next get sent straight to
        Linus.  Git is awkward at shuffling patches compared with quilt or mq,
        but that doesn't happen often once things get into my -next branch."
      
      * 'virtio-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (24 commits)
        lguest: fix occasional crash in example launcher.
        virtio-blk: Disable callback in virtblk_done()
        virtio_mmio: Don't attempt to create empty virtqueues
        virtio_mmio: fix off by one error allocating queue
        drivers/virtio/virtio_pci.c: fix error return code
        virtio: don't crash when device is buggy
        virtio: remove CONFIG_VIRTIO_RING
        virtio: add help to CONFIG_VIRTIO option.
        virtio: support reserved vqs
        virtio: introduce an API to set affinity for a virtqueue
        virtio-ring: move queue_index to vring_virtqueue
        virtio_balloon: not EXPERIMENTAL any more.
        virtio-balloon: dependency fix
        virtio-blk: fix NULL checking in virtblk_alloc_req()
        virtio-blk: Add REQ_FLUSH and REQ_FUA support to bio path
        virtio-blk: Add bio-based IO path for virtio-blk
        virtio: console: fix error handling in init() function
        tools: Fix pthread flag for Makefile of trace-agent used by virtio-trace
        tools: Add guest trace agent as a user tool
        virtio/console: Allocate scatterlist according to the current pipe size
        ...
      dc92b1f9
    • Linus Torvalds's avatar
      Merge tag 'soc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 5e090ed7
      Linus Torvalds authored
      Pull late ARM soc platform updates from Olof Johansson:
       "This branch contains updates to OMAP and Marvell platforms (kirkwood,
        dove, mvebu) that came in after we had done the big multiplatform
        merges, so they were kept separate from the rest, and not separated
        into the traditional topics of cleanup/driver/platform features.
      
        For OMAP, the updates are:
         - Runtime PM conversions for the GPMC and RNG IP blocks
         - Preparation patches for the OMAP common clock framework conversion
         - clkdev alias additions required by other drivers
         - Performance Monitoring Unit (PMU) support for OMAP2, 3, and
           non-4430 OMAP4
         - OMAP hwmod code and data improvements
         - Preparation patches for the IOMMU runtime PM conversion
         - Preparation patches for OMAP4 full-chip retention support
      
        For Kirkwood/Dove/mvebu:
         - New driver for "address decoder controller" for mvebu, which is a
           piece of hardware that configures addressable devices and
           peripherals.  First user is the boot rom aperture on armada XP
           since it is needed for SMP support.
         - New device tree bindings for peripherals such as gpio-fan, iconnect
           nand, mv_cesa and the above address decoder controller.
         - Some defconfig updates, mostly to enable new DT boards and a few
           drivers.
         - New drivers using the pincontrol subsystem for dove, kirkwood and
           mvebu
         - New clean gpio driver for mvebu"
      
      * tag 'soc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (98 commits)
        ARM: mvebu: fix build breaks from multi-platform conversion
        ARM: OMAP4460/4470: PMU: Enable PMU for OMAP4460/70
        ARM: OMAP2+: PMU: Add runtime PM support
        ARM: OMAP4430: PMU: prepare to create PMU device via HWMOD
        ARM: OMAP2+: PMU: Convert OMAP2/3 devices to use HWMOD
        ARM: OMAP3: hwmod data: Add debugss HWMOD data
        ARM: OMAP2+: clockdomain/hwmod: add workaround for EMU clockdomain idle problems
        ARM: OMAP: Add a timer attribute for timers that can interrupt the DSP
        hwrng: OMAP: remove SoC restrictions from driver registration
        ARM: OMAP: split OMAP1, OMAP2+ RNG device registration
        hwrng: OMAP: convert to use runtime PM
        hwrng: OMAP: store per-device data in per-device variables, not file statics
        ARM: OMAP2xxx: hwmod/CM: add RNG integration data
        ARM: OMAP2+: gpmc: minimal driver support
        ARM: OMAP2+: gpmc: Adapt to HWMOD
        ARM: OMAP2/3: hwmod data: add gpmc
        ARM: OMAP4: hwmod data: add mmu hwmod for ipu and dsp
        ARM: OMAP3: hwmod data: add mmu data for iva and isp
        ARM: OMAP: iommu: fix including iommu.h without IOMMU_API selected
        ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks
        ...
      5e090ed7
    • Linus Torvalds's avatar
      Merge tag 'defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 84424026
      Linus Torvalds authored
      Pull ARM soc defconfig updates from Olof Johansson:
       "This might be the last time we do a standalone defconfig branch, since
        we now prefer to get them with the rest of the subarch updates
        instead.  These add a handful of useful options on various platforms,
        enable new boards and SoCs, etc."
      
      * tag 'defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: tegra: defconfig updates
        ARM: LPC32xx: Defconfig update
        ARM: mach-shmobile: marzen: defconfig update
        ARM: mxs_defconfig: Add SPI and LRADC support
        ARM: s3c6400_defconfig: enable more boards in defconfig
        ARM: imx_v6_v7_defconfig: Remove CONFIG_DEFAULT_MMAP_MIN_ADDR
        ARM: imx_v6_v7_defconfig: Add Chipidea USB driver support
        ARM: mxs_defconfig: Add framebuffer support
        ARM: mxs_defconfig: Add LED, PWM and MTD_CHAR support
        ARM: mxs_defconfig: Enable USB host
      84424026