1. 19 Dec, 2014 29 commits
    • Rafael J. Wysocki's avatar
      PM: Eliminate CONFIG_PM_RUNTIME · 464ed18e
      Rafael J. Wysocki authored
      Having switched over all of the users of CONFIG_PM_RUNTIME to use
      CONFIG_PM directly, turn the latter into a user-selectable option
      and drop the former entirely from the tree.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Acked-by: default avatarKevin Hilman <khilman@linaro.org>
      464ed18e
    • Rafael J. Wysocki's avatar
      tty: 8250_omap: Replace CONFIG_PM_RUNTIME with CONFIG_PM · 71504e51
      Rafael J. Wysocki authored
      The 8250_omap serial driver is a new user of CONFIG_PM_RUNTIME.
      
      However, after commit b2b49ccb (PM: Kconfig: Set PM_RUNTIME if
      PM_SLEEP is selected) PM_RUNTIME is always set if PM is set, so
      #ifdef blocks depending on CONFIG_PM_RUNTIME may now be changed to
      depend on CONFIG_PM.
      
      Replace CONFIG_PM_RUNTIME with CONFIG_PM in 8250_omap.c.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      71504e51
    • Rafael J. Wysocki's avatar
      sound: sst-haswell-pcm: Replace CONFIG_PM_RUNTIME with CONFIG_PM · 45544c88
      Rafael J. Wysocki authored
      The sst-haswell-pcm driver is a new user of CONFIG_PM_RUNTIME.
      
      However, after commit b2b49ccb (PM: Kconfig: Set PM_RUNTIME if
      PM_SLEEP is selected) PM_RUNTIME is always set if PM is set, so
      #ifdef blocks depending on CONFIG_PM_RUNTIME may now be changed to
      depend on CONFIG_PM.
      
      Replace CONFIG_PM_RUNTIME with CONFIG_PM in
      sound/soc/intel/sst-haswell-pcm.c.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarMark Brown <broonie@kernel.org>
      45544c88
    • Rafael J. Wysocki's avatar
      spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM · 47164fdb
      Rafael J. Wysocki authored
      A couple of new CONFIG_PM_RUNTIME users have been added recently
      in the SPI subsystem.
      
      However, after commit b2b49ccb (PM: Kconfig: Set PM_RUNTIME if
      PM_SLEEP is selected) PM_RUNTIME is always set if PM is set, so
      #ifdef blocks depending on CONFIG_PM_RUNTIME may now be changed to
      depend on CONFIG_PM.
      
      Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere under
      drivers/spi/ (again).
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarMark Brown <broonie@kernel.org>
      47164fdb
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c0f486fd
      Linus Torvalds authored
      Pull more ACPI and power management updates from Rafael Wysocki:
       "These are regression fixes (leds-gpio, ACPI backlight driver,
        operating performance points library, ACPI device enumeration
        messages, cpupower tool), other bug fixes (ACPI EC driver, ACPI device
        PM), some cleanups in the operating performance points (OPP)
        framework, continuation of CONFIG_PM_RUNTIME elimination, a couple of
        minor intel_pstate driver changes, a new MAINTAINERS entry for it and
        an ACPI fan driver change needed for better support of thermal
        management in user space.
      
        Specifics:
      
         - Fix a regression in leds-gpio introduced by a recent commit that
           inadvertently changed the name of one of the properties used by the
           driver (Fabio Estevam).
      
         - Fix a regression in the ACPI backlight driver introduced by a
           recent fix that missed one special case that had to be taken into
           account (Aaron Lu).
      
         - Drop the level of some new kernel messages from the ACPI core
           introduced by a recent commit to KERN_DEBUG which they should have
           used from the start and drop some other unuseful KERN_ERR messages
           printed by ACPI (Rafael J Wysocki).
      
         - Revert an incorrect commit modifying the cpupower tool (Prarit
           Bhargava).
      
         - Fix two regressions introduced by recent commits in the OPP library
           and clean up some existing minor issues in that code (Viresh
           Kumar).
      
         - Continue to replace CONFIG_PM_RUNTIME with CONFIG_PM throughout the
           tree (or drop it where that can be done) in order to make it
           possible to eliminate CONFIG_PM_RUNTIME (Rafael J Wysocki, Ulf
           Hansson, Ludovic Desroches).
      
           There will be one more "CONFIG_PM_RUNTIME removal" batch after this
           one, because some new uses of it have been introduced during the
           current merge window, but that should be sufficient to finally get
           rid of it.
      
         - Make the ACPI EC driver more robust against race conditions related
           to GPE handler installation failures (Lv Zheng).
      
         - Prevent the ACPI device PM core code from attempting to disable
           GPEs that it has not enabled which confuses ACPICA and makes it
           report errors unnecessarily (Rafael J Wysocki).
      
         - Add a "force" command line switch to the intel_pstate driver to
           make it possible to override the blacklisting of some systems in
           that driver if needed (Ethan Zhao).
      
         - Improve intel_pstate code documentation and add a MAINTAINERS entry
           for it (Kristen Carlson Accardi).
      
         - Make the ACPI fan driver create cooling device interfaces witn
           names that reflect the IDs of the ACPI device objects they are
           associated with, except for "generic" ACPI fans (PNP ID "PNP0C0B").
      
           That's necessary for user space thermal management tools to be able
           to connect the fans with the parts of the system they are supposed
           to be cooling properly.  From Srinivas Pandruvada"
      
      * tag 'pm+acpi-3.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
        MAINTAINERS: add entry for intel_pstate
        ACPI / video: update the skip case for acpi_video_device_in_dod()
        power / PM: Eliminate CONFIG_PM_RUNTIME
        NFC / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        SCSI / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        ACPI / EC: Fix unexpected ec_remove_handlers() invocations
        Revert "tools: cpupower: fix return checks for sysfs_get_idlestate_count()"
        tracing / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        x86 / PM: Replace CONFIG_PM_RUNTIME in io_apic.c
        PM: Remove the SET_PM_RUNTIME_PM_OPS() macro
        mmc: atmel-mci: use SET_RUNTIME_PM_OPS() macro
        PM / Kconfig: Replace PM_RUNTIME with PM in dependencies
        ARM / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        sound / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        phy / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        video / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        tty / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        ACPI / PM: Do not disable wakeup GPEs that have not been enabled
        ACPI / utils: Drop error messages from acpi_evaluate_reference()
        ...
      c0f486fd
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v3.19-1' of... · 385336e3
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v3.19-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform driver update from Darren Hart:
       - thinkpad-acpi: Switch to software mute, cleanups
       - acerhdf: Bang-bang thermal governor, new models, cleanups
       - dell-laptop: New keyboard backlight support and documentation
       - toshiba_acpi: Keyboard backlight updates, hotkey handling
       - dell-wmi: Keypress filtering, WMI event processing
       - eeepc-laptop: Multiple cleanups, improved error handling, documentation
       - hp_wireless: Inform the user if hp_wireless_input_setup()/add() fails
       - misc: Code cleanups, quirks, various new IDs
      
      * tag 'platform-drivers-x86-v3.19-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (33 commits)
        platform/x86/acerhdf: Still depends on THERMAL
        Documentation: Add entry for dell-laptop sysfs interface
        acpi: Remove _OSI(Linux) for ThinkPads
        thinkpad-acpi: Try to use full software mute control
        acerhdf: minor clean up
        acerhdf: added critical trip point
        acerhdf: Use bang-bang thermal governor
        acerhdf: Adding support for new models
        acerhdf: Adding support for "manual mode"
        dell-smo8800: Add more ACPI ids and change description of driver
        platform: x86: dell-laptop: Add support for keyboard backlight
        toshiba_acpi: Add keyboard backlight mode change event
        toshiba_acpi: Change notify funtion to handle more events
        toshiba_acpi: Move hotkey enabling code to its own function
        dell-wmi: Don't report keypresses on keybord illumination change
        dell-wmi: Don't report keypresses for radio state changes
        hp_wireless: Inform the user if hp_wireless_input_setup()/add() fails
        toshiba-acpi: Add missing ID (TOS6207)
        Sony-laptop: Deletion of an unnecessary check before the function call "pci_dev_put"
        platform: x86: Deletion of checks before backlight_device_unregister()
        ...
      385336e3
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · ebcffcda
      Linus Torvalds authored
      Pull small watchdog update from Wim Van Sebroeck:
       - fix the argument of watchdog_active() in imx2_wdt
       - Add power management support to the imx2_wdt watchdog.
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: imx2_wdt: Fix the argument of watchdog_active()
        watchdog: imx2_wdt: Add power management support.
      ebcffcda
    • Linus Torvalds's avatar
      Merge tag 'media/v3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 0ec28c37
      Linus Torvalds authored
      Pull second set of media updates from Mauro Carvalho Chehab:
      
       - Move drivers for really old legacy hardware to staging.  Those are
         using obsolete media kAPIs and are for hardware that nobody uses for
         years.  Simply not worth porting them to the new kAPIs.  Of course,
         if anyone pops up to fix, we can move them back from there
      
       - While not too late, do some API fixups at the new colorspace API,
         added for v3.19
      
       - Some improvements for rcar_vin driver
      
       - Some fixups at cx88 and vivid drivers
      
       - Some Documentation fixups
      
      * tag 'media/v3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] bq/c-qcam, w9966, pms: move to staging in preparation for removal
        [media] tlg2300: move to staging in preparation for removal
        [media] vino/saa7191: move to staging in preparation for removal
        [media] MAINTAINERS: vivi -> vivid
        [media] cx88: remove leftover start_video_dma() call
        [media] cx88: add missing alloc_ctx support
        [media] v4l2-ioctl: WARN_ON if querycap didn't fill device_caps
        [media] vivid: fix CROP_BOUNDS typo for video output
        [media] DocBook media: update version number and document changes
        [media] vivid.txt: document new controls
        [media] DocBook media: add missing ycbcr_enc and quantization fields
        [media] v4l2-mediabus.h: use two __u16 instead of two __u32
        [media] rcar_vin: Fix interrupt enable in progressive
        [media] rcar_vin: Enable VSYNC field toggle mode
        [media] rcar_vin: Add scaling support
        [media] rcar_vin: Add DT support for r8a7793 and r8a7794 SoCs
        [media] rcar_vin: Add YUYV capture format support
      0ec28c37
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 4c929fee
      Linus Torvalds authored
      Pull infiniband updates from Roland Dreier:
       "Main batch of InfiniBand/RDMA changes for 3.19:
      
         - On-demand paging support in core midlayer and mlx5 driver.  This
           lets userspace create non-pinned memory regions and have the
           adapter HW trigger page faults.
         - iSER and IPoIB updates and fixes.
         - Low-level HW driver updates for cxgb4, mlx4 and ocrdma.
         - Other miscellaneous fixes"
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (56 commits)
        IB/mlx5: Implement on demand paging by adding support for MMU notifiers
        IB/mlx5: Add support for RDMA read/write responder page faults
        IB/mlx5: Handle page faults
        IB/mlx5: Page faults handling infrastructure
        IB/mlx5: Add mlx5_ib_update_mtt to update page tables after creation
        IB/mlx5: Changes in memory region creation to support on-demand paging
        IB/mlx5: Implement the ODP capability query verb
        mlx5_core: Add support for page faults events and low level handling
        mlx5_core: Re-add MLX5_DEV_CAP_FLAG_ON_DMND_PG flag
        IB/srp: Allow newline separator for connection string
        IB/core: Implement support for MMU notifiers regarding on demand paging regions
        IB/core: Add support for on demand paging regions
        IB/core: Add flags for on demand paging support
        IB/core: Add support for extended query device caps
        IB/mlx5: Add function to read WQE from user-space
        IB/core: Add umem function to read data from user-space
        IB/core: Replace ib_umem's offset field with a full address
        IB/mlx5: Enhance UMR support to allow partial page table update
        IB/mlx5: Remove per-MR pas and dma pointers
        RDMA/ocrdma: Always resolve destination mac from GRH for UD QPs
        ...
      4c929fee
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 018cb13e
      Linus Torvalds authored
      Merge misc patches from Andrew Morton:
       "A few stragglers"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        tools/testing/selftests/Makefile: alphasort the TARGETS list
        mm/zsmalloc: adjust order of functions
        ocfs2: fix journal commit deadlock
        ocfs2/dlm: fix race between dispatched_work and dlm_lockres_grab_inflight_worker
        ocfs2: reflink: fix slow unlink for refcounted file
        mm/memory.c:do_shared_fault(): add comment
        .mailmap: Santosh Shilimkar has moved
        .mailmap: update akpm@osdl.org
        lib/show_mem.c: add cma reserved information
        fs/proc/meminfo.c: include cma info in proc/meminfo
        mm: cma: split cma-reserved in dmesg log
        hfsplus: fix longname handling
        mm/mempolicy.c: remove unnecessary is_valid_nodemask()
      018cb13e
    • Andrew Morton's avatar
      tools/testing/selftests/Makefile: alphasort the TARGETS list · 96e869d8
      Andrew Morton authored
      This list is supposed to be sorted, to reduce patch collisions.
      
      Cc: Shuah Khan <shuah.kh@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      96e869d8
    • Ganesh Mahendran's avatar
      mm/zsmalloc: adjust order of functions · 66cdef66
      Ganesh Mahendran authored
      Currently functions in zsmalloc.c does not arranged in a readable and
      reasonable sequence.  With the more and more functions added, we may
      meet below inconvenience.  For example:
      
      Current functions:
      
          void zs_init()
          {
          }
      
          static void get_maxobj_per_zspage()
          {
          }
      
      Then I want to add a func_1() which is called from zs_init(), and this
      new added function func_1() will used get_maxobj_per_zspage() which is
      defined below zs_init().
      
          void func_1()
          {
              get_maxobj_per_zspage()
          }
      
          void zs_init()
          {
              func_1()
          }
      
          static void get_maxobj_per_zspage()
          {
          }
      
      This will cause compiling issue. So we must add a declaration:
      
          static void get_maxobj_per_zspage();
      
      before func_1() if we do not put get_maxobj_per_zspage() before
      func_1().
      
      In addition, puting module_[init|exit] functions at the bottom of the
      file conforms to our habit.
      
      So, this patch ajusts function sequence as:
      
          /* helper functions */
          ...
          obj_location_to_handle()
          ...
      
          /* Some exported functions */
          ...
      
          zs_map_object()
          zs_unmap_object()
      
          zs_malloc()
          zs_free()
      
          zs_init()
          zs_exit()
      Signed-off-by: default avatarGanesh Mahendran <opensource.ganesh@gmail.com>
      Cc: Nitin Gupta <ngupta@vflare.org>
      Acked-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      66cdef66
    • Junxiao Bi's avatar
      ocfs2: fix journal commit deadlock · 136f49b9
      Junxiao Bi authored
      For buffer write, page lock will be got in write_begin and released in
      write_end, in ocfs2_write_end_nolock(), before it unlock the page in
      ocfs2_free_write_ctxt(), it calls ocfs2_run_deallocs(), this will ask
      for the read lock of journal->j_trans_barrier.  Holding page lock and
      ask for journal->j_trans_barrier breaks the locking order.
      
      This will cause a deadlock with journal commit threads, ocfs2cmt will
      get write lock of journal->j_trans_barrier first, then it wakes up
      kjournald2 to do the commit work, at last it waits until done.  To
      commit journal, kjournald2 needs flushing data first, it needs get the
      cache page lock.
      
      Since some ocfs2 cluster locks are holding by write process, this
      deadlock may hung the whole cluster.
      
      unlock pages before ocfs2_run_deallocs() can fix the locking order, also
      put unlock before ocfs2_commit_trans() to make page lock is unlocked
      before j_trans_barrier to preserve unlocking order.
      Signed-off-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
      Reviewed-by: default avatarWengang Wang <wen.gang.wang@oracle.com>
      Cc: <stable@vger.kernel.org>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      136f49b9
    • Joseph Qi's avatar
      ocfs2/dlm: fix race between dispatched_work and dlm_lockres_grab_inflight_worker · 1e589581
      Joseph Qi authored
      Commit ac4fef4d ("ocfs2/dlm: do not purge lockres that is queued for
      assert master") may have the following possible race case:
      
        dlm_dispatch_assert_master       dlm_wq
        ========================================================================
        queue_work(dlm->quedlm_worker,
            &dlm->dispatched_work);
                                       dispatch work,
                                       dlm_lockres_drop_inflight_worker
                                       *BUG_ON(res->inflight_assert_workers == 0)*
        dlm_lockres_grab_inflight_worker
        inflight_assert_workers++
      
      So ensure inflight_assert_workers to be increased first.
      Signed-off-by: default avatarJoseph Qi <joseph.qi@huawei.com>
      Signed-off-by: default avatarXue jiufei <xuejiufei@huawei.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1e589581
    • Junxiao Bi's avatar
      ocfs2: reflink: fix slow unlink for refcounted file · f62f12b3
      Junxiao Bi authored
      When running ocfs2 test suite multiple nodes reflink stress test, for a
      4 nodes cluster, every unlink() for refcounted file needs about 700s.
      
      The slow unlink is caused by the contention of refcount tree lock since
      all nodes are unlink files using the same refcount tree.  When the
      unlinking file have many extents(over 1600 in our test), most of the
      extents has refcounted flag set.  In ocfs2_commit_truncate(), it will
      execute the following call trace for every extents.  This means it needs
      get and released refcount tree lock about 1600 times.  And when several
      nodes are do this at the same time, the performance will be very low.
      
        ocfs2_remove_btree_range()
        --  ocfs2_lock_refcount_tree()
        ----  ocfs2_refcount_lock()
        ------  __ocfs2_cluster_lock()
      
      ocfs2_refcount_lock() is costly, move it to ocfs2_commit_truncate() to
      do lock/unlock once can improve a lot performance.
      Signed-off-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
      Cc: Wengang <wen.gang.wang@oracle.com>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f62f12b3
    • Andrew Morton's avatar
      mm/memory.c:do_shared_fault(): add comment · d82fa87d
      Andrew Morton authored
      Belatedly document the changes in commit f0c6d4d2 ("mm: introduce
      do_shared_fault() and drop do_fault()").
      
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Bob Liu <lliubbo@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Sasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d82fa87d
    • Santosh Shilimkar's avatar
      .mailmap: Santosh Shilimkar has moved · 48332f28
      Santosh Shilimkar authored
      Add my new email address along with kernel.org email id
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
      Signed-off-by: default avatarSantosh Shilimkar <ssantosh@kernel.org>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48332f28
    • Andrew Morton's avatar
      7d19c8ff
    • Vishnu Pratap Singh's avatar
      lib/show_mem.c: add cma reserved information · 49abd8c2
      Vishnu Pratap Singh authored
      Add cma reserved information which is currently shown as a part of total
      reserved only.  This patch is continuation of our previous cma patches
      related to this.
      
        https://lkml.org/lkml/2014/10/20/64
        https://lkml.org/lkml/2014/10/22/383
      
      [akpm@linux-foundation.org: remove hopefully-unneeded ifdefs]
      Signed-off-by: default avatarVishnu Pratap Singh <vishnu.ps@samsung.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Xishi Qiu <qiuxishi@huawei.com>
      Cc: Pintu Kumar <pintu.k@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      49abd8c2
    • Pintu Kumar's avatar
      fs/proc/meminfo.c: include cma info in proc/meminfo · 47f8f929
      Pintu Kumar authored
      This patch include CMA info (CMATotal, CMAFree) in /proc/meminfo.
      Currently, in a CMA enabled system, if somebody wants to know the total
      CMA size declared, there is no way to tell, other than the dmesg or
      /var/log/messages logs.
      
      With this patch we are showing the CMA info as part of meminfo, so that it
      can be determined at any point of time.  This will be populated only when
      CMA is enabled.
      
      Below is the sample output from a ARM based device with RAM:512MB and CMA:16MB.
      
        MemTotal:         471172 kB
        MemFree:          111712 kB
        MemAvailable:     271172 kB
        .
        .
        .
        CmaTotal:          16384 kB
        CmaFree:            6144 kB
      
      This patch also fix below checkpatch errors that were found during these changes.
      
        ERROR: space required after that ',' (ctx:ExV)
        199: FILE: fs/proc/meminfo.c:199:
        +       ,atomic_long_read(&num_poisoned_pages) << (PAGE_SHIFT - 10)
                ^
      
        ERROR: space required after that ',' (ctx:ExV)
        202: FILE: fs/proc/meminfo.c:202:
        +       ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) *
                ^
      
        ERROR: space required after that ',' (ctx:ExV)
        206: FILE: fs/proc/meminfo.c:206:
        +       ,K(totalcma_pages)
                ^
      
        total: 3 errors, 0 warnings, 2 checks, 236 lines checked
      Signed-off-by: default avatarPintu Kumar <pintu.k@samsung.com>
      Signed-off-by: default avatarVishnu Pratap Singh <vishnu.ps@samsung.com>
      Acked-by: default avatarMichal Nazarewicz <mina86@mina86.com>
      Cc: Rafael Aquini <aquini@redhat.com>
      Cc: Jerome Marchand <jmarchan@redhat.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      47f8f929
    • Pintu Kumar's avatar
      mm: cma: split cma-reserved in dmesg log · e48322ab
      Pintu Kumar authored
      When the system boots up, in the dmesg logs we can see the memory
      statistics along with total reserved as below.  Memory: 458840k/458840k
      available, 65448k reserved, 0K highmem
      
      When CMA is enabled, still the total reserved memory remains the same.
      However, the CMA memory is not considered as reserved.  But, when we see
      /proc/meminfo, the CMA memory is part of free memory.  This creates
      confusion.  This patch corrects the problem by properly subtracting the
      CMA reserved memory from the total reserved memory in dmesg logs.
      
      Below is the dmesg snapshot from an arm based device with 512MB RAM and
      12MB single CMA region.
      
      Before this change:
        Memory: 458840k/458840k available, 65448k reserved, 0K highmem
      
      After this change:
        Memory: 458840k/458840k available, 53160k reserved, 12288k cma-reserved, 0K highmem
      Signed-off-by: default avatarPintu Kumar <pintu.k@samsung.com>
      Signed-off-by: default avatarVishnu Pratap Singh <vishnu.ps@samsung.com>
      Acked-by: default avatarMichal Nazarewicz <mina86@mina86.com>
      Cc: Rafael Aquini <aquini@redhat.com>
      Cc: Jerome Marchand <jmarchan@redhat.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e48322ab
    • Sougata Santra's avatar
      hfsplus: fix longname handling · 89ac9b4d
      Sougata Santra authored
      Longname is not correctly handled by hfsplus driver.  If an attempt to
      create a longname(>255) file/directory is made, it succeeds by creating a
      file/directory with HFSPLUS_MAX_STRLEN and incorrect catalog key.  Thus
      leaving the volume in an inconsistent state.  This patch fixes this issue.
      
      Although lookup is always called first to create a negative entry, so just
      doing a check in lookup would probably fix this issue.  I choose to
      propagate error to other iops as well.
      
      Please NOTE: I have factored out hfsplus_cat_build_key_with_cnid from
      hfsplus_cat_build_key, to avoid unncessary branching.
      
      Thanks a lot.
      
        TEST:
        ------
        dir="TEST_DIR"
        cdir=`pwd`
        name255="_123456789_123456789_123456789_123456789_123456789_123456789\
        _123456789_123456789_123456789_123456789_123456789_123456789_123456789\
        _123456789_123456789_123456789_123456789_123456789_123456789_123456789\
        _123456789_123456789_123456789_123456789_123456789_1234"
        name256="${name255}5"
      
        mkdir $dir
        cd $dir
        touch $name255
        rm -f $name255
        touch $name256
        ls -la
        cd $cdir
        rm -rf $dir
      
        RESULT:
        -------
        [sougata@ultrabook tmp]$ cdir=`pwd`
        [sougata@ultrabook tmp]$
        name255="_123456789_123456789_123456789_123456789_123456789_123456789\
         > _123456789_123456789_123456789_123456789_123456789_123456789_123456789\
         > _123456789_123456789_123456789_123456789_123456789_123456789_123456789\
         > _123456789_123456789_123456789_123456789_123456789_1234"
        [sougata@ultrabook tmp]$ name256="${name255}5"
        [sougata@ultrabook tmp]$
        [sougata@ultrabook tmp]$ mkdir $dir
        [sougata@ultrabook tmp]$ cd $dir
        [sougata@ultrabook TEST_DIR]$ touch $name255
        [sougata@ultrabook TEST_DIR]$ rm -f $name255
        [sougata@ultrabook TEST_DIR]$ touch $name256
        [sougata@ultrabook TEST_DIR]$ ls -la
        ls: cannot access
        _123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_1234:
        No such file or directory
        total 0
        drwxrwxr-x 1 sougata sougata 3 Feb 20 19:56 .
        drwxrwxrwx 1 root    root    6 Feb 20 19:56 ..
        -????????? ? ?       ?       ?            ?
        _123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_1234
        [sougata@ultrabook TEST_DIR]$ cd $cdir
        [sougata@ultrabook tmp]$ rm -rf $dir
        rm: cannot remove `TEST_DIR': Directory not empty
      
      -ENAMETOOLONG returned from hfsplus_asc2uni was not propaged to iops.
      This allowed hfsplus to create files/directories with HFSPLUS_MAX_STRLEN
      and incorrect keys, leaving the FS in an inconsistent state.  This patch
      fixes this issue.
      Signed-off-by: default avatarSougata Santra <sougata@tuxera.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: Vyacheslav Dubeyko <slava@dubeyko.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      89ac9b4d
    • Zhihui Zhang's avatar
      mm/mempolicy.c: remove unnecessary is_valid_nodemask() · 859f7ef1
      Zhihui Zhang authored
      When nodes is true, nsc->mask2 has already been filtered by nsc->mask1,
      which has already factored in node_states[N_MEMORY].
      Signed-off-by: default avatarZhihui Zhang <zzhsuny@gmail.com>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      859f7ef1
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 00c845db
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix NBMA tunnel mac header handling in GRE, from Timo Teräs.
      
       2) Fix a NAPI race in the fec driver, from Nimrod Andy.
      
       3) The new IFF_VNET_LE bit is outside the size of the flags member it
          is stored in (which is 16-bits), store the state locally in the
          drivers.  From Michael S Tsirkin.
      
       4) We are kicking the tires with the new wireless maintainership
          situation.  Bluetooth fixes via Johan Hedberg, and mac80211 fixes
          from Johannes Berg.
      
       5) Fix locking and leaks in geneve driver, from Jesse Gross.
      
       6) Make netlink TX mmap code always copy, so we don't have to be
          potentially exposed to the user changing the underlying contents
          from underneath us.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (63 commits)
        be2net: Fix incorrect setting of tunnel offload flag in netdev features
        bnx2x: fix typos in "configure"
        xen-netback: support frontends without feature-rx-notify again
        MAINTAINERS: changes for wireless
        cxgb4: Fix decoding QSA module for ethtool get settings
        geneve: Fix races between socket add and release.
        geneve: Remove socket and offload handlers at destruction.
        netlink: Don't reorder loads/stores before marking mmap netlink frame as available
        netlink: Always copy on mmap TX.
        Bluetooth: Fix bug with filter in service discovery optimization
        mac80211: free management frame keys when removing station
        net: Disallow providing non zero VLAN ID for NIC drivers FDB add flow
        net/mlx4: Cache line CQE/EQE stride fixes
        net: fec: Fix NAPI race
        xen-netfront: use napi_complete() correctly to prevent Rx stalling
        ip_tunnel: Add missing validation of encap type to ip_tunnel_encap_setup()
        ip_tunnel: Add sanity checks to ip_tunnel_encap_add_ops()
        net: Allow FIXED_PHY to be modular.
        if_tun: drop broken IFF_VNET_LE
        macvtap: drop broken IFF_VNET_LE
        ...
      00c845db
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 28ee5809
      Linus Torvalds authored
      Pull sparc fix from David Miller:
       "Sparc32 locking bug fix from Andreas Larsson"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc32: destroy_context() and switch_mm() needs to disable interrupts.
      28ee5809
    • Linus Torvalds's avatar
      Merge tag 'arc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 22943a6a
      Linus Torvalds authored
      Pull arch/arc updates from Vineet Gupta:
       "Minor updates for ARC for 3.19"
      
      * tag 'arc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: rename default defconfig
        ARC: [nsimosci] move peripherals to match model to FPGA
        ARC: document memory clobber in irq control macros
        ARC: R-M-W assist locks only needed for !LLSC
        ARC: add power management options
      22943a6a
    • Linus Torvalds's avatar
      Merge tag 'nios2-fixes-v3.19' of git://git.rocketboards.org/linux-socfpga-next · 39757e73
      Linus Torvalds authored
      Pull arch/nios2 fixes from Ley Foon Tan:
       - add definition of ioremap_wc to io.h to fix build error from make
         allmodconfig
       - fix make defconfig
       - fix sparse error
      
      * tag 'nios2-fixes-v3.19' of git://git.rocketboards.org/linux-socfpga-next:
        nios2/uaccess: fix sparse errors
        nios2: enable "make defconfig"
        nios2: add definition of ioremap_wc to io.h
      39757e73
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 66dcff86
      Linus Torvalds authored
      Pull KVM update from Paolo Bonzini:
       "3.19 changes for KVM:
      
         - spring cleaning: removed support for IA64, and for hardware-
           assisted virtualization on the PPC970
      
         - ARM, PPC, s390 all had only small fixes
      
        For x86:
         - small performance improvements (though only on weird guests)
         - usual round of hardware-compliancy fixes from Nadav
         - APICv fixes
         - XSAVES support for hosts and guests.  XSAVES hosts were broken
           because the (non-KVM) XSAVES patches inadvertently changed the KVM
           userspace ABI whenever XSAVES was enabled; hence, this part is
           going to stable.  Guest support is just a matter of exposing the
           feature and CPUID leaves support"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (179 commits)
        KVM: move APIC types to arch/x86/
        KVM: PPC: Book3S: Enable in-kernel XICS emulation by default
        KVM: PPC: Book3S HV: Improve H_CONFER implementation
        KVM: PPC: Book3S HV: Fix endianness of instruction obtained from HEIR register
        KVM: PPC: Book3S HV: Remove code for PPC970 processors
        KVM: PPC: Book3S HV: Tracepoints for KVM HV guest interactions
        KVM: PPC: Book3S HV: Simplify locking around stolen time calculations
        arch: powerpc: kvm: book3s_paired_singles.c: Remove unused function
        arch: powerpc: kvm: book3s_pr.c: Remove unused function
        arch: powerpc: kvm: book3s.c: Remove some unused functions
        arch: powerpc: kvm: book3s_32_mmu.c: Remove unused function
        KVM: PPC: Book3S HV: Check wait conditions before sleeping in kvmppc_vcore_blocked
        KVM: PPC: Book3S HV: ptes are big endian
        KVM: PPC: Book3S HV: Fix inaccuracies in ICP emulation for H_IPI
        KVM: PPC: Book3S HV: Fix KSM memory corruption
        KVM: PPC: Book3S HV: Fix an issue where guest is paused on receiving HMI
        KVM: PPC: Book3S HV: Fix computation of tlbie operand
        KVM: PPC: Book3S HV: Add missing HPTE unlock
        KVM: PPC: BookE: Improve irq inject tracepoint
        arm/arm64: KVM: Require in-kernel vgic for the arch timers
        ...
      66dcff86
    • Alexander Graf's avatar
      KVM: PPC: E500: Compile fix in this_cpu_write · 91ed9e8a
      Alexander Graf authored
      Commit 69111bac ("powerpc: Replace __get_cpu_var uses") introduced
      compile breakage to the e500 target by introducing invalid automatically
      created C syntax.
      
      Fix up the breakage and make the code compile again.
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      91ed9e8a
  2. 18 Dec, 2014 11 commits
    • David S. Miller's avatar
      Merge tag 'mac80211-for-davem-2014-12-18' of... · 86c8fc4b
      David S. Miller authored
      Merge tag 'mac80211-for-davem-2014-12-18' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
      
      Johannes Berg says:
      
      ====================
      pull-request: mac80211 2014-12-18
      
      Also from me a first pull request - we have a number of really old
      issues that happened to crop up now with new work (or just more testing)
      in the right areas as well as some small bugs newly introduced in 3.19.
      
      Let me know if there are any problems.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      86c8fc4b
    • David S. Miller's avatar
      Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth · 7dce675b
      David S. Miller authored
      Johan Hedberg says:
      
      ====================
      pull request: bluetooth 2014-12-17
      
      Here's the first direct (i.e. skipping the wireless tree) bluetooth pull
      request for you, intended for 3.19. It's just one patch: a fix from
      Marcel for for remote service discovery filtering which also fixes a
      'used uninitialized' compiler warning.
      
      Please let me know if there are any issues pulling. Thanks.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7dce675b
    • Eric W. Biederman's avatar
      mnt: Fix a memory stomp in umount · c297abfd
      Eric W. Biederman authored
      While reviewing the code of umount_tree I realized that when we append
      to a preexisting unmounted list we do not change pprev of the former
      first item in the list.
      
      Which means later in namespace_unlock hlist_del_init(&mnt->mnt_hash) on
      the former first item of the list will stomp unmounted.first leaving
      it set to some random mount point which we are likely to free soon.
      
      This isn't likely to hit, but if it does I don't know how anyone could
      track it down.
      
      [ This happened because we don't have all the same operations for
        hlist's as we do for normal doubly-linked lists. In particular,
        list_splice() is easy on our standard doubly-linked lists, while
        hlist_splice() doesn't exist and needs both start/end entries of the
        hlist.  And commit 38129a13 incorrectly open-coded that missing
        hlist_splice().
      
        We should think about making these kinds of "mindless" conversions
        easier to get right by adding the missing hlist helpers   - Linus ]
      
      Fixes: 38129a13 switch mnt_hash to hlist
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c297abfd
    • Sriharsha Basavapatna's avatar
      be2net: Fix incorrect setting of tunnel offload flag in netdev features · ac9a3d84
      Sriharsha Basavapatna authored
      An earlier commit to resolve an issue with encapsulation offloads missed
      setting a bit in the outer netdev features flag. This results in loss of TSO
      feature on a VxLAN interface.
      
      Fixes: 630f4b70 ("Export tunnel offloads only when a VxLAN tunnel is created")
      Signed-off-by: default avatarSriharsha Basavapatna <sriharsha.basavapatna@emulex.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ac9a3d84
    • Jiri Benc's avatar
      bnx2x: fix typos in "configure" · bf27c353
      Jiri Benc authored
      Noticed when debugging ptp.
      Signed-off-by: default avatarJiri Benc <jbenc@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bf27c353
    • David Vrabel's avatar
      xen-netback: support frontends without feature-rx-notify again · 26c0e102
      David Vrabel authored
      Commit bc96f648 (xen-netback: make
      feature-rx-notify mandatory) incorrectly assumed that there were no
      frontends in use that did not support this feature.  But the frontend
      driver in MiniOS does not and since this is used by (qemu) stubdoms,
      these stopped working.
      
      Netback sort of works as-is in this mode except:
      
      - If there are no Rx requests and the internal Rx queue fills, only
        the drain timeout will wake the thread.  The default drain timeout
        of 10 s would give unacceptable pauses.
      
      - If an Rx stall was detected and the internal Rx queue is drained,
        then the Rx thread would never wake.
      
      Handle these two cases (when feature-rx-notify is disabled) by:
      
      - Reducing the drain timeout to 30 ms.
      
      - Disabling Rx stall detection.
      Reported-by: default avatarJohn <jw@nuclearfallout.net>
      Tested-by: default avatarJohn <jw@nuclearfallout.net>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Reviewed-by: default avatarWei Liu <wei.liu2@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      26c0e102
    • Andreas Larsson's avatar
      sparc32: destroy_context() and switch_mm() needs to disable interrupts. · 66d0f7ec
      Andreas Larsson authored
      Load balancing can be triggered in the critical sections protected by
      srmmu_context_spinlock in destroy_context() and switch_mm() and can hang
      the cpu waiting for the rq lock of another cpu that in turn has called
      switch_mm hangning on srmmu_context_spinlock leading to deadlock.
      
      So, disable interrupt while taking srmmu_context_spinlock in
      destroy_context() and switch_mm() so we don't deadlock.
      
      See also commit 77b838fa ("[SPARC64]: destroy_context() needs to disable
      interrupts.")
      Signed-off-by: default avatarAndreas Larsson <andreas@gaisler.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      66d0f7ec
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-opp', 'pm-cpufreq' and 'pm-tools' · 2ec1c17c
      Rafael J. Wysocki authored
      * pm-opp:
        PM / OPP: do error handling at the bottom of dev_pm_opp_add_dynamic()
        PM / OPP: handle allocation of device_opp in a separate routine
        PM / OPP: reuse find_device_opp() instead of duplicating code
        PM / OPP: Staticize __dev_pm_opp_remove()
        PM / OPP: replace kfree with kfree_rcu while freeing 'struct device_opp'
      
      * pm-cpufreq:
        MAINTAINERS: add entry for intel_pstate
        intel_pstate: Add a few comments
        intel_pstate: add kernel parameter to force loading
      
      * pm-tools:
        Revert "tools: cpupower: fix return checks for sysfs_get_idlestate_count()"
      2ec1c17c
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-runtime' · 035f10ee
      Rafael J. Wysocki authored
      * pm-runtime:
        power / PM: Eliminate CONFIG_PM_RUNTIME
        NFC / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        SCSI / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        tracing / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        x86 / PM: Replace CONFIG_PM_RUNTIME in io_apic.c
        PM: Remove the SET_PM_RUNTIME_PM_OPS() macro
        mmc: atmel-mci: use SET_RUNTIME_PM_OPS() macro
        PM / Kconfig: Replace PM_RUNTIME with PM in dependencies
        ARM / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        sound / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        phy / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        video / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        tty / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
        spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM
      035f10ee
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-fan', 'acpi-video' and 'acpi-ec' · 0a066642
      Rafael J. Wysocki authored
      * acpi-fan:
        ACPI / Fan: Use bus id as the name for non PNP0C0B (Fan) devices
      
      * acpi-video:
        ACPI / video: update the skip case for acpi_video_device_in_dod()
      
      * acpi-ec:
        ACPI / EC: Fix unexpected ec_remove_handlers() invocations
      0a066642
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-scan', 'acpi-utils' and 'acpi-pm' · be10f60d
      Rafael J. Wysocki authored
      * acpi-scan:
        ACPI / scan: Change the level of _DEP-related messages to KERN_DEBUG
      
      * acpi-utils:
        ACPI / utils: Drop error messages from acpi_evaluate_reference()
      
      * acpi-pm:
        ACPI / PM: Do not disable wakeup GPEs that have not been enabled
      be10f60d