Skip to content
  1. Oct 02, 2016
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpuidle', 'pm-opp' and 'pm-avs' · e35db92b
      Rafael J. Wysocki authored
      * pm-cpuidle:
        ARM: cpuidle: Fix error return code
      
      * pm-opp:
        PM / OPP: Don't support OPP if it provides supported-hw but platform does not
        PM / OPP: avoid maybe-uninitialized warning
      
      * pm-avs:
        PM / AVS: SmartReflex: Neaten logging
      e35db92b
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 7005f6dc
      Rafael J. Wysocki authored
      * pm-cpufreq: (24 commits)
        cpufreq: st: add missing \n to end of dev_err message
        cpufreq: kirkwood: add missing \n to end of dev_err messages
        cpufreq: CPPC: Avoid overflow when calculating desired_perf
        cpufreq: ti: Use generic platdev driver
        cpufreq: intel_pstate: Add io_boost trace
        cpufreq: intel_pstate: Use IOWAIT flag in Atom algorithm
        cpufreq: schedutil: Add iowait boosting
        cpufreq / sched: SCHED_CPUFREQ_IOWAIT flag to indicate iowait condition
        cpufreq: CPPC: Force reporting values in KHz to fix user space interface
        cpufreq: create link to policy only for registered CPUs
        intel_pstate: constify local structures
        cpufreq: dt: Support governor tunables per policy
        cpufreq: dt: Update kconfig description
        cpufreq: dt: Remove unused code
        MAINTAINERS: Add Documentation/cpu-freq/
        cpufreq: dt: Add support for r8a7792
        cpufreq / sched: ignore SMT when determining max cpu capacity
        cpufreq: Drop unnecessary check from cpufreq_policy_alloc()
        ARM: multi_v7_defconfig: Don't attempt to enable schedutil governor as module
        ARM: exynos_defconfig: Don't attempt to enable schedutil governor as module
        ...
      7005f6dc
    • Rafael J. Wysocki's avatar
      b6e25117
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-domains' · 2dc3c72c
      Rafael J. Wysocki authored
      * pm-domains:
        PM / Domains: Rename pm_genpd_sync_poweron|poweroff()
        PM / Domains: Don't measure latency of ->power_on|off() during system PM
        PM / Domains: Remove redundant system PM callbacks
        PM / Domains: Simplify detaching a device from its genpd
        PM / Domains: Allow holes in genpd_data.domains array
        PM / Domains: Add support for removing nested PM domains by provider
        PM / Domains: Add support for removing PM domains
        PM / Domains: Store the provider in the PM domain structure
        PM / Domains: Prepare for adding support to remove PM domains
        PM / Domains: Verify the PM domain is present when adding a provider
        PM / Domains: Don't expose xlate and provider helper functions
        PM / Domains: Don't expose generic_pm_domain structure to clients
        staging: board: Remove calls to of_genpd_get_from_provider()
        ARM: EXYNOS: Remove calls to of_genpd_get_from_provider()
        PM / Domains: Add new helper functions for device-tree
        PM / Domains: Always enable debugfs support if available
      2dc3c72c
  2. Sep 26, 2016
    • Dave Gerlach's avatar
      PM / OPP: Don't support OPP if it provides supported-hw but platform does not · a4ee4545
      Dave Gerlach authored
      
      
      The OPP framework allows each OPP to set a opp-supported-hw property
      which provides values that are matched against supported_hw values
      provided by the platform to limit support for certain OPPs on specific
      hardware. Currently, if the platform does not set supported_hw values,
      all OPPs are interpreted as supported, even if they have provided their
      own opp-supported-hw values.
      
      If an OPP has provided opp-supported-hw, it is indicating that there is
      some specific hardware configuration it is supported by. These constraints
      should be honored, and if no supported_hw has been provided by the
      platform, there is no way to determine if that OPP is actually supported,
      so it should be marked as not supported.
      
      Signed-off-by: default avatarDave Gerlach <d-gerlach@ti.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a4ee4545
    • Colin Ian King's avatar
      cpufreq: st: add missing \n to end of dev_err message · 9ad0a1b6
      Colin Ian King authored
      
      
      Trival fix, dev_err message is missing a \n, so add it.
      
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      9ad0a1b6
    • Colin Ian King's avatar
      cpufreq: kirkwood: add missing \n to end of dev_err messages · 4c232f94
      Colin Ian King authored
      
      
      Trival fix, dev_err messages are missing a \n, so add it.
      
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4c232f94
    • Linus Torvalds's avatar
      Linux 4.8-rc8 · 08895a8b
      Linus Torvalds authored
      08895a8b
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 4c04b4b5
      Linus Torvalds authored
      Pull tracefs fixes from Steven Rostedt:
       "Al Viro has been looking at the tracefs code, and has pointed out some
        issues.  This contains one fix by me and one by Al.  I'm sure that
        he'll come up with more but for now I tested these patches and they
        don't appear to have any negative impact on tracing"
      
      * tag 'trace-v4.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        fix memory leaks in tracing_buffers_splice_read()
        tracing: Move mutex to protect against resetting of seq data
      4c04b4b5
    • Dave Chinner's avatar
      fault_in_multipages_readable() throws set-but-unused error · 90b75db6
      Dave Chinner authored
      When building XFS with -Werror, it now fails with:
      
        include/linux/pagemap.h: In function 'fault_in_multipages_readable':
        include/linux/pagemap.h:602:16: error: variable 'c' set but not used [-Werror=unused-but-set-variable]
          volatile char c;
                        ^
      
      This is a regression caused by commit e23d4159
      
       ("fix
      fault_in_multipages_...() on architectures with no-op access_ok()").
      Fix it by re-adding the "(void)c" trick taht was previously used to make
      the compiler think the variable is used.
      
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      90b75db6
    • Lorenzo Stoakes's avatar
      mm: check VMA flags to avoid invalid PROT_NONE NUMA balancing · 38e08854
      Lorenzo Stoakes authored
      The NUMA balancing logic uses an arch-specific PROT_NONE page table flag
      defined by pte_protnone() or pmd_protnone() to mark PTEs or huge page
      PMDs respectively as requiring balancing upon a subsequent page fault.
      User-defined PROT_NONE memory regions which also have this flag set will
      not normally invoke the NUMA balancing code as do_page_fault() will send
      a segfault to the process before handle_mm_fault() is even called.
      
      However if access_remote_vm() is invoked to access a PROT_NONE region of
      memory, handle_mm_fault() is called via faultin_page() and
      __get_user_pages() without any access checks being performed, meaning
      the NUMA balancing logic is incorrectly invoked on a non-NUMA memory
      region.
      
      A simple means of triggering this problem is to access PROT_NONE mmap'd
      memory using /proc/self/mem which reliably results in the NUMA handling
      functions being invoked when CONFIG_NUMA_BALANCING is set.
      
      This issue was reported in bugzilla (issue 99101) which includes some
      simple repro code.
      
      There are BUG_ON() checks in do_numa_page() and do_huge_pmd_numa_page()
      added at commit c0e7cad9
      
       to avoid accidentally provoking strange
      behaviour by attempting to apply NUMA balancing to pages that are in
      fact PROT_NONE.  The BUG_ON()'s are consistently triggered by the repro.
      
      This patch moves the PROT_NONE check into mm/memory.c rather than
      invoking BUG_ON() as faulting in these pages via faultin_page() is a
      valid reason for reaching the NUMA check with the PROT_NONE page table
      flag set and is therefore not always a bug.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=99101
      Reported-by: default avatarTrevor Saunders <tbsaunde@tbsaunde.org>
      Signed-off-by: default avatarLorenzo Stoakes <lstoakes@gmail.com>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      38e08854
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 831e45d8
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "A round of 4.8 fixes:
      
        MIPS generic code:
         - Add a missing ".set pop" in an early commit
         - Fix memory regions reaching top of physical
         - MAAR: Fix address alignment
         - vDSO: Fix Malta EVA mapping to vDSO page structs
         - uprobes: fix incorrect uprobe brk handling
         - uprobes: select HAVE_REGS_AND_STACK_ACCESS_API
         - Avoid a BUG warning during PR_SET_FP_MODE prctl
         - SMP: Fix possibility of deadlock when bringing CPUs online
         - R6: Remove compact branch policy Kconfig entries
         - Fix size calc when avoiding IPIs for small icache flushes
         - Fix pre-r6 emulation FPU initialisation
         - Fix delay slot emulation count in debugfs
      
        ATH79:
         - Fix test for error return of clk_register_fixed_factor.
      
        Octeon:
         - Fix kernel header to work for VDSO build.
         - Fix initialization of platform device probing.
      
        paravirt:
         - Fix undefined reference to smp_bootstrap"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Fix delay slot emulation count in debugfs
        MIPS: SMP: Fix possibility of deadlock when bringing CPUs online
        MIPS: Fix pre-r6 emulation FPU initialisation
        MIPS: vDSO: Fix Malta EVA mapping to vDSO page structs
        MIPS: Select HAVE_REGS_AND_STACK_ACCESS_API
        MIPS: Octeon: Fix platform bus probing
        MIPS: Octeon: mangle-port: fix build failure with VDSO code
        MIPS: Avoid a BUG warning during prctl(PR_SET_FP_MODE, ...)
        MIPS: c-r4k: Fix size calc when avoiding IPIs for small icache flushes
        MIPS: Add a missing ".set pop" in an early commit
        MIPS: paravirt: Fix undefined reference to smp_bootstrap
        MIPS: Remove compact branch policy Kconfig entries
        MIPS: MAAR: Fix address alignment
        MIPS: Fix memory regions reaching top of physical
        MIPS: uprobes: fix incorrect uprobe brk handling
        MIPS: ath79: Fix test for error return of clk_register_fixed_factor().
      831e45d8
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.8-7' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 751b9a5d
      Linus Torvalds authored
      Pull one more powerpc fix from Michael Ellerman:
       "powernv/pci: Fix m64 checks for SR-IOV and window alignment from
        Russell Currey"
      
      * tag 'powerpc-4.8-7' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/powernv/pci: Fix m64 checks for SR-IOV and window alignment
      751b9a5d
    • Linus Torvalds's avatar
      radix tree: fix sibling entry handling in radix_tree_descend() · 8d2c0d36
      Linus Torvalds authored
      
      
      The fixes to the radix tree test suite show that the multi-order case is
      broken.  The basic reason is that the radix tree code uses tagged
      pointers with the "internal" bit in the low bits, and calculating the
      pointer indices was supposed to mask off those bits.  But gcc will
      notice that we then use the index to re-create the pointer, and will
      avoid doing the arithmetic and use the tagged pointer directly.
      
      This cleans the code up, using the existing is_sibling_entry() helper to
      validate the sibling pointer range (instead of open-coding it), and
      using entry_to_node() to mask off the low tag bit from the pointer.  And
      once you do that, you might as well just use the now cleaned-up pointer
      directly.
      
      [ Side note: the multi-order code isn't actually ever used in the kernel
        right now, and the only reason I didn't just delete all that code is
        that Kirill Shutemov piped up and said:
      
          "Well, my ext4-with-huge-pages patchset[1] uses multi-order entries.
           It also converts shmem-with-huge-pages and hugetlb to them.
      
           I'm okay with converting it to other mechanism, but I need
           something.  (I looked into Konstantin's RFC patchset[2].  It looks
           okay, but I don't feel myself qualified to review it as I don't
           know much about radix-tree internals.)"
      
        [1] http://lkml.kernel.org/r/20160915115523.29737-1-kirill.shutemov@linux.intel.com
        [2] http://lkml.kernel.org/r/147230727479.9957.1087787722571077339.stgit@zurg ]
      
      Reported-by: default avatarMatthew Wilcox <mawilcox@microsoft.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Konstantin Khlebnikov <koct9i@gmail.com>
      Cc: Cedric Blancher <cedric.blancher@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8d2c0d36
    • Matthew Wilcox's avatar
      radix tree test suite: Test radix_tree_replace_slot() for multiorder entries · 62fd5258
      Matthew Wilcox authored
      
      
      When we replace a multiorder entry, check that all indices reflect the
      new value.
      
      Also, compile the test suite with -O2, which shows other problems with
      the code due to some dodgy pointer operations in the radix tree code.
      
      Signed-off-by: default avatarMatthew Wilcox <mawilcox@microsoft.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      62fd5258
    • Al Viro's avatar
      fix memory leaks in tracing_buffers_splice_read() · 1ae2293d
      Al Viro authored
      
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      1ae2293d
  3. Sep 25, 2016
    • Steven Rostedt (Red Hat)'s avatar
      tracing: Move mutex to protect against resetting of seq data · 1245800c
      Steven Rostedt (Red Hat) authored
      The iter->seq can be reset outside the protection of the mutex. So can
      reading of user data. Move the mutex up to the beginning of the function.
      
      Fixes: d7350c3f
      
       ("tracing/core: make the read callbacks reentrants")
      Cc: stable@vger.kernel.org # 2.6.30+
      Reported-by: default avatarAl Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      1245800c
    • Paul Burton's avatar
      MIPS: Fix delay slot emulation count in debugfs · 116e7111
      Paul Burton authored
      Commit 432c6bac
      
       ("MIPS: Use per-mm page to execute branch delay slot
      instructions") accidentally removed use of the MIPS_FPU_EMU_INC_STATS
      macro from do_dsemulret, leading to the ds_emul file in debugfs always
      returning zero even though we perform delay slot emulations.
      
      Fix this by re-adding the use of the MIPS_FPU_EMU_INC_STATS macro.
      
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Fixes: 432c6bac
      
       ("MIPS: Use per-mm page to execute branch delay slot instructions")
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/14301/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      116e7111
    • Matt Redfearn's avatar
      MIPS: SMP: Fix possibility of deadlock when bringing CPUs online · 8f46cca1
      Matt Redfearn authored
      
      
      This patch fixes the possibility of a deadlock when bringing up
      secondary CPUs.
      The deadlock occurs because the set_cpu_online() is called before
      synchronise_count_slave(). This can cause a deadlock if the boot CPU,
      having scheduled another thread, attempts to send an IPI to the
      secondary CPU, which it sees has been marked online. The secondary is
      blocked in synchronise_count_slave() waiting for the boot CPU to enter
      synchronise_count_master(), but the boot cpu is blocked in
      smp_call_function_many() waiting for the secondary to respond to it's
      IPI request.
      
      Fix this by marking the CPU online in cpu_callin_map and synchronising
      counters before declaring the CPU online and calculating the maps for
      IPIs.
      
      Signed-off-by: default avatarMatt Redfearn <matt.redfearn@imgtec.com>
      Reported-by: default avatarJustin Chen <justinpopo6@gmail.com>
      Tested-by: default avatarJustin Chen <justinpopo6@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: stable@vger.kernel.org # v4.1+
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/14302/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      8f46cca1
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9c0e28a7
      Linus Torvalds authored
      Pull perf fixes from Thomas Gleixner:
       "Three fixlets for perf:
      
         - add a missing NULL pointer check in the intel BTS driver
      
         - make BTS an exclusive PMU because BTS can only handle one event at
           a time
      
         - ensure that exclusive events are limited to one PMU so that several
           exclusive events can be scheduled on different PMU instances"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Limit matching exclusive events to one PMU
        perf/x86/intel/bts: Make it an exclusive PMU
        perf/x86/intel/bts: Make sure debug store is valid
      9c0e28a7
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2507c856
      Linus Torvalds authored
      Pull locking fixes from Thomas Gleixner:
       "Two smallish fixes:
      
         - use the proper asm constraint in the Super-H atomic_fetch_ops
      
         - a trivial typo fix in the Kconfig help text"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/hung_task: Fix typo in CONFIG_DETECT_HUNG_TASK help text
        locking/atomic, arch/sh: Fix ATOMIC_FETCH_OP()
      2507c856
    • Linus Torvalds's avatar
      Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 709b8f67
      Linus Torvalds authored
      Pull EFI fixes from Thomas Gleixner:
       "Two fixes for EFI/PAT:
      
         - a 32bit overflow bug in the PAT code which was unearthed by the
           large EFI mappings
      
         - prevent a boot hang on large systems when EFI mixed mode is enabled
           but not used"
      
      * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Only map RAM into EFI page tables if in mixed-mode
        x86/mm/pat: Prevent hang during boot when mapping pages
      709b8f67
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4b8b0ff6
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "Three fixes for irq core and irq chip drivers:
      
         - Do not set the irq type if type is NONE.  Fixes a boot regression
           on various SoCs
      
         - Use the proper cpu for setting up the GIC target list.  Discovered
           by the cpumask debugging code.
      
         - A rather large fix for the MIPS-GIC so per cpu local interrupts
           work again.  This was discovered late because the code falls back
           to slower timers which use normal device interrupts"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/mips-gic: Fix local interrupts
        irqchip/gicv3: Silence noisy DEBUG_PER_CPU_MAPS warning
        genirq: Skip chained interrupt trigger setup if type is IRQ_TYPE_NONE
      4b8b0ff6
    • Linus Torvalds's avatar
      Merge branch 'hughd-fixes' (patches from Hugh Dickins) · 0f265741
      Linus Torvalds authored
      Merge VM fixes from High Dickins:
       "I get the impression that Andrew is away or busy at the moment, so I'm
        going to send you three independent uncontroversial little mm fixes
        directly - though none is strictly a 4.8 regression fix.
      
         - shmem: fix tmpfs to handle the huge= option properly from Toshi
           Kani is a one-liner to fix a major embarrassment in 4.8's hugepages
           on tmpfs feature: although Hillf pointed it out in June, somehow
           both Kirill and I repeatedly dropped the ball on this one.  You
           might wonder if the feature got tested at all with that bug in:
           yes, it did, but for wider testing coverage, Kirill and I had each
           relied too much on an override which bypasses that condition.
      
         - huge tmpfs: fix Committed_AS leak just a run-of-the-mill accounting
           fix in the same feature.
      
         - mm: delete unnecessary and unsafe init_tlb_ubc() is an unrelated
           fix to 4.3's TLB flush batching in reclaim: the bug would be rare,
           and none of us will be shamed if this one misses 4.8; but it got
           such a quick ack from Mel today that I'm inclined to offer it along
           with the first two"
      
      * emailed patches from Hugh Dickins <hughd@google.com>:
        mm: delete unnecessary and unsafe init_tlb_ubc()
        huge tmpfs: fix Committed_AS leak
        shmem: fix tmpfs to handle the huge= option properly
      0f265741
    • Hugh Dickins's avatar
      mm: delete unnecessary and unsafe init_tlb_ubc() · b385d21f
      Hugh Dickins authored
      init_tlb_ubc() looked unnecessary to me: tlb_ubc is statically
      initialized with zeroes in the init_task, and copied from parent to
      child while it is quiescent in arch_dup_task_struct(); so I went to
      delete it.
      
      But inserted temporary debug WARN_ONs in place of init_tlb_ubc() to
      check that it was always empty at that point, and found them firing:
      because memcg reclaim can recurse into global reclaim (when allocating
      biosets for swapout in my case), and arrive back at the init_tlb_ubc()
      in shrink_node_memcg().
      
      Resetting tlb_ubc.flush_required at that point is wrong: if the upper
      level needs a deferred TLB flush, but the lower level turns out not to,
      we miss a TLB flush.  But fortunately, that's the only part of the
      protocol that does not nest: with the initialization removed, cpumask
      collects bits from upper and lower levels, and flushes TLB when needed.
      
      Fixes: 72b252ae
      
       ("mm: send one IPI per CPU to TLB flush all entries after unmapping pages")
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Acked-by: default avatarMel Gorman <mgorman@techsingularity.net>
      Cc: stable@vger.kernel.org # 4.3+
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b385d21f
    • Hugh Dickins's avatar
      huge tmpfs: fix Committed_AS leak · 71664665
      Hugh Dickins authored
      Under swapping load on huge tmpfs, /proc/meminfo's Committed_AS grows
      bigger and bigger: just a cosmetic issue for most users, but disabling
      for those who run without overcommit (/proc/sys/vm/overcommit_memory 2).
      
      shmem_uncharge() was forgetting to unaccount __vm_enough_memory's
      charge, and shmem_charge() was forgetting it on the filesystem-full
      error path.
      
      Fixes: 800d8c63
      
       ("shmem: add huge pages support")
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Acked-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      71664665
    • Toshi Kani's avatar
      shmem: fix tmpfs to handle the huge= option properly · 3089bf61
      Toshi Kani authored
      
      
      shmem_get_unmapped_area() checks SHMEM_SB(sb)->huge incorrectly, which
      leads to a reversed effect of "huge=" mount option.
      
      Fix the check in shmem_get_unmapped_area().
      
      Note, the default value of SHMEM_SB(sb)->huge remains as
      SHMEM_HUGE_NEVER.  User will need to specify "huge=" option to enable
      huge page mappings.
      
      Reported-by: default avatarHillf Danton <hillf.zj@alibaba-inc.com>
      Signed-off-by: default avatarToshi Kani <toshi.kani@hpe.com>
      Acked-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Reviewed-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3089bf61
  4. Sep 24, 2016