1. 20 Dec, 2013 5 commits
    • Johannes Weiner's avatar
      mm: page_alloc: revert NUMA aspect of fair allocation policy · fff4068c
      Johannes Weiner authored
      Commit 81c0a2bb ("mm: page_alloc: fair zone allocator policy") meant
      to bring aging fairness among zones in system, but it was overzealous
      and badly regressed basic workloads on NUMA systems.
      
      Due to the way kswapd and page allocator interacts, we still want to
      make sure that all zones in any given node are used equally for all
      allocations to maximize memory utilization and prevent thrashing on the
      highest zone in the node.
      
      While the same principle applies to NUMA nodes - memory utilization is
      obviously improved by spreading allocations throughout all nodes -
      remote references can be costly and so many workloads prefer locality
      over memory utilization.  The original change assumed that
      zone_reclaim_mode would be a good enough predictor for that, but it
      turned out to be as indicative as a coin flip.
      
      Revert the NUMA aspect of the fairness until we can find a proper way to
      make it configurable and agree on a sane default.
      Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Reviewed-by: default avatarMichal Hocko <mhocko@suse.cz>
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Cc: <stable@kernel.org> # 3.12
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fff4068c
    • Mel Gorman's avatar
      Revert "mm: page_alloc: exclude unreclaimable allocations from zone fairness policy" · 8798cee2
      Mel Gorman authored
      This reverts commit 73f038b8.  The NUMA behaviour of this patch is
      less than ideal.  An alternative approch is to interleave allocations
      only within local zones which is implemented in the next patch.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8798cee2
    • Kirill A. Shutemov's avatar
      mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support · ee53664b
      Kirill A. Shutemov authored
      Sasha Levin found a NULL pointer dereference that is due to a missing
      page table lock, which in turn is due to the pmd entry in question being
      a transparent huge-table entry.
      
      The code - introduced in commit 1998cc04 ("mm: make
      madvise(MADV_WILLNEED) support swap file prefetch") - correctly checks
      for this situation using pmd_none_or_trans_huge_or_clear_bad(), but it
      turns out that that function doesn't work correctly.
      
      pmd_none_or_trans_huge_or_clear_bad() expected that pmd_bad() would
      trigger if the transparent hugepage bit was set, but it doesn't do that
      if pmd_numa() is also set. Note that the NUMA bit only gets set on real
      NUMA machines, so people trying to reproduce this on most normal
      development systems would never actually trigger this.
      
      Fix it by removing the very subtle (and subtly incorrect) expectation,
      and instead just checking pmd_trans_huge() explicitly.
      Reported-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Acked-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
      [ Additionally remove the now stale test for pmd_trans_huge() inside the
        pmd_bad() case - Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ee53664b
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.13-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 4203d0eb
      Linus Torvalds authored
      Pull Xen bugfixes from Konrad Rzeszutek Wilk:
       - Fix balloon driver for auto-translate guests (PVHVM, ARM) to not use
         scratch pages.
       - Fix block API header for ARM32 and ARM64 to have proper layout
       - On ARM when mapping guests, stick on PTE_SPECIAL
       - When using SWIOTLB under ARM, don't call swiotlb functions twice
       - When unmapping guests memory and if we fail, don't return pages which
         failed to be unmapped.
       - Grant driver was using the wrong address on ARM.
      
      * tag 'stable/for-linus-3.13-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/balloon: Seperate the auto-translate logic properly (v2)
        xen/block: Correctly define structures in public headers on ARM32 and ARM64
        arm: xen: foreign mapping PTEs are special.
        xen/arm64: do not call the swiotlb functions twice
        xen: privcmd: do not return pages which we have failed to unmap
        XEN: Grant table address, xen_hvm_resume_frames, is a phys_addr not a pfn
      4203d0eb
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v3.13-rc2' of... · 5263f0a8
      Linus Torvalds authored
      Merge tag 'trace-fixes-v3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull ftrace fix from Steven Rostedt:
       "This fixes a long standing bug in the ftrace profiler.  The problem is
        that the profiler only initializes the online CPUs, and not possible
        CPUs.  This causes issues if the user takes CPUs online or offline
        while the profiler is running.
      
        If we online a CPU after starting the profiler, we lose all the trace
        information on the CPU going online.
      
        If we offline a CPU after running a test and start a new test, it will
        not clear the old data from that CPU.
      
        This bug causes incorrect data to be reported to the user if they
        online or offline CPUs during the profiling"
      
      * tag 'trace-fixes-v3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Initialize the ftrace profiler for each possible cpu
      5263f0a8
  2. 19 Dec, 2013 32 commits
  3. 18 Dec, 2013 3 commits
    • Linus Torvalds's avatar
      Merge tag 'usb-3.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · a36c160c
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a few USB fixes for things that have people have reported
        issues with recently"
      
      * tag 'usb-3.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: ohci-at91: fix irq and iomem resource retrieval
        usb: phy: fix driver dependencies
        phy: kconfig: add depends on "USB_PHY" to OMAP_USB2 and TWL4030_USB
        drivers: phy: tweaks to phy_create()
        drivers: phy: Fix memory leak
        xhci: Limit the spurious wakeup fix only to HP machines
        usb: chipidea: fix nobody cared IRQ when booting with host role
        usb: chipidea: host: Only disable the vbus regulator if it is not NULL
        usb: serial: zte_ev: move support for ZTE AC2726 from zte_ev back to option
        usb: cdc-wdm: manage_power should always set needs_remote_wakeup
        usb: phy-tegra-usb.c: wrong pointer check for remap UTMI
        usb: phy: twl6030-usb: signedness bug in twl6030_readb()
        usb: dwc3: power off usb phy in error path
        usb: dwc3: invoke phy_resume after phy_init
      a36c160c
    • Linus Torvalds's avatar
      Merge tag 'tty-3.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · e5233658
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are a few fixes for 3.13-rc5 that resolve a number of reported
        tty and serial driver issues"
      
      * tag 'tty-3.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: xuartps: Properly guard sysrq specific code
        n_tty: Fix apparent order of echoed output
        serial: 8250_dw: add new ACPI IDs
        serial: 8250_dw: Fix LCR workaround regression
        tty: Fix hang at ldsem_down_read()
      e5233658
    • Linus Torvalds's avatar
      Merge tag 'staging-3.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 1aba038b
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are a number of staging, and iio, fixes for 3.13-rc5 that resolve
        some reported issues"
      
      * tag 'staging-3.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        imx-drm: imx-drm-core: improve safety of imx_drm_add_crtc()
        imx-drm: imx-drm-core: make imx_drm_crtc_register() safer
        imx-drm: imx-drm-core: use defined constant for number of CRTCs.
        imx-drm: imx-tve: don't call sleeping functions beneath enable_lock spinlock
        imx-drm: ipu-v3: fix potential CRTC device registration race
        imx-drm: imx-drm-core: fix DRM cleanup paths
        imx-drm: imx-drm-core: fix error cleanup path for imx_drm_add_crtc()
        staging: comedi: drivers: fix return value of comedi_load_firmware()
        staging: comedi: 8255_pci: fix for newer PCI-DIO48H
        iio:adc:ad7887 Fix channel reported endianness from cpu to big endian
        iio:imu:adis16400 fix pressure channel scan type
        staging:iio:mag:hmc5843 fix incorrect endianness of channel as a result of missuse of the IIO_ST macro.
        iio: cm36651: Changed return value of read function
      1aba038b