1. 09 Mar, 2017 2 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq-sched' · 32d3b06a
      Rafael J. Wysocki authored
      * pm-cpufreq-sched:
        cpufreq: schedutil: Pass sg_policy to get_next_freq()
        cpufreq: schedutil: move cached_raw_freq to struct sugov_policy
      32d3b06a
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · fd8e57d5
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: intel_pstate: Do not reinit performance limits in ->setpolicy
        cpufreq: intel_pstate: Fix intel_pstate_verify_policy()
        cpufreq: intel_pstate: Fix global settings in active mode
        cpufreq: Add the "cpufreq.off=1" cmdline option
        cpufreq: intel_pstate: Avoid triggering cpu_frequency tracepoint unnecessarily
        cpufreq: intel_pstate: Fix intel_cpufreq_verify_policy()
        cpufreq: intel_pstate: Do not use performance_limits in passive mode
      fd8e57d5
  2. 05 Mar, 2017 8 commits
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: Do not reinit performance limits in ->setpolicy · a240c4aa
      Rafael J. Wysocki authored
      If the current P-state selection algorithm is set to "performance"
      in intel_pstate_set_policy(), the limits may be initialized from
      scratch, but only if no_turbo is not set and the maximum frequency
      allowed for the given CPU (i.e. the policy object representing it)
      is at least equal to the max frequency supported by the CPU.  In all
      of the other cases, the limits will not be updated.
      
      For example, the following can happen:
      
       # cat intel_pstate/status
       active
       # echo performance > cpufreq/policy0/scaling_governor
       # cat intel_pstate/min_perf_pct
       100
       # echo 94 > intel_pstate/min_perf_pct
       # cat intel_pstate/min_perf_pct
       100
       # cat cpufreq/policy0/scaling_max_freq
       3100000
       echo 3000000 > cpufreq/policy0/scaling_max_freq
       # cat intel_pstate/min_perf_pct
       94
       # echo 95 > intel_pstate/min_perf_pct
       # cat intel_pstate/min_perf_pct
       95
      
      That is confusing for two reasons.  First, the initial attempt to
      change min_perf_pct to 94 seems to have no effect, even though
      setting the global limits should always work.  Second, after
      changing scaling_max_freq for policy0 the global min_perf_pct
      attribute shows 94, even though it should have not been affected
      by that operation in principle.
      
      Moreover, the final attempt to change min_perf_pct to 95 worked
      as expected, because scaling_max_freq for the only policy with
      scaling_governor equal to "performance" was different from the
      maximum at that time.
      
      To make all that confusion go away, modify intel_pstate_set_policy()
      so that it doesn't reinitialize the limits at all.
      
      At the same time, change intel_pstate_set_performance_limits() to
      set min_sysfs_pct to 100 in the "performance" limits set so that
      switching the P-state selection algorithm to "performance" causes
      intel_pstate/min_perf_pct in sysfs to go to 100 (or whatever value
      min_sysfs_pct in the "performance" limits is set to later).
      
      That requires per-CPU limits to be initialized explicitly rather
      than by copying the global limits to avoid setting min_sysfs_pct
      in the per-CPU limits to 100.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a240c4aa
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: Fix intel_pstate_verify_policy() · d74b1992
      Rafael J. Wysocki authored
      The code added to intel_pstate_verify_policy() by commit 1443ebba
      (cpufreq: intel_pstate: Fix sysfs limits enforcement for performance
      policy) should use perf_limits instead of limits, because otherwise
      setting global limits via sysfs may affect policies inconsistently.
      
      For example, in the sequence of shell commands below, the
      scaling_min_freq attribute for policy1 and policy2 should be
      affected in the same way, because scaling_governor is set in
      the same way for both of them:
      
       # cat cpufreq/policy1/scaling_governor
       powersave
       # cat cpufreq/policy2/scaling_governor
       powersave
       # echo performance > cpufreq/policy0/scaling_governor
       # echo 94 > intel_pstate/min_perf_pct
       # cat cpufreq/policy0/scaling_min_freq
       2914000
       # cat cpufreq/policy1/scaling_min_freq
       2914000
       # cat cpufreq/policy2/scaling_min_freq
       800000
      
      The are affected differently, because intel_pstate_verify_policy()
      is invoked with limits set to &performance_limits (left behind by
      policy0) for policy1 and with limits set to &powersave_limits (left
      behind by policy1) for policy2.  Since perf_limits is set to the
      set of limits matching the policy being updated, using it instead
      of limits fixes the inconsistency.
      
      Fixes: 1443ebba (cpufreq: intel_pstate: Fix sysfs limits enforcement for performance policy)
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d74b1992
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: Fix global settings in active mode · cd59b4be
      Rafael J. Wysocki authored
      Commit 111b8b3f (cpufreq: intel_pstate: Always keep all
      limits settings in sync) changed intel_pstate to invoke
      cpufreq_update_policy() for every registered CPU on global sysfs
      attributes updates, but that led to undesirable effects in the
      active mode if the "performance" P-state selection algorithm is
      configufred for one CPU and the "powersave" one is chosen for
      all of the other CPUs.
      
      Namely, in that case, the following is possible:
      
       # cd /sys/devices/system/cpu/
       # cat intel_pstate/max_perf_pct
       100
       # cat intel_pstate/min_perf_pct
       26
       # echo performance > cpufreq/policy0/scaling_governor
       # cat intel_pstate/max_perf_pct
       100
       # cat intel_pstate/min_perf_pct
       100
       # echo 94 > intel_pstate/min_perf_pct
       # cat intel_pstate/min_perf_pct
       26
      
      The reason why this happens is because intel_pstate attempts to
      maintain two sets of global limits in the active mode, one for
      the "performance" P-state selection algorithm and one for the
      "powersave"  P-state selection algorithm, but the P-state selection
      algorithms are set per policy, so the global limits cannot reflect
      all of them at the same time if they are different for different
      policies.
      
      In the particular situation above, the attempt to change
      min_perf_pct to 94 caused cpufreq_update_policy() to be run
      for a CPU with the "powersave"  P-state selection algorithm
      and intel_pstate_set_policy() called by it silently switched the
      global limits to the "powersave" set which finally was reflected
      by the sysfs interface.
      
      To prevent that from happening, modify intel_pstate_update_policies()
      to always switch back to the set of limits that was used right before
      it has been invoked.
      
      Fixes: 111b8b3f (cpufreq: intel_pstate: Always keep all limits settings in sync)
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      cd59b4be
    • Len Brown's avatar
      cpufreq: Add the "cpufreq.off=1" cmdline option · d82f2692
      Len Brown authored
      Add the "cpufreq.off=1" cmdline option.
      
      At boot-time, this allows a user to request CONFIG_CPU_FREQ=n
      behavior from a kernel built with CONFIG_CPU_FREQ=y.
      
      This is analogous to the existing "cpuidle.off=1" option
      and CONFIG_CPU_IDLE=y
      
      This capability is valuable when we need to debug end-user
      issues in the BIOS or in Linux.  It is also convenient
      for enabling comparisons, which may otherwise require a new kernel,
      or help from BIOS SETUP, which may be buggy or unavailable.
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d82f2692
    • Viresh Kumar's avatar
      cpufreq: schedutil: Pass sg_policy to get_next_freq() · 655cb1eb
      Viresh Kumar authored
      get_next_freq() uses sg_cpu only to get sg_policy, which the callers of
      get_next_freq() already have. Pass sg_policy instead of sg_cpu to
      get_next_freq(), to make it more efficient.
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      655cb1eb
    • Viresh Kumar's avatar
      cpufreq: schedutil: move cached_raw_freq to struct sugov_policy · 6c4f0fa6
      Viresh Kumar authored
      cached_raw_freq applies to the entire cpufreq policy and not individual
      CPUs. Apart from wasting per-cpu memory, it is actually wrong to keep it
      in struct sugov_cpu as we may end up comparing next_freq with a stale
      cached_raw_freq of a random CPU.
      
      Move cached_raw_freq to struct sugov_policy.
      
      Fixes: 5cbea469 (cpufreq: schedutil: map raw required frequency to driver frequency)
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      6c4f0fa6
    • Linus Torvalds's avatar
      Linux 4.11-rc1 · c1ae3cfa
      Linus Torvalds authored
      c1ae3cfa
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 8d70eeb8
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix double-free in batman-adv, from Sven Eckelmann.
      
       2) Fix packet stats for fast-RX path, from Joannes Berg.
      
       3) Netfilter's ip_route_me_harder() doesn't handle request sockets
          properly, fix from Florian Westphal.
      
       4) Fix sendmsg deadlock in rxrpc, from David Howells.
      
       5) Add missing RCU locking to transport hashtable scan, from Xin Long.
      
       6) Fix potential packet loss in mlxsw driver, from Ido Schimmel.
      
       7) Fix race in NAPI handling between poll handlers and busy polling,
          from Eric Dumazet.
      
       8) TX path in vxlan and geneve need proper RCU locking, from Jakub
          Kicinski.
      
       9) SYN processing in DCCP and TCP need to disable BH, from Eric
          Dumazet.
      
      10) Properly handle net_enable_timestamp() being invoked from IRQ
          context, also from Eric Dumazet.
      
      11) Fix crash on device-tree systems in xgene driver, from Alban Bedel.
      
      12) Do not call sk_free() on a locked socket, from Arnaldo Carvalho de
          Melo.
      
      13) Fix use-after-free in netvsc driver, from Dexuan Cui.
      
      14) Fix max MTU setting in bonding driver, from WANG Cong.
      
      15) xen-netback hash table can be allocated from softirq context, so use
          GFP_ATOMIC. From Anoob Soman.
      
      16) Fix MAC address change bug in bgmac driver, from Hari Vyas.
      
      17) strparser needs to destroy strp_wq on module exit, from WANG Cong.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (69 commits)
        strparser: destroy workqueue on module exit
        sfc: fix IPID endianness in TSOv2
        sfc: avoid max() in array size
        rds: remove unnecessary returned value check
        rxrpc: Fix potential NULL-pointer exception
        nfp: correct DMA direction in XDP DMA sync
        nfp: don't tell FW about the reserved buffer space
        net: ethernet: bgmac: mac address change bug
        net: ethernet: bgmac: init sequence bug
        xen-netback: don't vfree() queues under spinlock
        xen-netback: keep a local pointer for vif in backend_disconnect()
        netfilter: nf_tables: don't call nfnetlink_set_err() if nfnetlink_send() fails
        netfilter: nft_set_rbtree: incorrect assumption on lower interval lookups
        netfilter: nf_conntrack_sip: fix wrong memory initialisation
        can: flexcan: fix typo in comment
        can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer
        can: gs_usb: fix coding style
        can: gs_usb: Don't use stack memory for USB transfers
        ixgbe: Limit use of 2K buffers on architectures with 256B or larger cache lines
        ixgbe: update the rss key on h/w, when ethtool ask for it
        ...
      8d70eeb8
  3. 04 Mar, 2017 17 commits
    • Linus Torvalds's avatar
      Merge tag 'kvm-4.11-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 2d62e076
      Linus Torvalds authored
      Pull more KVM updates from Radim Krčmář:
       "Second batch of KVM changes for the 4.11 merge window:
      
        PPC:
         - correct assumption about ASDR on POWER9
         - fix MMIO emulation on POWER9
      
        x86:
         - add a simple test for ioperm
         - cleanup TSS (going through KVM tree as the whole undertaking was
           caused by VMX's use of TSS)
         - fix nVMX interrupt delivery
         - fix some performance counters in the guest
      
        ... and two cleanup patches"
      
      * tag 'kvm-4.11-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: nVMX: Fix pending events injection
        x86/kvm/vmx: remove unused variable in segment_base()
        selftests/x86: Add a basic selftest for ioperm
        x86/asm: Tidy up TSS limit code
        kvm: convert kvm.users_count from atomic_t to refcount_t
        KVM: x86: never specify a sample period for virtualized in_tx_cp counters
        KVM: PPC: Book3S HV: Don't use ASDR for real-mode HPT faults on POWER9
        KVM: PPC: Book3S HV: Fix software walk of guest process page tables
      2d62e076
    • Linus Torvalds's avatar
      Merge tag 'docs-4.11-fixes' of git://git.lwn.net/linux · be834aaf
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A few fixes for the docs tree, including one for a 4.11 build
        regression"
      
      * tag 'docs-4.11-fixes' of git://git.lwn.net/linux:
        Documentation/sphinx: fix primary_domain configuration
        docs: Fix htmldocs build failure
        doc/ko_KR/memory-barriers: Update control-dependencies section
        pcieaer doc: update the link
        Documentation: Update path to sysrq.txt
      be834aaf
    • Linus Torvalds's avatar
      Merge tag 'staging-4.11-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 91aff98b
      Linus Torvalds authored
      Pull staging/IIO driver fixes from Greg KH:
       "Here are a few small staging and IIO driver fixes for issues that
        showed up after the big set if changes you merged last week.
      
        Nothing major, just small bugs resolved in some IIO drivers, a lustre
        allocation fix, and some RaspberryPi driver fixes for reported
        problems, as well as a MAINTAINERS entry update.
      
        All of these have been in linux-next for a week with no reported
        issues"
      
      * tag 'staging-4.11-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: fsl-mc: fix warning in DT ranges parser
        MAINTAINERS: Remove Noralf Trønnes as fbtft maintainer
        staging: vchiq_2835_arm: Make cache-line-size a required DT property
        staging: bcm2835/mmal-vchiq: unlock on error in buffer_from_host()
        staging/lustre/lnet: Fix allocation size for sv_cpt_data
        iio: adc: xilinx: Fix error handling
        iio: 104-quad-8: Fix off-by-one error when addressing flag register
        iio: adc: handle unknow of_device_id data
      91aff98b
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 33a8b3e9
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
      
       - vmalloc stack regression in CCM
      
       - Build problem in CRC32 on ARM
      
       - Memory leak in cavium
      
       - Missing Kconfig dependencies in atmel and mediatek
      
       - XTS Regression on some platforms (s390 and ppc)
      
       - Memory overrun in CCM test vector
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: vmx - Use skcipher for xts fallback
        crypto: vmx - Use skcipher for cbc fallback
        crypto: testmgr - Pad aes_ccm_enc_tv_template vector
        crypto: arm/crc32 - add build time test for CRC instruction support
        crypto: arm/crc32 - fix build error with outdated binutils
        crypto: ccm - move cbcmac input off the stack
        crypto: xts - Propagate NEED_FALLBACK bit
        crypto: api - Add crypto_requires_off helper
        crypto: atmel - CRYPTO_DEV_MEDIATEK should depend on HAS_DMA
        crypto: atmel - CRYPTO_DEV_ATMEL_TDES and CRYPTO_DEV_ATMEL_SHA should depend on HAS_DMA
        crypto: cavium - fix leak on curr if curr->head fails to be allocated
        crypto: cavium - Fix couple of static checker errors
      33a8b3e9
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0710f3ff
      Linus Torvalds authored
      Pull misc final vfs updates from Al Viro:
       "A few unrelated patches that got beating in -next.
      
        Everything else will have to go into the next window ;-/"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        hfs: fix hfs_readdir()
        selftest for default_file_splice_read() infoleak
        9p: constify ->d_name handling
      0710f3ff
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · a3b4924b
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "This is the set of stuff that didn't quite make the initial pull and a
        set of fixes for stuff which did.
      
        The new stuff is basically lpfc (nvme), qedi and aacraid. The fixes
        cover a lot of previously submitted stuff, the most important of which
        probably covers some of the failing irq vectors allocation and other
        fallout from having the SCSI command allocated as part of the block
        allocation functions"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (59 commits)
        scsi: qedi: Fix memory leak in tmf response processing.
        scsi: aacraid: remove redundant zero check on ret
        scsi: lpfc: use proper format string for dma_addr_t
        scsi: lpfc: use div_u64 for 64-bit division
        scsi: mac_scsi: Fix MAC_SCSI=m option when SCSI=m
        scsi: cciss: correct check map error.
        scsi: qla2xxx: fix spelling mistake: "seperator" -> "separator"
        scsi: aacraid: Fixed expander hotplug for SMART family
        scsi: mpt3sas: switch to pci_alloc_irq_vectors
        scsi: qedf: fixup compilation warning about atomic_t usage
        scsi: remove scsi_execute_req_flags
        scsi: merge __scsi_execute into scsi_execute
        scsi: simplify scsi_execute_req_flags
        scsi: make the sense header argument to scsi_test_unit_ready mandatory
        scsi: sd: improve TUR handling in sd_check_events
        scsi: always zero sshdr in scsi_normalize_sense
        scsi: scsi_dh_emc: return success in clariion_std_inquiry()
        scsi: fix memory leak of sdpk on when gd fails to allocate
        scsi: sd: make sd_devt_release() static
        scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.
        ...
      a3b4924b
    • WANG Cong's avatar
      strparser: destroy workqueue on module exit · f78ef7cd
      WANG Cong authored
      Fixes: 43a0c675 ("strparser: Stream parser for messages")
      Cc: Tom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f78ef7cd
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · 20b83643
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for your net tree,
      they are:
      
      1) Missing check for full sock in ip_route_me_harder(), from
         Florian Westphal.
      
      2) Incorrect sip helper structure initilization that breaks it when
         several ports are used, from Christophe Leroy.
      
      3) Fix incorrect assumption when looking up for matching with adjacent
         intervals in the nft_set_rbtree.
      
      4) Fix broken netlink event error reporting in nf_tables that results
         in misleading ESRCH errors propagated to userspace listeners.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20b83643
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 0b94da8d
      Linus Torvalds authored
      Pull libnvdimm fixes from Dan Williams:
       "A fix and regression test case for nvdimm namespace label
        compatibility.
      
        Details:
      
         - An "nvdimm namespace label" is metadata on an nvdimm that
           provisions dimm capacity into a "namespace" that can host a block
           device / dax-filesytem, or a device-dax character device.
      
           A namespace is an object that other operating environment and
           platform firmware needs to comprehend for capabilities like booting
           from an nvdimm.
      
           The label metadata contains a checksum that Linux was not
           calculating correctly leading to other environments rejecting the
           Linux label.
      
         These have received a build success notification from the kbuild
         robot, and a positive test result from Nick who reported the problem"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        nfit, libnvdimm: fix interleave set cookie calculation
        tools/testing/nvdimm: make iset cookie predictable
      0b94da8d
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.11-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · e27fd02d
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - fix NULL pointer dereferences in many DesignWare-based drivers due to
         refactoring error
      
       - fix Altera config write breakage due to my refactoring error
      
      * tag 'pci-v4.11-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: altera: Fix TLP_CFG_DW0 for TLP write
        PCI: dwc: Fix crashes seen due to missing assignments
      e27fd02d
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: Avoid triggering cpu_frequency tracepoint unnecessarily · 64078299
      Rafael J. Wysocki authored
      In the passive mode the cpu_frequency trace event is already
      triggered by the cpufreq core or by scaling governors, so
      intel_pstate should not trigger it once again for the same
      P-state updates.
      
      In addition to that, the frequency returned by
      intel_cpufreq_fast_switch() and passed via freqs.new from
      intel_cpufreq_target() to cpufreq_freq_transition_end() should
      reflect the P-state actually set, so make that happen.
      
      Fixes: 001c76f0 (cpufreq: intel_pstate: Generic governors support)
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      64078299
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: Fix intel_cpufreq_verify_policy() · 7f17326f
      Rafael J. Wysocki authored
      The intel_pstate_update_perf_limits() called from
      intel_cpufreq_verify_policy() may cause global P-state limits
      to change which is generally confusing and unnecessary.
      
      In the passive mode the global limits are only applied to the
      frequency selected by the scaling governor (they are not taken
      into account by governors when making decisions anyway), so making
      them follow the per-policy limits serves no purpose and may go
      against user expectations (as it generally causes the global
      attributes in sysfs to change even though they have not been
      written to in some cases).
      
      Fix that by dropping the intel_pstate_update_perf_limits()
      invocation from intel_cpufreq_verify_policy() (which also
      reduces the code size by a few lines).
      
      This change does not affect the per-CPU limits case, because those
      limits allow any P-state to be set by default in the passive mode
      and it removes the only piece of code updating them in that mode,
      so the per-policy settings will be the only ones taken into account
      in that case as expected.
      
      Fixes: 001c76f0 (cpufreq: intel_pstate: Generic governors support)
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7f17326f
    • Rafael J. Wysocki's avatar
      cpufreq: intel_pstate: Do not use performance_limits in passive mode · 2bc756e7
      Rafael J. Wysocki authored
      Using performance_limits in the passive mode doesn't make
      sense, because in that mode the global limits are applied to the
      frequency selected by the scaling governor.
      
      The maximum and minimum P-state limits in performance_limits are both
      set to 100 percent which will put all CPUs into the turbo range
      regardless of what governor is used and what frequencies are
      selected by it (that is particularly undesirable on CPUs with the
      generic powersave governor attached).
      
      For this reason, make intel_pstate_register_driver() always point
      limits to powersave_limits in the passive mode.
      
      Fixes: 001c76f0 (cpufreq: intel_pstate: Generic governors support)
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      2bc756e7
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · f47e2db4
      Linus Torvalds authored
      Pull parisc fixes and cleanups from Helge Deller:
       "Nothing really important in this patchset: fix resource leaks in error
        paths, coding style cleanups and code removal"
      
      * 'parisc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Remove flush_user_dcache_range and flush_user_icache_range
        parisc: fix a printk
        parisc: ccio-dma: Handle return NULL error from ioremap_nocache
        parisc: Define access_ok() as macro
        parisc: eisa: Fix resource leaks in error paths
        parisc: eisa: Remove coding style errors
      f47e2db4
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20170303' of git://github.com/jcmvbkbc/linux-xtensa · 606ed721
      Linus Torvalds authored
      Pull Xtensa updates from Max Filippov:
      
       - clean up bootable image build targets: provide separate 'Image',
         'zImage' and 'uImage' make targets that only build corresponding
         image type. Make 'all' build all images appropriate for a platform
      
       - allow merging vectors code into .text section as a preparation step
         for XIP support
      
       - fix handling external FDT when the kernel is built without
         BLK_DEV_INITRD support
      
      * tag 'xtensa-20170303' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: allow merging vectors into .text section
        xtensa: clean up bootable image build targets
        xtensa: move parse_tag_fdt out of #ifdef CONFIG_BLK_DEV_INITRD
      606ed721
    • Linus Torvalds's avatar
      Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a1a0db36
      Linus Torvalds authored
      Pull ARM SoC late DT updates from Arnd Bergmann:
       "These updates have been kept in a separate branch mostly because they
        rely on updates to the respective clk drivers to keep the shared
        header files in sync.
      
        This includes two branches for arm64 dt updates, both following up on
        earlier changes for the same platforms that are already merged:
      
        Samsung:
         - add USB3 support in Exynos7
         - minor PM related updates
      
        Amlogic:
         - new machines: WeTek Set-top-boxes
         - various devices added to DT
      
        There are also a couple of bugfixes that trickled in since the start
        of the merge window:
      
         - The moxart_defconfig was not building the intended platform
         - CPU-hotplug was broken on ux500
         - Coresight was broken on Juno (never worked)"
      
      * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits)
        ARM: deconfig: fix the moxart defconfig
        ARM: ux500: resume the second core properly
        arm64: dts: juno: update definition for programmable replicator
        arm64: dts: exynos: Add regulators for Vbus and Vbus-Boost
        arm64: dts: exynos: Add USB 3.0 controller node for Exynos7
        arm64: dts: exynos: Use macros for pinctrl configuration on Exynos7
        pinctrl: dt-bindings: samsung: Add Exynos7 specific pinctrl macro definitions
        arm64: dts: exynos: Add initial configuration for DISP clocks for TM2/TM2e
        ARM64: dts: meson-gxbb-p200: add ADC laddered keys
        ARM64: dts: meson: meson-gx: add the SAR ADC
        ARM64: dts: meson-gxl: add the pwm_ao_b pin
        ARM64: dts: meson-gx: add the missing pwm_AO_ab node
        clk: gxbb: fix CLKID_ETH defined twice
        ARM64: dts: meson-gxl: rename Nexbox A95x for consistency
        clk: gxbb: add the SAR ADC clocks and expose them
        dt-bindings: amlogic: Add WeTek boards
        ARM64: dts: meson-gxbb: Add support for WeTek Hub and Play
        dt-bindings: vendor-prefix: Add wetek vendor prefix
        ARM64: dts: meson-gxm: Rename q200 and q201 DT files for consistency
        ARM64: dts: meson-gx: Add HDMI HPD/DDC pinctrl nodes
        ...
      a1a0db36
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 0a040b21
      Linus Torvalds authored
      Pull SMB3 fixes from Steve French:
       "Some small bug fixes as well as SMB2.1/SMB3 enablement for DFS (global
        namespace) which previously was only enabled for CIFS"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        smb2: Enforce sec= mount option
        CIFS: Fix sparse warnings
        CIFS: implement get_dfs_refer for SMB2+
        CIFS: use DFS pathnames in SMB2+ Create requests
        CIFS: set signing flag in SMB2+ TreeConnect if needed
        CIFS: let ses->ipc_tid hold smb2 TreeIds
        CIFS: add use_ipc flag to SMB2_ioctl()
        CIFS: add build_path_from_dentry_optional_prefix()
        CIFS: move DFS response parsing out of SMB1 code
        CIFS: Fix possible use after free in demultiplex thread
      0a040b21
  4. 03 Mar, 2017 13 commits
    • John Keeping's avatar
      Documentation/sphinx: fix primary_domain configuration · fd5d6669
      John Keeping authored
      With Sphinx 1.5.3 I get the warning:
      
      	WARNING: primary_domain 'C' not found, ignored.
      
      It seems that domain names in Sphinx are case-sensitive and for the C
      domain the name must be lower case.
      Signed-off-by: default avatarJohn Keeping <john@metanate.com>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      fd5d6669
    • Martyn Welch's avatar
      docs: Fix htmldocs build failure · f3fc83e5
      Martyn Welch authored
      Build of HTML docs failing due to conversion of deviceiobook.tmpl in
      8a8a602f and regulator.tmpl in 028f2533 to RST without removing from
      DOCBOOKS in Makefile, resulting (in the case of deviceiobook) the
      following error:
      
      make[1]: *** No rule to make target 'Documentation/DocBook/deviceiobook.xml', needed by 'Documentation/DocBook/deviceiobook.aux.xml'.  Stop.
      Makefile:1452: recipe for target 'htmldocs' failed
      make: *** [htmldocs] Error 2
      
      Update DOCBOOKS to reflect available books.
      Signed-off-by: default avatarMartyn Welch <martyn.welch@collabora.co.uk>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      f3fc83e5
    • SeongJae Park's avatar
      doc/ko_KR/memory-barriers: Update control-dependencies section · 9857b1ad
      SeongJae Park authored
      This commit applies upstream change, commit c8241f85 ("doc: Update
      control-dependencies section of memory-barriers.txt"), to Korean
      translation.
      Signed-off-by: default avatarSeongJae Park <sj38.park@gmail.com>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      9857b1ad
    • Cao jin's avatar
      pcieaer doc: update the link · 2eb6a4b2
      Cao jin authored
      The original link is empty, replace it.
      Signed-off-by: default avatarCao jin <caoj.fnst@cn.fujitsu.com>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      2eb6a4b2
    • Krzysztof Kozlowski's avatar
      Documentation: Update path to sysrq.txt · d3c1a297
      Krzysztof Kozlowski authored
      Commit 9d85025b ("docs-rst: create an user's manual book") moved the
      sysrq.txt leaving old paths in the kernel docs.
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Reviewed-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      d3c1a297
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 4e66c42c
      Linus Torvalds authored
      Pull fuse update from Miklos Szeredi:
       "A bugfix and cleanups"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: release: private_data cannot be NULL
        fuse: cleanup fuse_file refcounting
        fuse: add missing FR_FORCE
      4e66c42c
    • Linus Torvalds's avatar
      Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · e58bc927
      Linus Torvalds authored
      Pull overlayfs updates from Miklos Szeredi:
       "Because copy up can take a long time, serialized copy ups could be a
        big performance bottleneck. This update allows concurrent copy up of
        regular files eliminating this potential problem.
      
        There are also minor fixes"
      
      * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: drop CAP_SYS_RESOURCE from saved mounter's credentials
        ovl: properly implement sync_filesystem()
        ovl: concurrent copy up of regular files
        ovl: introduce copy up waitqueue
        ovl: copy up regular file using O_TMPFILE
        ovl: rearrange code in ovl_copy_up_locked()
        ovl: check if upperdir fs supports O_TMPFILE
      e58bc927
    • Linus Torvalds's avatar
      Merge branch 'rebased-statx' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 590dce2d
      Linus Torvalds authored
      Pull vfs 'statx()' update from Al Viro.
      
      This adds the new extended stat() interface that internally subsumes our
      previous stat interfaces, and allows user mode to specify in more detail
      what kind of information it wants.
      
      It also allows for some explicit synchronization information to be
      passed to the filesystem, which can be relevant for network filesystems:
      is the cached value ok, or do you need open/close consistency, or what?
      
      From David Howells.
      
      Andreas Dilger points out that the first version of the extended statx
      interface was posted June 29, 2010:
      
          https://www.spinics.net/lists/linux-fsdevel/msg33831.html
      
      * 'rebased-statx' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        statx: Add a system call to make enhanced file info available
      590dce2d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · e0d07225
      Linus Torvalds authored
      Pull block layer fixes from Jens Axboe:
       "A collection of fixes for this merge window, either fixes for existing
        issues, or parts that were waiting for acks to come in. This pull
        request contains:
      
         - Allocation of nvme queues on the right node from Shaohua.
      
           This was ready long before the merge window, but waiting on an ack
           from Bjorn on the PCI bit. Now that we have that, the three patches
           can go in.
      
         - Two fixes for blk-mq-sched with nvmeof, which uses hctx specific
           request allocations. This caused an oops. One part from Sagi, one
           part from Omar.
      
         - A loop partition scan deadlock fix from Omar, fixing a regression
           in this merge window.
      
         - A three-patch series from Keith, closing up a hole on clearing out
           requests on shutdown/resume.
      
         - A stable fix for nbd from Josef, fixing a leak of sockets.
      
         - Two fixes for a regression in this window from Jan, fixing a
           problem with one of his earlier patches dealing with queue vs bdi
           life times.
      
         - A fix for a regression with virtio-blk, causing an IO stall if
           scheduling is used. From me.
      
         - A fix for an io context lock ordering problem. From me"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: Move bdi_unregister() to del_gendisk()
        blk-mq: ensure that bd->last is always set correctly
        block: don't call ioc_exit_icq() with the queue lock held for blk-mq
        block: Initialize bd_bdi on inode initialization
        loop: fix LO_FLAGS_PARTSCAN hang
        nvme: Complete all stuck requests
        blk-mq: Provide freeze queue timeout
        blk-mq: Export blk_mq_freeze_queue_wait
        nbd: stop leaking sockets
        blk-mq: move update of tags->rqs to __blk_mq_alloc_request()
        blk-mq: kill blk_mq_set_alloc_data()
        blk-mq: make blk_mq_alloc_request_hctx() allocate a scheduler request
        blk-mq-sched: Allocate sched reserved tags as specified in the original queue tagset
        nvme: allocate nvme_queue in correct node
        PCI: add an API to get node from vector
        blk-mq: allocate blk_mq_tags and requests in correct node
      e0d07225
    • Linus Torvalds's avatar
      Merge branch 'WIP.sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1827adb1
      Linus Torvalds authored
      Pull sched.h split-up from Ingo Molnar:
       "The point of these changes is to significantly reduce the
        <linux/sched.h> header footprint, to speed up the kernel build and to
        have a cleaner header structure.
      
        After these changes the new <linux/sched.h>'s typical preprocessed
        size goes down from a previous ~0.68 MB (~22K lines) to ~0.45 MB (~15K
        lines), which is around 40% faster to build on typical configs.
      
        Not much changed from the last version (-v2) posted three weeks ago: I
        eliminated quirks, backmerged fixes plus I rebased it to an upstream
        SHA1 from yesterday that includes most changes queued up in -next plus
        all sched.h changes that were pending from Andrew.
      
        I've re-tested the series both on x86 and on cross-arch defconfigs,
        and did a bisectability test at a number of random points.
      
        I tried to test as many build configurations as possible, but some
        build breakage is probably still left - but it should be mostly
        limited to architectures that have no cross-compiler binaries
        available on kernel.org, and non-default configurations"
      
      * 'WIP.sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (146 commits)
        sched/headers: Clean up <linux/sched.h>
        sched/headers: Remove #ifdefs from <linux/sched.h>
        sched/headers: Remove the <linux/topology.h> include from <linux/sched.h>
        sched/headers, hrtimer: Remove the <linux/wait.h> include from <linux/hrtimer.h>
        sched/headers, x86/apic: Remove the <linux/pm.h> header inclusion from <asm/apic.h>
        sched/headers, timers: Remove the <linux/sysctl.h> include from <linux/timer.h>
        sched/headers: Remove <linux/magic.h> from <linux/sched/task_stack.h>
        sched/headers: Remove <linux/sched.h> from <linux/sched/init.h>
        sched/core: Remove unused prefetch_stack()
        sched/headers: Remove <linux/rculist.h> from <linux/sched.h>
        sched/headers: Remove the 'init_pid_ns' prototype from <linux/sched.h>
        sched/headers: Remove <linux/signal.h> from <linux/sched.h>
        sched/headers: Remove <linux/rwsem.h> from <linux/sched.h>
        sched/headers: Remove the runqueue_is_locked() prototype
        sched/headers: Remove <linux/sched.h> from <linux/sched/hotplug.h>
        sched/headers: Remove <linux/sched.h> from <linux/sched/debug.h>
        sched/headers: Remove <linux/sched.h> from <linux/sched/nohz.h>
        sched/headers: Remove <linux/sched.h> from <linux/sched/stat.h>
        sched/headers: Remove the <linux/gfp.h> include from <linux/sched.h>
        sched/headers: Remove <linux/rtmutex.h> from <linux/sched.h>
        ...
      1827adb1
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-4.11-rc1-urgent_fix' of... · 78769912
      Linus Torvalds authored
      Merge tag 'linux-kselftest-4.11-rc1-urgent_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest fix from Shuah Khan:
       "This update consists of an urgent fix for individual test build
        failures introduced in the 4.11-rc1 update"
      
      * tag 'linux-kselftest-4.11-rc1-urgent_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests: lib.mk Fix individual test builds
      78769912
    • David S. Miller's avatar
      Merge branch 'sfx-fixes' · 45115553
      David S. Miller authored
      Edward Cree says:
      
      ====================
      sfc: couple of fixes
      
      First patch addresses a construct that causes sparse to error out.
      With that fixed, sparse makes some warnings on ef10.c, second patch
       fixes one of them.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      45115553
    • Edward Cree's avatar
      sfc: fix IPID endianness in TSOv2 · 6d43131c
      Edward Cree authored
      The value we read from the header is in network byte order, whereas
       EFX_POPULATE_QWORD_* takes values in host byte order (which it then
       converts to little-endian, as MCDI is little-endian).
      
      Fixes: e9117e50 ("sfc: Firmware-Assisted TSO version 2")
      Signed-off-by: default avatarEdward Cree <ecree@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6d43131c