1. 11 Apr, 2015 8 commits
  2. 10 Apr, 2015 6 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 49850a14
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "Just a few small fixes:
      
        Two from Andy, the first addresses a v4.0 target specific regression
        to a user visible configfs attribute, and the second adds a set of
        missing brackets around IPv6 discovery portal information within
        iscsi-target.
      
        And one from Mike that fixes an OOPs regression in traditional
        iscsi-target when an iovec allocation fails, that has been present
        since v3.10.y code.  (CC'd to stable)"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        iscsi target: fix oops when adding reject pdu
        iscsi-target: TargetAddress in SendTargets should bracket ipv6 addresses
        target: Allow userspace to write 1 to attrib/emulate_fua_write
      49850a14
    • Mike Christie's avatar
      iscsi target: fix oops when adding reject pdu · b815fc12
      Mike Christie authored
      This fixes a oops due to a double list add when adding a reject PDU for
      iscsit_allocate_iovecs allocation failures. The cmd has already been
      added to the conn_cmd_list in iscsit_setup_scsi_cmd, so this has us call
      iscsit_reject_cmd.
      
      Note that for ERL0 the reject PDU is not actually sent, so this patch
      is not completely tested. Just verified we do not oops. The problem is the
      add reject functions return -1 which is returned all the way up to
      iscsi_target_rx_thread which for ERL0 will drop the connection.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Cc: <stable@vger.kernel.org> # v3.10+
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      b815fc12
    • Linus Torvalds's avatar
      Merge tag 'sound-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · cfc4957b
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are fixes gathered for 4.0-final; one FireFire endian fix, two
        USB-audio quirks, and three HD-audio quirks.
      
        All relatively small and device-specific fixes, should be pretty safe
        to apply"
      
      * tag 'sound-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support
        ALSA: hda - Fix headphone pin config for Lifebook T731
        ALSA: bebob: fix to processing in big-endian machine for sending cue
        ALSA: hda/realtek - Make more stable to get pin sense for ALC283
        ALSA: usb-audio: don't try to get Benchmark DAC1 sample rate
        ALSA: hda/realtek - Support Dell headset mode for ALC256
      cfc4957b
    • Linus Torvalds's avatar
      Merge tag 'nios2-fixes-v4.0-final' of git://git.rocketboards.org/linux-socfpga-next · 6fb805fb
      Linus Torvalds authored
      Pull arch/nios2 fixes from Ley Foon Tan:
       "There are 3 arch/nios2 fixes for 4.0 final:
      
         - fix cache coherency issue when debugging with gdb
      
         - move restart_block to struct task_struct (aligned with other
           architectures)
      
         - fix for missing registers defines for ptrace"
      
      * tag 'nios2-fixes-v4.0-final' of git://git.rocketboards.org/linux-socfpga-next:
        nios2: fix cache coherency issue when debug with gdb
        nios2: add missing ptrace registers defines
        nios2: signal: Move restart_block to struct task_struct
      6fb805fb
    • Ley Foon Tan's avatar
      nios2: fix cache coherency issue when debug with gdb · 4a89c308
      Ley Foon Tan authored
      Remove the end address checking for flushda function. We need to flush
      each address line for flushda instruction, from start to end address.
      This is because flushda instruction only flush the cache if tag and line
      fields are matched.
      
      Change to use ldwio instruction (bypass cache) to load the instruction
      that causing trap. Our interest is the actual instruction that executed
      by the processor, this should be uncached.
      Note, EA address might be an userspace cached address.
      Signed-off-by: default avatarLey Foon Tan <lftan@altera.com>
      4a89c308
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.0-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e5e02de0
      Linus Torvalds authored
      Pull power management and ACPI fixes from Rafael Wysocki:
       "These are stable-candidate fixes of some recently reported issues in
        the cpufreq core, cpuidle core, the ACPI cpuidle driver and the
        hibernate core.
      
        Specifics:
      
         - Revert a 3.17 hibernate commit that was supposed to fix an issue
           related to e820 reserved regions, but broke resume from hibernation
           on Lenovo x230 (Rafael J Wysocki).
      
         - Prevent the ACPI cpuidle driver from overwriting the name and
           description of the C0 state set by the core when the list of
           C-states changes (Thomas Schlichter).
      
         - Remove the no longer needed state_count field from struct
           cpuidle_device which prevents the list of C-states shown by the
           sysfs interface from becoming incorrect when the current number of
           them is different from the number of C-states on boot (Bartlomiej
           Zolnierkiewicz).
      
         - The cpufreq core updates the policy object of the only online CPU
           during system resume to make it reflect the current hardware state,
           but it always assumes that CPU to be CPU0 which need not be the
           case, so fix the code to avoid that assumption (Viresh Kumar)"
      
      * tag 'pm+acpi-4.0-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions"
        cpuidle: ACPI: do not overwrite name and description of C0
        cpuidle: remove state_count field from struct cpuidle_device
        cpufreq: Schedule work for the first-online CPU on resume
      e5e02de0
  3. 09 Apr, 2015 4 commits
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-sleep', 'pm-cpufreq' and 'pm-cpuidle' · b2d5fb97
      Rafael J. Wysocki authored
      * pm-sleep:
        Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions"
      
      * pm-cpufreq:
        cpufreq: Schedule work for the first-online CPU on resume
      
      * pm-cpuidle:
        cpuidle: ACPI: do not overwrite name and description of C0
        cpuidle: remove state_count field from struct cpuidle_device
      b2d5fb97
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.0-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 3cfb2f79
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
       "Here are some fixes for v4.0.  I apologize for how late they are.  We
        were hoping for some better fixes, but couldn't get them polished in
        time.  These fix:
      
         - a Xen domU oops with PCI passthrough devices
         - a sparc T5 boot failure
         - a STM SPEAr13xx crash (use after initdata freed)
         - a cpcihp hotplug driver thinko
         - an AER thinko that printed stack junk
      
        Details:
      
        Enumeration
          - Don't look for ACPI hotplug parameters if ACPI is disabled (Bjorn Helgaas)
      
        Resource management
          - Revert "sparc/PCI: Clip bridge windows to fit in upstream windows" (Bjorn Helgaas)
      
        AER
          - Avoid info leak in __print_tlp_header() (Rasmus Villemoes)
      
        PCI device hotplug
          - Add missing curly braces in cpci_configure_slot() (Dan Carpenter)
      
        ST Microelectronics SPEAr13xx host bridge driver
          - Drop __initdata from spear13xx_pcie_driver (Matwey V. Kornilov)
      
      * tag 'pci-v4.0-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        Revert "sparc/PCI: Clip bridge windows to fit in upstream windows"
        PCI: Don't look for ACPI hotplug parameters if ACPI is disabled
        PCI: cpcihp: Add missing curly braces in cpci_configure_slot()
        PCI/AER: Avoid info leak in __print_tlp_header()
        PCI: spear: Drop __initdata from spear13xx_pcie_driver
      3cfb2f79
    • Dmitry M. Fedin's avatar
      ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support · 3dc8523f
      Dmitry M. Fedin authored
      Adds an entry for Creative USB X-Fi to the rc_config array in
      mixer_quirks.c to allow use of volume knob on the device.
      Adds support for newer X-Fi Pro card, known as "Model No. SB1095"
      with USB ID "041e:3237"
      Signed-off-by: default avatarDmitry M. Fedin <dmitry.fedin@gmail.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3dc8523f
    • Ley Foon Tan's avatar
      nios2: add missing ptrace registers defines · e3e29f99
      Ley Foon Tan authored
      These are all register available in nios2.
      Signed-off-by: default avatarLey Foon Tan <lftan@altera.com>
      e3e29f99
  4. 08 Apr, 2015 17 commits
  5. 07 Apr, 2015 5 commits
    • Naoya Horiguchi's avatar
      mm: numa: disable change protection for vma(VM_HUGETLB) · 6b79c57b
      Naoya Horiguchi authored
      Currently when a process accesses a hugetlb range protected with
      PROTNONE, unexpected COWs are triggered, which finally puts the hugetlb
      subsystem into a broken/uncontrollable state, where for example
      h->resv_huge_pages is subtracted too much and wraps around to a very
      large number, and the free hugepage pool is no longer maintainable.
      
      This patch simply stops changing protection for vma(VM_HUGETLB) to fix
      the problem.  And this also allows us to avoid useless overhead of minor
      faults.
      Signed-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Suggested-by: default avatarMel Gorman <mgorman@suse.de>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6b79c57b
    • Mark Brown's avatar
      include/linux/dmapool.h: declare struct device · ce66b032
      Mark Brown authored
      dmapool uses struct device in function arguments but relies on an
      implicit inclusion to declare struct device causing warnings in some
      configurations:
      
        include/linux/dmapool.h:31:7: warning: 'struct device' declared inside parameter list
      
      Fix this by adding a struct device declaration to the file.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ce66b032
    • Mel Gorman's avatar
      mm: move zone lock to a different cache line than order-0 free page lists · a368ab67
      Mel Gorman authored
      Huang Ying reported the following problem due to commit 3484b2de ("mm:
      rearrange zone fields into read-only, page alloc, statistics and page
      reclaim lines") from the Intel performance tests
      
          24b7e581  3484b2de
          ----------------  --------------------------
                   %stddev     %change         %stddev
                       \          |                \
              152288 \261  0%     -46.2%      81911 \261  0%  aim7.jobs-per-min
                 237 \261  0%     +85.6%        440 \261  0%  aim7.time.elapsed_time
                 237 \261  0%     +85.6%        440 \261  0%  aim7.time.elapsed_time.max
               25026 \261  0%     +70.7%      42712 \261  0%  aim7.time.system_time
             2186645 \261  5%     +32.0%    2885949 \261  4%  aim7.time.voluntary_context_switches
             4576561 \261  1%     +24.9%    5715773 \261  0%  aim7.time.involuntary_context_switches
      
      The problem is specific to very large machines under stress.  It was not
      reproducible with the machines I had used to justify the original patch
      because large numbers of CPUs are required.  When pressure is high enough,
      the cache line is bouncing between CPUs trying to acquire the lock and the
      holder of the lock adjusting free lists.  The intention was that the
      acquirer of the lock would automatically have the cache line holding the
      free lists but according to Huang, this is not a universal win.
      
      One possibility is to move the zone lock to its own cache line but it
      increases the size of the zone.  This patch moves the lock to the other
      end of the free lists where they do not contend under high pressure.  It
      does mean the page allocator paths now require more cache lines but Huang
      reports that it restores performance to previous levels on large machines
      
                   %stddev     %change         %stddev
                       \          |                \
               84568 \261  1%     +94.3%     164280 \261  1%  aim7.jobs-per-min
             2881944 \261  2%     -35.1%    1870386 \261  8%  aim7.time.voluntary_context_switches
                 681 \261  1%      -3.4%        658 \261  0%  aim7.time.user_time
             5538139 \261  0%     -12.1%    4867884 \261  0%  aim7.time.involuntary_context_switches
               44174 \261  1%     -46.0%      23848 \261  1%  aim7.time.system_time
                 426 \261  1%     -48.4%        219 \261  1%  aim7.time.elapsed_time
                 426 \261  1%     -48.4%        219 \261  1%  aim7.time.elapsed_time.max
                 468 \261  1%     -43.1%        266 \261  2%  uptime.boot
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Reported-by: default avatarHuang Ying <ying.huang@intel.com>
      Tested-by: default avatarHuang Ying <ying.huang@intel.com>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a368ab67
    • Ilya Dryomov's avatar
      Revert "libceph: use memalloc flags for net IO" · 6d7fdb0a
      Ilya Dryomov authored
      This reverts commit 89baaa57.
      
      Dirty page throttling should be sufficient for us in the general case
      so there is no need to use __GFP_MEMALLOC - it would be needed only in
      the swap-over-rbd case, which we currently don't support.  (It would
      probably take approximately the commit that is being reverted to add
      that support, but we would also need the "swap" option to distinguish
      from the general case and make sure swap ceph_client-s aren't shared
      with anything else.)  See ceph-devel threads [1] and [2] for the
      details of why enabling pfmemalloc reserves for all cases is a bad
      thing.
      
      On top of potential system lockups related to drained emergency
      reserves, this turned out to cause ceph lockups in case peers are on
      the same host and communicating via loopback due to sk_filter()
      dropping pfmemalloc skbs on the receiving side because the receiving
      loopback socket is not tagged with SOCK_MEMALLOC.
      
      [1] "SOCK_MEMALLOC vs loopback"
          http://www.spinics.net/lists/ceph-devel/msg22998.html
      [2] "[PATCH] libceph: don't set memalloc flags in loopback case"
          http://www.spinics.net/lists/ceph-devel/msg23392.html
      
      Conflicts:
      	net/ceph/messenger.c [ context: tcp_nodelay option ]
      
      Cc: Mike Christie <michaelc@cs.wisc.edu>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Sage Weil <sage@redhat.com>
      Cc: stable@vger.kernel.org # 3.18+, needs backporting
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      Acked-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Acked-by: default avatarMel Gorman <mgorman@suse.de>
      6d7fdb0a
    • Jesse Barnes's avatar
      drm/i915/vlv: remove wait for previous GFX clk disable request · 5df0582b
      Jesse Barnes authored
      Looks like it was introduced in:
      
      commit 650ad970
      Author: Imre Deak <imre.deak@intel.com>
      Date:   Fri Apr 18 16:35:02 2014 +0300
      
          drm/i915: vlv: factor out vlv_force_gfx_clock and check for pending force-of
      
      but I'm not sure why.  It has caused problems for us in the past (see
      85250ddf "drm/i915/chv: Remove Wait for a previous gfx force-off"
      and 8d4eee9c "drm/i915: vlv: increase timeout when forcing on the
      GFX clock") and doesn't seem to be required, so let's just drop it.
      
      References: https://bugs.freedesktop.org/show_bug.cgi?id=89611Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Tested-by: default avatarDarren Hart <dvhart@linux.intel.com>
      Reviewed-by: default avatarDeepak S <deepak.s@linux.intel.com>
      Cc: stable@vger.kernel.org # c9c52e24: drm/i915/chv: Remove Wait ...
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      5df0582b