1. 09 Jan, 2015 5 commits
  2. 08 Jan, 2015 4 commits
  3. 03 Jan, 2015 2 commits
    • Namhyung Kim's avatar
      perf diff: Fix to sort by baseline field by default · e7024fc3
      Namhyung Kim authored
      The currently perf diff didn't add the baseline and delta (or other
      compute) fields to the sort list so output will be sorted by other
      fields like alphabetical order of DSO or symbol as below example.
      
      Fix it by adding hpp formats for the fields and provides default compare
      functions.
      
      Before:
      
        $ perf diff
        # Event 'cycles'
        #
        # Baseline    Delta  Shared Object       Symbol
        # ........  .......  ..................  ...............................
        #
                             [bridge]            [k] ip_sabotage_in
                             [btrfs]             [k] __etree_search.constprop.47
             0.01%           [btrfs]             [k] btrfs_file_mmap
             0.01%   -0.01%  [btrfs]             [k] btrfs_getattr
                             [e1000e]            [k] e1000_watchdog
             0.00%           [kernel.vmlinux]    [k] PageHuge
             0.00%           [kernel.vmlinux]    [k] __acct_update_integrals
             0.00%           [kernel.vmlinux]    [k] __activate_page
                             [kernel.vmlinux]    [k] __alloc_fd
             0.02%   +0.02%  [kernel.vmlinux]    [k] __alloc_pages_nodemask
             ...
      
      After:
      
        # Baseline    Delta  Shared Object       Symbol
        # ........  .......  ..................  ................................
        #
            24.73%   -4.62%  perf                [.] append_chain_children
             7.96%   -1.29%  perf                [.] dso__find_symbol
             6.97%   -2.07%  libc-2.20.so        [.] vfprintf
             4.61%   +0.88%  libc-2.20.so        [.] __fprintf_chk
             4.41%   +2.43%  perf                [.] sort__comm_cmp
             4.10%   -0.16%  perf                [.] comm__str
             4.03%   -0.93%  perf                [.] machine__findnew_thread_time
             3.82%   +3.09%  perf                [.] __hists__add_entry
             2.95%   -0.18%  perf                [.] sort__dso_cmp
             ...
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1419656793-32756-1-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e7024fc3
    • Taesoo Kim's avatar
      perf list: Fix --raw-dump option · b3505208
      Taesoo Kim authored
      Currently, 'perf list --raw-dump' requires extra arguments
      (e.g., hw) to invoke, which breaks bash/zsh completion
      (perf-completion.sh).
      
        $ perf list --raw-dump
          Error: unknown option `raw-dump'
      
           usage: perf list [hw|sw|cache|tracepoint|pmu|event_glob]
      
      After,
      
        $ perf list --raw-dump
        cpu-cycles instructions cache-references cache-misses ...
      Signed-off-by: default avatarTaesoo Kim <tsgatesv@gmail.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Taesoo kim <taesoo@gatech.edu>
      Link: http://lkml.kernel.org/r/1419997015-11071-1-git-send-email-tsgatesv@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b3505208
  4. 02 Jan, 2015 2 commits
    • Namhyung Kim's avatar
      perf probe: Fix crash in dwarf_getcfi_elf · 4093325f
      Namhyung Kim authored
      David reported that perf can segfault when adding an uprobe event like
      this:
      
        $ perf probe -x /lib64/libc-2.14.90.so -a 'malloc  size=%di'
      
        (gdb) bt
        #0  parse_eh_frame_hdr (hdr=0x0, hdr_size=2596, hdr_vaddr=71788,
            ehdr=0x7fffffffd390, eh_frame_vaddr=
            0x7fffffffd378, table_entries=0x8808d8, table_encoding=0x8808e0 "") at
            dwarf_getcfi_elf.c:79
        #1  0x000000385f81615a in getcfi_scn_eh_frame (hdr_vaddr=71788,
            hdr_scn=0x8839b0, shdr=0x7fffffffd2f0, scn=<optimized out>,
            ehdr=0x7fffffffd390, elf=0x882b30) at dwarf_getcfi_elf.c:231
        #2  getcfi_shdr (ehdr=0x7fffffffd390, elf=0x882b30) at dwarf_getcfi_elf.c:283
        #3  dwarf_getcfi_elf (elf=0x882b30) at dwarf_getcfi_elf.c:309
        #4  0x00000000004d5bac in debuginfo__find_probes (pf=0x7fffffffd4f0,
            dbg=Unhandled dwarf expression opcode 0xfa) at util/probe-finder.c:993
        #5  0x00000000004d634a in debuginfo__find_trace_events (dbg=0x880840,
            pev=<optimized out>, tevs=0x880f88, max_tevs=<optimized out>) at
            util/probe-finder.c:1200
        #6  0x00000000004aed6b in try_to_find_probe_trace_events (target=0x881b20
            "/lib64/libpthread-2.14.90.so",
            max_tevs=128, tevs=0x880f88, pev=0x859b30) at util/probe-event.c:482
        #7  convert_to_probe_trace_events (target=0x881b20
            "/lib64/libpthread-2.14.90.so", max_tevs=128, tevs=0x880f88,
            pev=0x859b30) at util/probe-event.c:2356
        #8  add_perf_probe_events (pevs=<optimized out>, npevs=1, max_tevs=128,
            target=0x881b20 "/lib64/libpthread-2.14.90.so", force_add=false) at
            util/probe-event.c:2391
        #9  0x000000000044014f in __cmd_probe (argc=<optimized out>,
            argv=0x7fffffffe2f0, prefix=Unhandled dwarf expression opcode 0xfa) at
            at builtin-probe.c:488
        #10 0x0000000000440313 in cmd_probe (argc=5, argv=0x7fffffffe2f0,
            prefix=<optimized out>) at builtin-probe.c:506
        #11 0x000000000041d133 in run_builtin (p=0x805680, argc=5,
            argv=0x7fffffffe2f0) at perf.c:341
        #12 0x000000000041c8b2 in handle_internal_command (argv=<optimized out>,
            argc=<optimized out>) at perf.c:400
        #13 run_argv (argv=<optimized out>, argcp=<optimized out>) at perf.c:444
        #14 main (argc=5, argv=0x7fffffffe2f0) at perf.c:559
      
      And I found a related commit (5704c8c4fa71 "getcfi_scn_eh_frame: Don't
      crash and burn when .eh_frame bits aren't there.") in elfutils that can
      lead to a unexpected crash like this.  To safely use the function, it
      needs to check the .eh_frame section is a PROGBITS type.
      Reported-by: default avatarDavid Ahern <dsahern@gmail.com>
      Tested-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Mark Wielaard <mjw@redhat.com>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Link: http://lkml.kernel.org/r/20141230090533.GH6081@sejongSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4093325f
    • Masami Hiramatsu's avatar
      perf probe: Fix to fall back to find probe point in symbols · 906451b9
      Masami Hiramatsu authored
      Fix to fall back to find a probe point in symbols if perf fails to find
      it in debuginfo.
      
      This can happen when the target function is an alias of another
      function. Such alias doesn't have an entry in debuginfo but in symbols.
      
      David Ahern reported this problem in https://lkml.org/lkml/2014/12/29/355
      
      I ensured the problem and deeper investigation discovers it.
       -----
       eu-readelf --debug-dump=info /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.19.so | grep \"malloc\" -A6
                   name                 (strp) "malloc"
                   decl_file            (data1) 25
                   decl_line            (data2) 466
                   prototyped           (flag_present)
                   type                 (ref4) [  81b5]
                   declaration          (flag_present)
       [  8f58]      formal_parameter
       --
                   name                 (strp) "malloc"
                   decl_file            (data1) 23
                   decl_line            (data2) 466
                   prototyped           (flag_present)
                   type                 (ref4) [  9f4a]
                   declaration          (flag_present)
                   sibling              (ref4) [  bb29]
       ...
       -----
      All these entires have no instances (all of them are declarations)
      This is why the perf probe failed to find it in debuginfo.
      
      However, there are some malloc instances in symbols.
       -----
       eu-readelf --symbols /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.19.so | grep malloc$
        1181: 0000000000080700   5332 FUNC    LOCAL  DEFAULT       12 _int_malloc
        4537: 00000000000831d0    339 FUNC    LOCAL  DEFAULT       12 __GI___libc_malloc
        5545: 00000000000831d0    339 FUNC    LOCAL  DEFAULT       12 __malloc
        6063: 00000000000831d0    339 FUNC    GLOBAL DEFAULT       12 malloc
        7302: 00000000000831d0    339 FUNC    GLOBAL DEFAULT       12 __libc_malloc
       -----
      As you an see, malloc and __libc_malloc have same address, and actually
      __libc_malloc has an entry in debuginfo. So you can set up a probe on
      __libc_malloc.
      
      To fix this problem shortly, perf probe simply falls back to find probe
      point(malloc) in symbols if it is not found in debuginfo.
      Reported-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: yrl.pp-manager.tt@hitachi.com
      Link: http://lkml.kernel.org/r/20141231062747.2087.80961.stgit@localhost.localdomainSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      906451b9
  5. 01 Jan, 2015 1 commit
  6. 31 Dec, 2014 10 commits
  7. 30 Dec, 2014 10 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 2c90331c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix double SKB free in bluetooth 6lowpan layer, from Jukka Rissanen.
      
       2) Fix receive checksum handling in enic driver, from Govindarajulu
          Varadarajan.
      
       3) Fix NAPI poll list corruption in virtio_net and caif_virtio, from
          Herbert Xu.  Also, add code to detect drivers that have this mistake
          in the future.
      
       4) Fix doorbell endianness handling in mlx4 driver, from Amir Vadai.
      
       5) Don't clobber IP6CB() before xfrm6_policy_check() is called in TCP
          input path,f rom Nicolas Dichtel.
      
       6) Fix MPLS action validation in openvswitch, from Pravin B Shelar.
      
       7) Fix double SKB free in vxlan driver, also from Pravin.
      
       8) When we scrub a packet, which happens when we are switching the
          context of the packet (namespace, etc.), we should reset the
          secmark.  From Thomas Graf.
      
       9) ->ndo_gso_check() needs to do more than return true/false, it also
          has to allow the driver to clear netdev feature bits in order for
          the caller to be able to proceed properly.  From Jesse Gross.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (62 commits)
        genetlink: A genl_bind() to an out-of-range multicast group should not WARN().
        netlink/genetlink: pass network namespace to bind/unbind
        ne2k-pci: Add pci_disable_device in error handling
        bonding: change error message to debug message in __bond_release_one()
        genetlink: pass multicast bind/unbind to families
        netlink: call unbind when releasing socket
        netlink: update listeners directly when removing socket
        genetlink: pass only network namespace to genl_has_listeners()
        netlink: rename netlink_unbind() to netlink_undo_bind()
        net: Generalize ndo_gso_check to ndo_features_check
        net: incorrect use of init_completion fixup
        neigh: remove next ptr from struct neigh_table
        net: xilinx: Remove unnecessary temac_property in the driver
        net: phy: micrel: use generic config_init for KSZ8021/KSZ8031
        net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding
        openvswitch: fix odd_ptr_err.cocci warnings
        Bluetooth: Fix accepting connections when not using mgmt
        Bluetooth: Fix controller configuration with HCI_QUIRK_INVALID_BDADDR
        brcmfmac: Do not crash if platform data is not populated
        ipw2200: select CFG80211_WEXT
        ...
      2c90331c
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-3.19-fixes' of... · 6ab1e8de
      Linus Torvalds authored
      Merge tag 'linux-kselftest-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest fix from Shuah Khan:
       "Fix exec test compile warnings"
      
      * tag 'linux-kselftest-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/exec: Use %zu to format size_t
      6ab1e8de
    • Steev Klimaszewski's avatar
      Add USB_EHCI_EXYNOS to multi_v7_defconfig · 007487f1
      Steev Klimaszewski authored
      Currently we enable Exynos devices in the multi v7 defconfig, however, when
      testing on my ODROID-U3, I noticed that USB was not working.  Enabling this
      option causes USB to work, which enables networking support as well since the
      ODROID-U3 has networking on the USB bus.
      
      [arnd] Support for odroid-u3 was added in 3.10, so it would be nice to
      backport this fix at least that far.
      Signed-off-by: default avatarSteev Klimaszewski <steev@gentoo.org>
      Cc: stable@vger.kernel.org # 3.10
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      007487f1
    • Arnd Bergmann's avatar
      Merge tag 'mvebu-fixes-3.19' of git://git.infradead.org/linux-mvebu into fixes · 7ebdfaa5
      Arnd Bergmann authored
      Pull "Fixes for 3.19" from Andrew Lunn:
      
      Jason is taking a back seat this cycle and i'm doing all the patch
      wrangling for mvebu.
      
      * tag 'mvebu-fixes-3.19' of git://git.infradead.org/linux-mvebu:
        ARM: mvebu: Fix pinctrl configuration for Armada 370 DB
      
      Also update to Linux 3.19-rc1, which this was based on.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      7ebdfaa5
    • Paul Moore's avatar
      audit: create private file name copies when auditing inodes · fcf22d82
      Paul Moore authored
      Unfortunately, while commit 4a928436 ("audit: correctly record file
      names with different path name types") fixed a problem where we were
      not recording filenames, it created a new problem by attempting to use
      these file names after they had been freed.  This patch resolves the
      issue by creating a copy of the filename which the audit subsystem
      frees after it is done with the string.
      
      At some point it would be nice to resolve this issue with refcounts,
      or something similar, instead of having to allocate/copy strings, but
      that is almost surely beyond the scope of a -rcX patch so we'll defer
      that for later.  On the plus side, only audit users should be impacted
      by the string copying.
      Reported-by: default avatarToralf Foerster <toralf.foerster@gmx.de>
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      fcf22d82
    • Tomi Valkeinen's avatar
      OMAPDSS: SDI: fix output port_num · a32442d4
      Tomi Valkeinen authored
      After the commit ef691ff4 (OMAPDSS: DT: Get source endpoint by
      matching reg-id) we look for the SDI output using the port number.
      However, the SDI driver doesn't set the port number, which causes the
      SDI display to not initialize.
      
      Fix this by setting the SDI port number to 1. We use a hardcoded value,
      as SDI was used only on OMAP3 and it's always port number 1 there.
      Reported-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Reported-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      a32442d4
    • Tomi Valkeinen's avatar
      video/fbdev: fix defio's fsync · 30ea9c52
      Tomi Valkeinen authored
      fb_deferred_io_fsync() returns the value of schedule_delayed_work() as
      an error code, but schedule_delayed_work() does not return an error. It
      returns true/false depending on whether the work was already queued.
      
      Fix this by ignoring the return value of schedule_delayed_work().
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: stable@vger.kernel.org
      30ea9c52
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 · 5faa0154
      Linus Torvalds authored
      Pull CIFS fixes from Steve French:
       "A set of three minor cifs fixes"
      
      * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: make new inode cache when file type is different
        Fix signed/unsigned pointer warning
        Convert MessageID in smb2_hdr to LE
      5faa0154
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · b9d4a35f
      Linus Torvalds authored
      Pull UDF & isofs fixes from Jan Kara:
       "A couple of UDF fixes of handling of corrupted media and one iso9660
        fix of the same"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Reduce repeated dereferences
        udf: Check component length before reading it
        udf: Check path length when reading symlink
        udf: Verify symlink size before loading it
        udf: Verify i_size when loading inode
        isofs: Fix unchecked printing of ER records
      b9d4a35f
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · df90dcd1
      Linus Torvalds authored
      Pull power management and ACPI material from Rafael J Wysocki:
       "These are fixes (operating performance points library, cpufreq-dt
        driver, cpufreq core, ACPI backlight, cpupower tool), cleanups
        (cpuidle), new processor IDs for the RAPL (Running Average Power
        Limit) power capping driver, and a modification of the generic power
        domains framework allowing modular drivers to call one of its helper
        functions.
      
        Specifics:
      
         - Fix for a potential NULL pointer dereference in the cpufreq core
           due to an initialization race condition (Ethan Zhao).
      
         - Fixes for abuse of the OPP (Operating Performance Points) API
           related to RCU and other minor issues in the OPP library and the
           cpufreq-dt driver (Dmitry Torokhov).
      
         - cpuidle governors cleanup making them measure idle duration in a
           better way without using the CPUIDLE_FLAG_TIME_INVALID flag which
           allows that flag to be dropped from the ACPI cpuidle driver and
           from the core too (Len Brown).
      
         - New ACPI backlight blacklist entries for Samsung machines without a
           working native backlight interface that need to use the ACPI
           backlight instead (Aaron Lu).
      
         - New CPU IDs of future Intel Xeon CPUs for the Intel RAPL power
           capping driver (Jacob Pan).
      
         - Generic power domains framework modification to export the
           of_genpd_get_from_provider() function to modular drivers that will
           allow future driver modifications to be based on the mainline (Amit
           Daniel Kachhap).
      
         - Two fixes for the cpupower tool (Michal Privoznik, Prarit
           Bhargava)"
      
      * tag 'pm+acpi-3.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / video: Add some Samsung models to disable_native_backlight list
        tools / cpupower: Fix no idle state information return value
        tools / cpupower: Correctly detect if running as root
        cpufreq: fix a NULL pointer dereference in __cpufreq_governor()
        cpufreq-dt: defer probing if OPP table is not ready
        PM / OPP: take RCU lock in dev_pm_opp_get_opp_count
        PM / OPP: fix warning in of_free_opp_table()
        PM / OPP: add some lockdep annotations
        powercap / RAPL: add IDs for future Xeon CPUs
        PM / Domains: Export of_genpd_get_from_provider function
        cpuidle / ACPI: remove unused CPUIDLE_FLAG_TIME_INVALID
        cpuidle: ladder: Better idle duration measurement without using CPUIDLE_FLAG_TIME_INVALID
        cpuidle: menu: Better idle duration measurement without using CPUIDLE_FLAG_TIME_INVALID
      df90dcd1
  8. 29 Dec, 2014 6 commits
    • David S. Miller's avatar
      genetlink: A genl_bind() to an out-of-range multicast group should not WARN(). · dc97a1a9
      David S. Miller authored
      Users can request to bind to arbitrary multicast groups, so warning
      when the requested group number is out of range is not appropriate.
      
      And with the warning removed, and the 'err' variable properly given
      an initial value, we can remove 'found' altogether.
      Reported-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dc97a1a9
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 346eef2f
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A few driver specific fixes here, the DMA burst size increase in the
        spfi driver is a fix to make the hardware happier in some situations"
      
      * tag 'spi-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: img-spfi: Increase DMA burst size
        spi: img-spfi: Enable controller before starting TX DMA
        spi: sh-msiof: Add runtime PM lock in initializing
      346eef2f
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 034496f4
      Linus Torvalds authored
      Pull one regulator fix from Mark Brown:
       "One fix here, a fix for the voltage mapping on one of the s2mps11
        regulators which broke systems using it including apparently the
        Gear 2 smartwatches"
      
      * tag 'regulator-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: s2mps11: Fix dw_mmc failure on Gear 2
      034496f4
    • Linus Torvalds's avatar
      Merge tag 'mmc-v3.19-2' of git://git.linaro.org/people/ulf.hansson/mmc · 5e6c2c97
      Linus Torvalds authored
      Pull one MMC fix from Ulf Hansson:
       "MMC core:
      
         - Fix selection of buswidth for mmc hosts supporting 1-bit only"
      
      * tag 'mmc-v3.19-2' of git://git.linaro.org/people/ulf.hansson/mmc:
        mmc: core: stop trying to switch width when only one bit is supported
      5e6c2c97
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 4c5d4995
      Linus Torvalds authored
      Pull thermal management updates from Zhang Rui:
       "First of all, the most important change is the thermal cpu cooling
        fixes.  The major fix here is to have proper sequencing between
        cpufreq layer and thermal cpu cooling registration.  A take away of
        this fix is an improvement in the thermal drivers code.  Thermal
        drivers that require cpu cooling do not need to check for cpufreq
        layer.  The requirement now is to propagate the error code, if any,
        while registering cpu cooling device.  Thanks to Viresh for
        implementing the required CPUfreq changes.
      
        Second, a new driver is introduced for int340x processor thermal
        device.  Given that int340x thermal is disabled by default, and this
        processor thermal device is only available on limited platforms, plus
        the driver does nothing but exposes some thermal limitation
        information for user space to use, thus I think it is safe to include
        it in this pull request after missing 3.19-rc2.
      
        Specifics:
      
         - Thermal cpu cooling fixes and cleanups.
      
         - introduce INT340X processor thermal reporting device driver.
      
         - several small fixes and cleanups for int340x thermal drivers"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (43 commits)
        Thermal/int340x/int3403: Free acpi notification handler
        Thermal/int340x/processor_thermal: Fix memory leak
        Thermal/int340x/int3403: Fix memory leak
        thermal: int340x: Introduce processor reporting device
        thermal: int340x_thermal: drop owner assignment from platform_drivers
        thermal: drop owner assignment from platform_drivers
        thermal: cpu_cooling: document node in struct cpufreq_cooling_device
        thermal/powerclamp: add ids for future xeon cpus
        Thermal/int340x: Handle properly the case when _trt or _art acpi entry is missing
        thermal: cpu_cooling: return ERR_PTR() for !CPU_THERMAL or !THERMAL_OF
        thermal: cpu_cooling: small memory leak on error
        thermal: ti-soc-thermal: Do not print error message in the EPROBE_DEFER case
        thermal: db8500: Do not print error message in the EPROBE_DEFER case
        thermal: imx: Do not print error message in the EPROBE_DEFER case
        thermal: Fix cdev registration with THERMAL_NO_LIMIT on 64bit
        drivers: thermal: Remove ARCH_HAS_BANDGAP dependency for samsung
        thermal:core:fix: Check return code of the ->get_max_state() callback
        thermal: cpu_cooling: update copyright tags
        thermal: cpu_cooling: Use cpufreq_dev->freq_table for finding level/freq
        thermal: cpu_cooling: Store frequencies in descending order
        ...
      4c5d4995
    • Michal Hocko's avatar
      mm: get rid of radix tree gfp mask for pagecache_get_page · 45f87de5
      Michal Hocko authored
      Commit 2457aec6 ("mm: non-atomically mark page accessed during page
      cache allocation where possible") has added a separate parameter for
      specifying gfp mask for radix tree allocations.
      
      Not only this is less than optimal from the API point of view because it
      is error prone, it is also buggy currently because
      grab_cache_page_write_begin is using GFP_KERNEL for radix tree and if
      fgp_flags doesn't contain FGP_NOFS (mostly controlled by fs by
      AOP_FLAG_NOFS flag) but the mapping_gfp_mask has __GFP_FS cleared then
      the radix tree allocation wouldn't obey the restriction and might
      recurse into filesystem and cause deadlocks.  This is the case for most
      filesystems unfortunately because only ext4 and gfs2 are using
      AOP_FLAG_NOFS.
      
      Let's simply remove radix_gfp_mask parameter because the allocation
      context is same for both page cache and for the radix tree.  Just make
      sure that the radix tree gets only the sane subset of the mask (e.g.  do
      not pass __GFP_WRITE).
      
      Long term it is more preferable to convert remaining users of
      AOP_FLAG_NOFS to use mapping_gfp_mask instead and simplify this
      interface even further.
      Reported-by: default avatarDave Chinner <david@fromorbit.com>
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.cz>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      45f87de5