Skip to content
  1. Sep 17, 2013
  2. Sep 13, 2013
  3. Sep 12, 2013
    • Naoya Horiguchi's avatar
      mm: migrate: check movability of hugepage in unmap_and_move_huge_page() · 83467efb
      Naoya Horiguchi authored
      
      
      Currently hugepage migration works well only for pmd-based hugepages
      (mainly due to lack of testing,) so we had better not enable migration of
      other levels of hugepages until we are ready for it.
      
      Some users of hugepage migration (mbind, move_pages, and migrate_pages) do
      page table walk and check pud/pmd_huge() there, so they are safe.  But the
      other users (softoffline and memory hotremove) don't do this, so without
      this patch they can try to migrate unexpected types of hugepages.
      
      To prevent this, we introduce hugepage_migration_support() as an
      architecture dependent check of whether hugepage are implemented on a pmd
      basis or not.  And on some architecture multiple sizes of hugepages are
      available, so hugepage_migration_support() also checks hugepage size.
      
      Signed-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Hillf Danton <dhillf@gmail.com>
      Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      83467efb
  4. Sep 11, 2013
  5. Sep 10, 2013
  6. Sep 09, 2013
  7. Sep 07, 2013
  8. Sep 05, 2013
    • Peter Maydell's avatar
      ARM: PCI: versatile: Fix SMAP register offsets · 99f2b130
      Peter Maydell authored
      
      
      The SMAP register offsets in the versatile PCI controller code were
      all off by four.  (This didn't have any observable bad effects
      because on this board PHYS_OFFSET is zero, and (a) writing zero to
      the flags register at offset 0x10 has no effect and (b) the reset
      value of the SMAP register is zero anyway, so failing to write SMAP2
      didn't matter.)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
      99f2b130
    • Peter Maydell's avatar
      ARM: PCI: versatile: Fix PCI I/O · 829f9fed
      Peter Maydell authored
      
      
      The versatile PCI controller code was confused between the
      PCI I/O window (at 0x43000000) and the first PCI memory
      window (at 0x44000000). Pass the correct base address to
      pci_remap_io() so that PCI I/O accesses work.
      
      Since the first PCI memory window isn't used at all (it's
      an odd size), rename the associated variables and labels
      so that it's clear that it isn't related to the I/O window.
      
      This has been tested and confirmed to fix PCI I/O accesses
      both on physical PB926+PCI backplane hardware and on QEMU.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
      829f9fed
    • Peter Maydell's avatar
      ARM: PCI: versatile: Fix map_irq function to match hardware · f9b71fef
      Peter Maydell authored
      The PCI controller code for the Versatile board has never had the
      correct IRQ mapping for hardware.  For many years it had an odd
      mapping ("all interrupts are int 27") which aligned with the
      equivalent bug in QEMU.  However as of commit 1bc39ac5
      
      
      the mapping changed and no longer matched either hardware or QEMU,
      with the result that any PCI card beyond the first in QEMU would
      not have functioning interrupts; for example a boot with a SCSI
      controller would time out as follows:
      
       ------------
       sym0: <895a> rev 0x0 at pci 0000:00:0d.0 irq 92
       sym0: SCSI BUS has been reset.
       scsi0 : sym-2.2.3
       [...]
       scsi 0:0:0:0: ABORT operation started
       scsi 0:0:0:0: ABORT operation timed-out.
       scsi 0:0:0:0: DEVICE RESET operation started
       scsi 0:0:0:0: DEVICE RESET operation timed-out.
       scsi 0:0:0:0: BUS RESET operation started
       scsi 0:0:0:0: BUS RESET operation timed-out.
       scsi 0:0:0:0: HOST RESET operation started
       sym0: SCSI BUS has been reset
       ------------
      
      Fix the mapping so that it matches real hardware (checked against the
      schematics for PB926 and backplane, and tested against the hardware).
      This allows PCI cards using interrupts to work on hardware for the
      first time; this change will also work with QEMU 1.5 or later, where
      the equivalent bugs in the modelling of the hardware have been fixed.
      
      Although QEMU will attempt to autodetect whether the kernel is
      expecting the long-standing "everything is int 27" mapping or the one
      hardware has, for certainty we force it into "definitely behave like
      hardware mode"; this will avoid unexpected surprises later if we
      implement sparse irqs. This is harmless on hardware.
      
      Thanks to Paul Gortmaker for bisecting the problem and finding an initial
      solution, to Russell King for providing the correct interrupt mapping,
      and to Guenter Roeck for providing an initial version of this patch
      and prodding me into relocating the hardware and retesting everything.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
      f9b71fef
  9. Sep 04, 2013
  10. Sep 03, 2013
  11. Sep 02, 2013
  12. Aug 31, 2013