12 Sep, 2015

1 commit

  • Pull thermal updates from Zhang Rui:

    - use int instead of unsigned long to represent temperature to avoid
    bogus overheat detection when negative temperature reported. From
    Sascha Hauer.

    - export available thermal governors information to user space via
    sysfs. From Wei Ni.

    - introduce new thermal driver for Wildcat Point platform controller
    hub, which uses PCH thermal sensor and associated critical and hot
    trip points. From Tushar Dave.

    - add suuport for Intel Skylake and Denlow platforms in powerclamp
    driver.

    - some small cleanups in thermal core.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    thermal: Add Intel PCH thermal driver
    thermal: Add comment explaining test for critical temperature
    thermal: Use IS_ENABLED instead of #ifdef
    thermal: remove unnecessary call to thermal_zone_device_set_polling
    thermal: trivial: fix typo in comment
    thermal: consistently use int for temperatures
    thermal: add available policies sysfs attribute
    thermal/powerclamp: add cpu id for denlow platform
    thermal/powerclamp: add cpu id for Skylake u/y
    thermal/powerclamp: add cpu id for skylake h/s

    Linus Torvalds
     

11 Sep, 2015

2 commits

  • Pull blk-cg updates from Jens Axboe:
    "A bit later in the cycle, but this has been in the block tree for a a
    while. This is basically four patchsets from Tejun, that improve our
    buffered cgroup writeback. It was dependent on the other cgroup
    changes, but they went in earlier in this cycle.

    Series 1 is set of 5 patches that has cgroup writeback updates:

    - bdi_writeback iteration fix which could lead to some wb's being
    skipped or repeated during e.g. sync under memory pressure.

    - Simplification of wb work wait mechanism.

    - Writeback tracepoints updated to report cgroup.

    Series 2 is is a set of updates for the CFQ cgroup writeback handling:

    cfq has always charged all async IOs to the root cgroup. It didn't
    have much choice as writeback didn't know about cgroups and there
    was no way to tell who to blame for a given writeback IO.
    writeback finally grew support for cgroups and now tags each
    writeback IO with the appropriate cgroup to charge it against.

    This patchset updates cfq so that it follows the blkcg each bio is
    tagged with. Async cfq_queues are now shared across cfq_group,
    which is per-cgroup, instead of per-request_queue cfq_data. This
    makes all IOs follow the weight based IO resource distribution
    implemented by cfq.

    - Switched from GFP_ATOMIC to GFP_NOWAIT as suggested by Jeff.

    - Other misc review points addressed, acks added and rebased.

    Series 3 is the blkcg policy cleanup patches:

    This patchset contains assorted cleanups for blkcg_policy methods
    and blk[c]g_policy_data handling.

    - alloc/free added for blkg_policy_data. exit dropped.

    - alloc/free added for blkcg_policy_data.

    - blk-throttle's async percpu allocation is replaced with direct
    allocation.

    - all methods now take blk[c]g_policy_data instead of blkcg_gq or
    blkcg.

    And finally, series 4 is a set of patches cleaning up the blkcg stats
    handling:

    blkcg's stats have always been somwhat of a mess. This patchset
    tries to improve the situation a bit.

    - The following patches added to consolidate blkcg entry point and
    blkg creation. This is in itself is an improvement and helps
    colllecting common stats on bio issue.

    - per-blkg stats now accounted on bio issue rather than request
    completion so that bio based and request based drivers can behave
    the same way. The issue was spotted by Vivek.

    - cfq-iosched implements custom recursive stats and blk-throttle
    implements custom per-cpu stats. This patchset make blkcg core
    support both by default.

    - cfq-iosched and blk-throttle keep track of the same stats
    multiple times. Unify them"

    * 'for-4.3/blkcg' of git://git.kernel.dk/linux-block: (45 commits)
    blkcg: use CGROUP_WEIGHT_* scale for io.weight on the unified hierarchy
    blkcg: s/CFQ_WEIGHT_*/CFQ_WEIGHT_LEGACY_*/
    blkcg: implement interface for the unified hierarchy
    blkcg: misc preparations for unified hierarchy interface
    blkcg: separate out tg_conf_updated() from tg_set_conf()
    blkcg: move body parsing from blkg_conf_prep() to its callers
    blkcg: mark existing cftypes as legacy
    blkcg: rename subsystem name from blkio to io
    blkcg: refine error codes returned during blkcg configuration
    blkcg: remove unnecessary NULL checks from __cfqg_set_weight_device()
    blkcg: reduce stack usage of blkg_rwstat_recursive_sum()
    blkcg: remove cfqg_stats->sectors
    blkcg: move io_service_bytes and io_serviced stats into blkcg_gq
    blkcg: make blkg_[rw]stat_recursive_sum() to be able to index into blkcg_gq
    blkcg: make blkcg_[rw]stat per-cpu
    blkcg: add blkg_[rw]stat->aux_cnt and replace cfq_group->dead_stats with it
    blkcg: consolidate blkg creation in blkcg_bio_issue_check()
    blk-throttle: improve queue bypass handling
    blkcg: move root blkg lookup optimization from throtl_lookup_tg() to __blkg_lookup()
    blkcg: inline [__]blkg_lookup()
    ...

    Linus Torvalds
     
  • Pull more kvm updates from Paolo Bonzini:
    "ARM:
    - Full debug support for arm64
    - Active state switching for timer interrupts
    - Lazy FP/SIMD save/restore for arm64
    - Generic ARMv8 target

    PPC:
    - Book3S: A few bug fixes
    - Book3S: Allow micro-threading on POWER8

    x86:
    - Compiler warnings

    Generic:
    - Adaptive polling for guest halt"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (49 commits)
    kvm: irqchip: fix memory leak
    kvm: move new trace event outside #ifdef CONFIG_KVM_ASYNC_PF
    KVM: trace kvm_halt_poll_ns grow/shrink
    KVM: dynamic halt-polling
    KVM: make halt_poll_ns per-vCPU
    Silence compiler warning in arch/x86/kvm/emulate.c
    kvm: compile process_smi_save_seg_64() only for x86_64
    KVM: x86: avoid uninitialized variable warning
    KVM: PPC: Book3S: Fix typo in top comment about locking
    KVM: PPC: Book3S: Fix size of the PSPB register
    KVM: PPC: Book3S HV: Exit on H_DOORBELL if HOST_IPI is set
    KVM: PPC: Book3S HV: Fix race in starting secondary threads
    KVM: PPC: Book3S: correct width in XER handling
    KVM: PPC: Book3S HV: Fix preempted vcore stolen time calculation
    KVM: PPC: Book3S HV: Fix preempted vcore list locking
    KVM: PPC: Book3S HV: Implement H_CLEAR_REF and H_CLEAR_MOD
    KVM: PPC: Book3S HV: Fix bug in dirty page tracking
    KVM: PPC: Book3S HV: Fix race in reading change bit when removing HPTE
    KVM: PPC: Book3S HV: Implement dynamic micro-threading on POWER8
    KVM: PPC: Book3S HV: Make use of unused threads when running guests
    ...

    Linus Torvalds
     

09 Sep, 2015

1 commit

  • Pull tracing update from Steven Rostedt:
    "Mostly this is just clean ups and micro optimizations.

    The changes with more meat are:

    - Allowing the trace event filters to filter on CPU number and
    process ids

    - Two new markers for trace output latency were added (10 and 100
    msec latencies)

    - Have tracing_thresh filter function profiling time

    I also worked on modifying the ring buffer code for some future work,
    and moved the adding of the timestamp around. One of my changes
    caused a regression, and since other changes were built on top of it
    and already tested, I had to operate a revert of that change. Instead
    of rebasing, this change set has the code that caused a regression as
    well as the code to revert that change without touching the other
    changes that were made on top of it"

    * tag 'trace-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    ring-buffer: Revert "ring-buffer: Get timestamp after event is allocated"
    tracing: Don't make assumptions about length of string on task rename
    tracing: Allow triggers to filter for CPU ids and process names
    ftrace: Format MCOUNT_ADDR address as type unsigned long
    tracing: Introduce two additional marks for delay
    ftrace: Fix function_graph duration spacing with 7-digits
    ftrace: add tracing_thresh to function profile
    tracing: Clean up stack tracing and fix fentry updates
    ring-buffer: Reorganize function locations
    ring-buffer: Make sure event has enough room for extend and padding
    ring-buffer: Get timestamp after event is allocated
    ring-buffer: Move the adding of the extended timestamp out of line
    ring-buffer: Add event descriptor to simplify passing data
    ftrace: correct the counter increment for trace_buffer data
    tracing: Fix for non-continuous cpu ids
    tracing: Prefer kcalloc over kzalloc with multiply

    Linus Torvalds
     

08 Sep, 2015

1 commit


06 Sep, 2015

4 commits

  • Tracepoint for dynamic halt_pool_ns, fired on every potential change.

    Signed-off-by: Wanpeng Li
    Signed-off-by: Paolo Bonzini

    Wanpeng Li
     
  • Pull media updates from Mauro Carvalho Chehab:
    - new DVB frontend drivers: ascot2e, cxd2841er, horus3a, lnbh25
    - new HDMI capture driver: tc358743
    - new driver for NetUP DVB new boards (netup_unidvb)
    - IR support for DVBSky cards (smipcie-ir)
    - Coda driver has gain macroblock tiling support
    - Renesas R-Car gains JPEG codec driver
    - new DVB platform driver for STi boards: c8sectpfe
    - added documentation for the media core kABI to device-drivers DocBook
    - lots of driver fixups, cleanups and improvements

    * tag 'media/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (297 commits)
    [media] c8sectpfe: Remove select on undefined LIBELF_32
    [media] i2c: fix platform_no_drv_owner.cocci warnings
    [media] cx231xx: Use wake_up_interruptible() instead of wake_up_interruptible_nr()
    [media] tc358743: only queue subdev notifications if devnode is set
    [media] tc358743: add missing Kconfig dependency/select
    [media] c8sectpfe: Use %pad to print 'dma_addr_t'
    [media] DocBook media: Fix typo "the the" in xml files
    [media] tc358743: make reset gpio optional
    [media] tc358743: set direction of reset gpio using devm_gpiod_get
    [media] dvbdev: document most of the functions/data structs
    [media] dvb_frontend.h: document the struct dvb_frontend
    [media] dvb-frontend.h: document struct dtv_frontend_properties
    [media] dvb-frontend.h: document struct dvb_frontend_ops
    [media] dvb: Use DVBFE_ALGO_HW where applicable
    [media] dvb_frontend.h: document struct analog_demod_ops
    [media] dvb_frontend.h: Document struct dvb_tuner_ops
    [media] Docbook: Document struct analog_parameters
    [media] dvb_frontend.h: get rid of dvbfe_modcod
    [media] add documentation for struct dvb_tuner_info
    [media] dvb_frontend: document dvb_frontend_tune_settings
    ...

    Linus Torvalds
     
  • Pull nfsd updates from Bruce Fields:
    "Nothing major, but:

    - Add Jeff Layton as an nfsd co-maintainer: no change to existing
    practice, just an acknowledgement of the status quo.

    - Two patches ("nfsd: ensure that...") for a race overlooked by the
    state locking rewrite, causing a crash noticed by multiple users.

    - Lots of smaller bugfixes all over from Kinglong Mee.

    - From Jeff, some cleanup of server rpc code in preparation for
    possible shift of nfsd threads to workqueues"

    * tag 'nfsd-4.3' of git://linux-nfs.org/~bfields/linux: (52 commits)
    nfsd: deal with DELEGRETURN racing with CB_RECALL
    nfsd: return CLID_INUSE for unexpected SETCLIENTID_CONFIRM case
    nfsd: ensure that delegation stateid hash references are only put once
    nfsd: ensure that the ol stateid hash reference is only put once
    net: sunrpc: fix tracepoint Warning: unknown op '->'
    nfsd: allow more than one laundry job to run at a time
    nfsd: don't WARN/backtrace for invalid container deployment.
    fs: fix fs/locks.c kernel-doc warning
    nfsd: Add Jeff Layton as co-maintainer
    NFSD: Return word2 bitmask if setting security label in OPEN/CREATE
    NFSD: Set the attributes used to store the verifier for EXCLUSIVE4_1
    nfsd: SUPPATTR_EXCLCREAT must be encoded before SECURITY_LABEL.
    nfsd: Fix an FS_LAYOUT_TYPES/LAYOUT_TYPES encode bug
    NFSD: Store parent's stat in a separate value
    nfsd: Fix two typos in comments
    lockd: NLM grace period shouldn't block NFSv4 opens
    nfsd: include linux/nfs4.h in export.h
    sunrpc: Switch to using hash list instead single list
    sunrpc/nfsd: Remove redundant code by exports seq_operations functions
    sunrpc: Store cache_detail in seq_file's private directly
    ...

    Linus Torvalds
     
  • Merge patch-bomb from Andrew Morton:

    - a few misc things

    - Andy's "ambient capabilities"

    - fs/nofity updates

    - the ocfs2 queue

    - kernel/watchdog.c updates and feature work.

    - some of MM. Includes Andrea's userfaultfd feature.

    [ Hadn't noticed that userfaultfd was 'default y' when applying the
    patches, so that got fixed in this merge instead. We do _not_ mark
    new features that nobody uses yet 'default y' - Linus ]

    * emailed patches from Andrew Morton : (118 commits)
    mm/hugetlb.c: make vma_has_reserves() return bool
    mm/madvise.c: make madvise_behaviour_valid() return bool
    mm/memory.c: make tlb_next_batch() return bool
    mm/dmapool.c: change is_page_busy() return from int to bool
    mm: remove struct node_active_region
    mremap: simplify the "overlap" check in mremap_to()
    mremap: don't do uneccesary checks if new_len == old_len
    mremap: don't do mm_populate(new_addr) on failure
    mm: move ->mremap() from file_operations to vm_operations_struct
    mremap: don't leak new_vma if f_op->mremap() fails
    mm/hugetlb.c: make vma_shareable() return bool
    mm: make GUP handle pfn mapping unless FOLL_GET is requested
    mm: fix status code which move_pages() returns for zero page
    mm: memcontrol: bring back the VM_BUG_ON() in mem_cgroup_swapout()
    genalloc: add support of multiple gen_pools per device
    genalloc: add name arg to gen_pool_get() and devm_gen_pool_create()
    mm/memblock: WARN_ON when nid differs from overlap region
    Documentation/features/vm: add feature description and arch support status for batched TLB flush after unmap
    mm: defer flush of writable TLB entries
    mm: send one IPI per CPU to TLB flush all entries after unmapping pages
    ...

    Linus Torvalds
     

05 Sep, 2015

2 commits

  • When unmapping pages it is necessary to flush the TLB. If that page was
    accessed by another CPU then an IPI is used to flush the remote CPU. That
    is a lot of IPIs if kswapd is scanning and unmapping >100K pages per
    second.

    There already is a window between when a page is unmapped and when it is
    TLB flushed. This series increases the window so multiple pages can be
    flushed using a single IPI. This should be safe or the kernel is hosed
    already.

    Patch 1 simply made the rest of the series easier to write as ftrace
    could identify all the senders of TLB flush IPIS.

    Patch 2 tracks what CPUs potentially map a PFN and then sends an IPI
    to flush the entire TLB.

    Patch 3 tracks when there potentially are writable TLB entries that
    need to be batched differently

    Patch 4 increases SWAP_CLUSTER_MAX to further batch flushes

    The performance impact is documented in the changelogs but in the optimistic
    case on a 4-socket machine the full series reduces interrupts from 900K
    interrupts/second to 60K interrupts/second.

    This patch (of 4):

    It is easy to trace when an IPI is received to flush a TLB but harder to
    detect what event sent it. This patch makes it easy to identify the
    source of IPIs being transmitted for TLB flushes on x86.

    Signed-off-by: Mel Gorman
    Reviewed-by: Rik van Riel
    Reviewed-by: Dave Hansen
    Acked-by: Ingo Molnar
    Cc: Linus Torvalds
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • Pull sound updates from Takashi Iwai:
    "There are little changes in core part, but lots of development are
    found in drivers, especially ASoC. The diffstat shows regmap-related
    changes for a slight API additions / changes, and that's all.

    Looking at the code size statistics, the most significant addition is
    for Intel Skylake. (Note that SKL support is still underway, the
    codec driver is missing.) Also STI controller driver is a major
    addition as well as a few new codec drivers.

    In HD-audio side, there are fewer changes than the past. The
    noticeable change is the support of ELD notification from i915
    graphics driver. Thus this pull request carries a few changes in
    drm/i915.

    Other than that, USB-audio got a rewrite of runtime PM code. It was
    initiated by lockdep warning, but resulted in a good cleanup in the
    end.

    Below are the highlights:

    Common:
    - Factoring out of AC'97 reset code from ASoC into the core helper
    - A few regmap API extensions (in case it's not pulled yet)

    ASoC:
    - New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek
    RT298 and ST STI controllers
    - Machine drivers for Rockchip systems with MAX98090 and RT5645 and
    RT5650
    - Initial driver support for Intel Skylake devices
    - Lots of rsnd cleanup and enhancements
    - A few DAPM fixes and cleanups
    - A large number of cleanups in various drivers (conversion and
    standardized to regmap, component) mostly by Lars-Peter and Axel

    HD-audio:
    - Extended HD-audio core for Intel Skylake controller support
    - Quirks for Dell headsets, Alienware 15
    - Clean up of pin-based quirk tables for Realtek codecs
    - ELD notifier implenetation for Intel HDMI/DP

    USB-audio:
    - Refactor runtime PM code to make lockdep happier"

    * tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits)
    drm/i915: Add locks around audio component bind/unbind
    drm/i915: Drop port_mst_index parameter from pin/eld callback
    ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup()
    ALSA: hda - Wake the codec up on pin/ELD notify events
    ALSA: hda - allow codecs to access the i915 pin/ELD callback
    drm/i915: Call audio pin/ELD notify function
    drm/i915: Add audio pin sense / ELD callback
    ASoC: zx296702-i2s: Fix resource leak when unload module
    ASoC: sti_uniperif: Ensure component is unregistered when unload module
    ASoC: au1x: psc-i2s: Convert to use devm_ioremap_resource
    ASoC: sh: dma-sh7760: Convert to devm_snd_soc_register_platform
    ASoC: spear_pcm: Use devm_snd_dmaengine_pcm_register to fix resource leak
    ALSA: fireworks/bebob/dice/oxfw: fix substreams counting at vmalloc failure
    ASoC: Clean up docbook warnings
    ASoC: txx9: Convert to devm_snd_soc_register_platform
    ASoC: pxa: Convert to devm_snd_soc_register_platform
    ASoC: nuc900: Convert to devm_snd_soc_register_platform
    ASoC: blackfin: Convert to devm_snd_soc_register_platform
    ASoC: au1x: Convert to devm_snd_soc_register_platform
    ASoC: qcom: Constify asoc_qcom_lpass_cpu_dai_ops
    ...

    Linus Torvalds
     

04 Sep, 2015

2 commits

  • Pull f2fs updates from Jaegeuk Kim:
    "The major work includes fixing and enhancing the existing extent_cache
    feature, which has been well settling down so far and now it becomes a
    default mount option accordingly.

    Also, this version newly registers a f2fs memory shrinker to reclaim
    several objects consumed by a couple of data structures in order to
    avoid memory pressures.

    Another new feature is to add ioctl(F2FS_GARBAGE_COLLECT) which
    triggers a cleaning job explicitly by users.

    Most of the other patches are to fix bugs occurred in the corner cases
    across the whole code area"

    * tag 'for-f2fs-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (85 commits)
    f2fs: upset segment_info repair
    f2fs: avoid accessing NULL pointer in f2fs_drop_largest_extent
    f2fs: update extent tree in batches
    f2fs: fix to release inode correctly
    f2fs: handle f2fs_truncate error correctly
    f2fs: avoid unneeded initializing when converting inline dentry
    f2fs: atomically set inode->i_flags
    f2fs: fix wrong pointer access during try_to_free_nids
    f2fs: use __GFP_NOFAIL to avoid infinite loop
    f2fs: lookup neighbor extent nodes for merging later
    f2fs: split __insert_extent_tree_ret for readability
    f2fs: kill dead code in __insert_extent_tree
    f2fs: adjust showing of extent cache stat
    f2fs: add largest/cached stat in extent cache
    f2fs: fix incorrect mapping for bmap
    f2fs: add annotation for space utilization of regular/inline dentry
    f2fs: fix to update cached_en of extent tree properly
    f2fs: fix typo
    f2fs: check the node block address of newly allocated nid
    f2fs: go out for insert_inode_locked failure
    ...

    Linus Torvalds
     
  • Pull ext3 removal, quota & udf fixes from Jan Kara:
    "The biggest change in the pull is the removal of ext3 filesystem
    driver (~28k lines removed). Ext4 driver is a full featured
    replacement these days and both RH and SUSE use it for several years
    without issues. Also there are some workarounds in VM & block layer
    mainly for ext3 which we could eventually get rid of.

    Other larger change is addition of proper error handling for
    dquot_initialize(). The rest is small fixes and cleanups"

    [ I wasn't convinced about the ext3 removal and worried about things
    falling through the cracks for legacy users, but ext4 maintainers
    piped up and were all unanimously in favor of removal, and maintaining
    all legacy ext3 support inside ext4. - Linus ]

    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    udf: Don't modify filesystem for read-only mounts
    quota: remove an unneeded condition
    ext4: memory leak on error in ext4_symlink()
    mm/Kconfig: NEED_BOUNCE_POOL: clean-up condition
    ext4: Improve ext4 Kconfig test
    block: Remove forced page bouncing under IO
    fs: Remove ext3 filesystem driver
    doc: Update doc about journalling layer
    jfs: Handle error from dquot_initialize()
    reiserfs: Handle error from dquot_initialize()
    ocfs2: Handle error from dquot_initialize()
    ext4: Handle error from dquot_initialize()
    ext2: Handle error from dquot_initalize()
    quota: Propagate error from ->acquire_dquot()

    Linus Torvalds
     

03 Sep, 2015

1 commit

  • Pull networking updates from David Miller:
    "Another merge window, another set of networking changes. I've heard
    rumblings that the lightweight tunnels infrastructure has been voted
    networking change of the year. But what do I know?

    1) Add conntrack support to openvswitch, from Joe Stringer.

    2) Initial support for VRF (Virtual Routing and Forwarding), which
    allows the segmentation of routing paths without using multiple
    devices. There are some semantic kinks to work out still, but
    this is a reasonably strong foundation. From David Ahern.

    3) Remove spinlock fro act_bpf fast path, from Alexei Starovoitov.

    4) Ignore route nexthops with a link down state in ipv6, just like
    ipv4. From Andy Gospodarek.

    5) Remove spinlock from fast path of act_gact and act_mirred, from
    Eric Dumazet.

    6) Document the DSA layer, from Florian Fainelli.

    7) Add netconsole support to bcmgenet, systemport, and DSA. Also
    from Florian Fainelli.

    8) Add Mellanox Switch Driver and core infrastructure, from Jiri
    Pirko.

    9) Add support for "light weight tunnels", which allow for
    encapsulation and decapsulation without bearing the overhead of a
    full blown netdevice. From Thomas Graf, Jiri Benc, and a cast of
    others.

    10) Add Identifier Locator Addressing support for ipv6, from Tom
    Herbert.

    11) Support fragmented SKBs in iwlwifi, from Johannes Berg.

    12) Allow perf PMUs to be accessed from eBPF programs, from Kaixu Xia.

    13) Add BQL support to 3c59x driver, from Loganaden Velvindron.

    14) Stop using a zero TX queue length to mean that a device shouldn't
    have a qdisc attached, use an explicit flag instead. From Phil
    Sutter.

    15) Use generic geneve netdevice infrastructure in openvswitch, from
    Pravin B Shelar.

    16) Add infrastructure to avoid re-forwarding a packet in software
    that was already forwarded by a hardware switch. From Scott
    Feldman.

    17) Allow AF_PACKET fanout function to be implemented in a bpf
    program, from Willem de Bruijn"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1458 commits)
    netfilter: nf_conntrack: make nf_ct_zone_dflt built-in
    netfilter: nf_dup{4, 6}: fix build error when nf_conntrack disabled
    net: fec: clear receive interrupts before processing a packet
    ipv6: fix exthdrs offload registration in out_rt path
    xen-netback: add support for multicast control
    bgmac: Update fixed_phy_register()
    sock, diag: fix panic in sock_diag_put_filterinfo
    flow_dissector: Use 'const' where possible.
    flow_dissector: Fix function argument ordering dependency
    ixgbe: Resolve "initialized field overwritten" warnings
    ixgbe: Remove bimodal SR-IOV disabling
    ixgbe: Add support for reporting 2.5G link speed
    ixgbe: fix bounds checking in ixgbe_setup_tc for 82598
    ixgbe: support for ethtool set_rxfh
    ixgbe: Avoid needless PHY access on copper phys
    ixgbe: cleanup to use cached mask value
    ixgbe: Remove second instance of lan_id variable
    ixgbe: use kzalloc for allocating one thing
    flow: Move __get_hash_from_flowi{4,6} into flow_dissector.c
    ixgbe: Remove unused PCI bus types
    ...

    Linus Torvalds
     

02 Sep, 2015

1 commit

  • A number of VRF patches used 'int' for table id. It should be u32 to be
    consistent with the rest of the stack.

    Fixes:
    4e3c89920cd3a ("net: Introduce VRF related flags and helpers")
    15be405eb2ea9 ("net: Add inet_addr lookup by table")
    30bbaa1950055 ("net: Fix up inet_addr_type checks")
    021dd3b8a142d ("net: Add routes to the table associated with the device")
    dc028da54ed35 ("inet: Move VRF table lookup to inlined function")
    f6d3c19274c74 ("net: FIB tracepoints")

    Signed-off-by: David Ahern
    Reviewed-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    David Ahern
     

01 Sep, 2015

4 commits

  • Pull scheduler updates from Ingo Molnar:
    "The biggest change in this cycle is the rewrite of the main SMP load
    balancing metric: the CPU load/utilization. The main goal was to make
    the metric more precise and more representative - see the changelog of
    this commit for the gory details:

    9d89c257dfb9 ("sched/fair: Rewrite runnable load and utilization average tracking")

    It is done in a way that significantly reduces complexity of the code:

    5 files changed, 249 insertions(+), 494 deletions(-)

    and the performance testing results are encouraging. Nevertheless we
    need to keep an eye on potential regressions, since this potentially
    affects every SMP workload in existence.

    This work comes from Yuyang Du.

    Other changes:

    - SCHED_DL updates. (Andrea Parri)

    - Simplify architecture callbacks by removing finish_arch_switch().
    (Peter Zijlstra et al)

    - cputime accounting: guarantee stime + utime == rtime. (Peter
    Zijlstra)

    - optimize idle CPU wakeups some more - inspired by Facebook server
    loads. (Mike Galbraith)

    - stop_machine fixes and updates. (Oleg Nesterov)

    - Introduce the 'trace_sched_waking' tracepoint. (Peter Zijlstra)

    - sched/numa tweaks. (Srikar Dronamraju)

    - misc fixes and small cleanups"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
    sched/deadline: Fix comment in enqueue_task_dl()
    sched/deadline: Fix comment in push_dl_tasks()
    sched: Change the sched_class::set_cpus_allowed() calling context
    sched: Make sched_class::set_cpus_allowed() unconditional
    sched: Fix a race between __kthread_bind() and sched_setaffinity()
    sched: Ensure a task has a non-normalized vruntime when returning back to CFS
    sched/numa: Fix NUMA_DIRECT topology identification
    tile: Reorganize _switch_to()
    sched, sparc32: Update scheduler comments in copy_thread()
    sched: Remove finish_arch_switch()
    sched, tile: Remove finish_arch_switch
    sched, sh: Fold finish_arch_switch() into switch_to()
    sched, score: Remove finish_arch_switch()
    sched, avr32: Remove finish_arch_switch()
    sched, MIPS: Get rid of finish_arch_switch()
    sched, arm: Remove finish_arch_switch()
    sched/fair: Clean up load average references
    sched/fair: Provide runnable_load_avg back to cfs_rq
    sched/fair: Remove task and group entity load when they are dead
    sched/fair: Init cfs_rq's sched_entity load average
    ...

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The main RCU changes in this cycle are:

    - the combination of tree geometry-initialization simplifications and
    OS-jitter-reduction changes to expedited grace periods. These two
    are stacked due to the large number of conflicts that would
    otherwise result.

    - privatize smp_mb__after_unlock_lock().

    This commit moves the definition of smp_mb__after_unlock_lock() to
    kernel/rcu/tree.h, in recognition of the fact that RCU is the only
    thing using this, that nothing else is likely to use it, and that
    it is likely to go away completely.

    - documentation updates.

    - torture-test updates.

    - misc fixes"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
    rcu,locking: Privatize smp_mb__after_unlock_lock()
    rcu: Silence lockdep false positive for expedited grace periods
    rcu: Don't disable CPU hotplug during OOM notifiers
    scripts: Make checkpatch.pl warn on expedited RCU grace periods
    rcu: Update MAINTAINERS entry
    rcu: Clarify CONFIG_RCU_EQS_DEBUG help text
    rcu: Fix backwards RCU_LOCKDEP_WARN() in synchronize_rcu_tasks()
    rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()
    rcu: Make rcu_is_watching() really notrace
    cpu: Wait for RCU grace periods concurrently
    rcu: Create a synchronize_rcu_mult()
    rcu: Fix obsolete priority-boosting comment
    rcu: Use WRITE_ONCE in RCU_INIT_POINTER
    rcu: Hide RCU_NOCB_CPU behind RCU_EXPERT
    rcu: Add RCU-sched flavors of get-state and cond-sync
    rcu: Add fastpath bypassing funnel locking
    rcu: Rename RCU_GP_DONE_FQS to RCU_GP_DOING_FQS
    rcu: Pull out wait_event*() condition into helper function
    documentation: Describe new expedited stall warnings
    rcu: Add stall warnings to synchronize_sched_expedited()
    ...

    Linus Torvalds
     
  • `perf stat -e sunrpc:svc_xprt_do_enqueue true` results in

    Warning: unknown op '->'
    Warning: [sunrpc:svc_xprt_do_enqueue] unknown op '->'

    Similar warning for svc_handle_xprt as well.

    Actually TP_printk() should never dereference an address saved in the ring
    buffer that points somewhere in the kernel. There's no guarantee that that
    object still exists (with the exception of static strings).

    Therefore change all the arguments for TP_printk(), so that it references
    values existing in the ring buffer only.

    While doing that, also fix another possible bug when argument xprt could be
    NULL and TP_fast_assign() tries to access it's elements.

    Signed-off-by: Pratyush Anand
    Reviewed-by: Jeff Layton
    Acked-by: Steven Rostedt
    Cc: stable@vger.kernel.org
    Fixes: 83a712e0afef "sunrpc: add some tracepoints around ..."
    Signed-off-by: J. Bruce Fields

    Pratyush Anand
     
  • TOS is another key aspect of the lookup passed to fib_validate_source.
    Add it to the tracepoint.

    Signed-off-by: David Ahern
    Signed-off-by: David S. Miller

    David Ahern
     

31 Aug, 2015

1 commit

  • While the dest comm string size is assured to be at least TASK_COMM_LEN long,
    doing a memcpy() also adds the assumption that the source is at least that
    long as well, which isn't assured, and isn't true in cases such as:

    set_task_comm(worker->task, "kworker/dying");

    This leads to accessing invalid memory.

    Link: http://lkml.kernel.org/r/1440760018-1557-1-git-send-email-sasha.levin@oracle.com

    Signed-off-by: Sasha Levin
    Signed-off-by: Steven Rostedt

    Sasha Levin
     

30 Aug, 2015

1 commit


19 Aug, 2015

1 commit

  • The following tracepoints are updated to report the cgroup used during
    cgroup writeback.

    * writeback_write_inode[_start]
    * writeback_queue
    * writeback_exec
    * writeback_start
    * writeback_written
    * writeback_wait
    * writeback_nowork
    * writeback_wake_background
    * wbc_writepage
    * writeback_queue_io
    * bdi_dirty_ratelimit
    * balance_dirty_pages
    * writeback_sb_inodes_requeue
    * writeback_single_inode[_start]

    Note that writeback_bdi_register is separated out from writeback_class
    as reporting cgroup doesn't make sense to it. Tracepoints which take
    bdi are updated to take bdi_writeback instead.

    Signed-off-by: Tejun Heo
    Suggested-by: Jan Kara
    Reviewed-by: Jan Kara
    Signed-off-by: Jens Axboe

    Tejun Heo
     

13 Aug, 2015

1 commit


06 Aug, 2015

1 commit

  • Add tracepoints to retrieve information about read, write
    and non-data commands. For performance measurement support
    tracepoints are added at the beginning and at the end of
    transfers. Following is a list showing the new tracepoint
    events. The "cmd" parameter here represents the opcode, SID,
    and full 16-bit address.

    spmi_write_begin: cmd and data buffer.
    spmi_write_end : cmd and return value.
    spmi_read_begin : cmd.
    spmi_read_end : cmd, return value and data buffer.
    spmi_cmd : cmd.

    The reason that cmd appears at both the beginning and at
    the end event is that SPMI drivers can request commands
    concurrently. cmd helps in matching the corresponding
    events.

    SPMI tracepoints can be enabled like:

    echo 1 >/sys/kernel/debug/tracing/events/spmi/enable

    and will dump messages that can be viewed in
    /sys/kernel/debug/tracing/trace that look like:

    ... spmi_read_begin: opc=56 sid=00 addr=0x0000
    ... spmi_read_end: opc=56 sid=00 addr=0x0000 ret=0 len=02 buf=0x[01-40]
    ... spmi_write_begin: opc=48 sid=00 addr=0x0000 len=3 buf=0x[ff-ff-ff]

    Suggested-by: Sagar Dharia
    Acked-by: Steven Rostedt
    Reviewed-by: Stephen Boyd
    Signed-off-by: Gilad Avidov
    Signed-off-by: Ankit Gupta
    Signed-off-by: Greg Kroah-Hartman

    Ankit Gupta
     

05 Aug, 2015

1 commit

  • Because of the extent shrinker or other -ENOMEM scenarios, it cannot guarantee
    that the largest extent would be cached in the tree all the time.

    Instead of relying on extent_tree, we can simply check the cached one in extent
    tree accordingly.

    Reviewed-by: Chao Yu
    Signed-off-by: Jaegeuk Kim

    Jaegeuk Kim
     

03 Aug, 2015

2 commits

  • The thermal code uses int, long and unsigned long for temperatures
    in different places.

    Using an unsigned type limits the thermal framework to positive
    temperatures without need. Also several drivers currently will report
    temperatures near UINT_MAX for temperatures below 0°C. This will probably
    immediately shut the machine down due to overtemperature if started below
    0°C.

    'long' is 64bit on several architectures. This is not needed since INT_MAX °mC
    is above the melting point of all known materials.

    Consistently use a plain 'int' for temperatures throughout the thermal code and
    the drivers. This only changes the places in the drivers where the temperature
    is passed around as pointer, when drivers internally use another type this is
    not changed.

    Signed-off-by: Sascha Hauer
    Acked-by: Geert Uytterhoeven
    Reviewed-by: Jean Delvare
    Reviewed-by: Lukasz Majewski
    Reviewed-by: Darren Hart
    Reviewed-by: Heiko Stuebner
    Reviewed-by: Peter Feuerer
    Cc: Punit Agrawal
    Cc: Zhang Rui
    Cc: Eduardo Valentin
    Cc: linux-pm@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Jean Delvare
    Cc: Peter Feuerer
    Cc: Heiko Stuebner
    Cc: Lukasz Majewski
    Cc: Stephen Warren
    Cc: Thierry Reding
    Cc: linux-acpi@vger.kernel.org
    Cc: platform-driver-x86@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-samsung-soc@vger.kernel.org
    Cc: Guenter Roeck
    Cc: Rafael J. Wysocki
    Cc: Maxime Ripard
    Cc: Darren Hart
    Cc: lm-sensors@lm-sensors.org
    Signed-off-by: Zhang Rui

    Sascha Hauer
     
  • Mathieu reported that since 317f394160e9 ("sched: Move the second half
    of ttwu() to the remote cpu") trace_sched_wakeup() can happen out of
    context of the waker.

    This is a problem when you want to analyse wakeup paths because it is
    now very hard to correlate the wakeup event to whoever issued the
    wakeup.

    OTOH trace_sched_wakeup() is issued at the point where we set
    p->state = TASK_RUNNING, which is right were we hand the task off to
    the scheduler, so this is an important point when looking at
    scheduling behaviour, up to here its been the wakeup path everything
    hereafter is due to scheduler policy.

    To bridge this gap, introduce a second tracepoint: trace_sched_waking.
    It is guaranteed to be called in the waker context.

    Reported-by: Mathieu Desnoyers
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Francis Giraldeau
    Cc: Linus Torvalds
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/20150609091336.GQ3644@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

24 Jul, 2015

1 commit

  • The functionality of ext3 is fully supported by ext4 driver. Major
    distributions (SUSE, RedHat) already use ext4 driver to handle ext3
    filesystems for quite some time. There is some ugliness in mm resulting
    from jbd cleaning buffers in a dirty page without cleaning page dirty
    bit and also support for buffer bouncing in the block layer when stable
    pages are required is there only because of jbd. So let's remove the
    ext3 driver. This saves us some 28k lines of duplicated code.

    Acked-by: Theodore Ts'o
    Signed-off-by: Jan Kara

    Jan Kara
     

18 Jul, 2015

1 commit


17 Jul, 2015

2 commits

  • Add videobuf2 specific vb2_qbuf and vb2_dqbuf trace events that mirror the
    v4l2_qbuf and v4l2_dqbuf trace events, only they include additional
    information about queue fill state and are emitted right before the buffer
    is enqueued in the driver or userspace is woken up. This allows to make
    sense of the timeline of trace events in combination with others that might
    be triggered by __enqueue_in_driver.

    Also two new trace events vb2_buf_queue and vb2_buf_done are added,
    allowing to trace the handover between videobuf2 framework and driver.

    Signed-off-by: Philipp Zabel
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Philipp Zabel
     
  • Trace events with exactly the same parameters and trace output, such as
    v4l2_qbuf and v4l2_dqbuf, are supposed to use the DECLARE_EVENT_CLASS and
    DEFINE_EVENT macros instead of duplicated TRACE_EVENT macro calls.

    Suggested-by: Steven Rostedt

    Signed-off-by: Philipp Zabel
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Philipp Zabel
     

01 Jul, 2015

1 commit

  • Pull btrfs updates from Chris Mason:
    "Outside of our usual batch of fixes, this integrates the subvolume
    quota updates that Qu Wenruo from Fujitsu has been working on for a
    few releases now. He gets an extra gold star for making btrfs smaller
    this time, and fixing a number of quota corners in the process.

    Dave Sterba tested and integrated Anand Jain's sysfs improvements.
    Outside of exporting a symbol (ack'd by Greg) these are all internal
    to btrfs and it's mostly cleanups and fixes. Anand also attached some
    of our sysfs objects to our internal device management structs instead
    of an object off the super block. It will make device management
    easier overall and it's a better fit for how the sysfs files are used.
    None of the existing sysfs files are moved around.

    Thanks for all the fixes everyone"

    * 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (87 commits)
    btrfs: delayed-ref: double free in btrfs_add_delayed_tree_ref()
    Btrfs: Check if kobject is initialized before put
    lib: export symbol kobject_move()
    Btrfs: sysfs: add support to show replacing target in the sysfs
    Btrfs: free the stale device
    Btrfs: use received_uuid of parent during send
    Btrfs: fix use-after-free in btrfs_replay_log
    btrfs: wait for delayed iputs on no space
    btrfs: qgroup: Make snapshot accounting work with new extent-oriented qgroup.
    btrfs: qgroup: Add the ability to skip given qgroup for old/new_roots.
    btrfs: ulist: Add ulist_del() function.
    btrfs: qgroup: Cleanup the old ref_node-oriented mechanism.
    btrfs: qgroup: Switch self test to extent-oriented qgroup mechanism.
    btrfs: qgroup: Switch to new extent-oriented qgroup mechanism.
    btrfs: qgroup: Switch rescan to new mechanism.
    btrfs: qgroup: Add new qgroup calculation function btrfs_qgroup_account_extents().
    btrfs: backref: Add special time_seq == (u64)-1 case for btrfs_find_all_roots().
    btrfs: qgroup: Add new function to record old_roots.
    btrfs: qgroup: Record possible quota-related extent for qgroup.
    btrfs: qgroup: Add function qgroup_update_counters().
    ...

    Linus Torvalds
     

27 Jun, 2015

1 commit

  • Pull tracing updates from Steven Rostedt:
    "This patch series contains several clean ups and even a new trace
    clock "monitonic raw". Also some enhancements to make the ring buffer
    even faster. But the biggest and most noticeable change is the
    renaming of the ftrace* files, structures and variables that have to
    deal with trace events.

    Over the years I've had several developers tell me about their
    confusion with what ftrace is compared to events. Technically,
    "ftrace" is the infrastructure to do the function hooks, which include
    tracing and also helps with live kernel patching. But the trace
    events are a separate entity altogether, and the files that affect the
    trace events should not be named "ftrace". These include:

    include/trace/ftrace.h -> include/trace/trace_events.h
    include/linux/ftrace_event.h -> include/linux/trace_events.h

    Also, functions that are specific for trace events have also been renamed:

    ftrace_print_*() -> trace_print_*()
    (un)register_ftrace_event() -> (un)register_trace_event()
    ftrace_event_name() -> trace_event_name()
    ftrace_trigger_soft_disabled() -> trace_trigger_soft_disabled()
    ftrace_define_fields_##call() -> trace_define_fields_##call()
    ftrace_get_offsets_##call() -> trace_get_offsets_##call()

    Structures have been renamed:

    ftrace_event_file -> trace_event_file
    ftrace_event_{call,class} -> trace_event_{call,class}
    ftrace_event_buffer -> trace_event_buffer
    ftrace_subsystem_dir -> trace_subsystem_dir
    ftrace_event_raw_##call -> trace_event_raw_##call
    ftrace_event_data_offset_##call-> trace_event_data_offset_##call
    ftrace_event_type_funcs_##call -> trace_event_type_funcs_##call

    And a few various variables and flags have also been updated.

    This has been sitting in linux-next for some time, and I have not
    heard a single complaint about this rename breaking anything. Mostly
    because these functions, variables and structures are mostly internal
    to the tracing system and are seldom (if ever) used by anything
    external to that"

    * tag 'trace-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (33 commits)
    ring_buffer: Allow to exit the ring buffer benchmark immediately
    ring-buffer-benchmark: Fix the wrong type
    ring-buffer-benchmark: Fix the wrong param in module_param
    ring-buffer: Add enum names for the context levels
    ring-buffer: Remove useless unused tracing_off_permanent()
    ring-buffer: Give NMIs a chance to lock the reader_lock
    ring-buffer: Add trace_recursive checks to ring_buffer_write()
    ring-buffer: Allways do the trace_recursive checks
    ring-buffer: Move recursive check to per_cpu descriptor
    ring-buffer: Add unlikelys to make fast path the default
    tracing: Rename ftrace_get_offsets_##call() to trace_event_get_offsets_##call()
    tracing: Rename ftrace_define_fields_##call() to trace_event_define_fields_##call()
    tracing: Rename ftrace_event_type_funcs_##call to trace_event_type_funcs_##call
    tracing: Rename ftrace_data_offset_##call to trace_event_data_offset_##call
    tracing: Rename ftrace_raw_##call event structures to trace_event_raw_##call
    tracing: Rename ftrace_trigger_soft_disabled() to trace_trigger_soft_disabled()
    tracing: Rename FTRACE_EVENT_FL_* flags to EVENT_FILE_FL_*
    tracing: Rename struct ftrace_subsystem_dir to trace_subsystem_dir
    tracing: Rename ftrace_event_name() to trace_event_name()
    tracing: Rename FTRACE_MAX_EVENT to TRACE_EVENT_TYPE_MAX
    ...

    Linus Torvalds
     

26 Jun, 2015

4 commits

  • Pull media updates from Mauro Carvalho Chehab:

    - Lots of improvements at the DVB API DocBook documentation. Now, the
    frontend and the network APIs are fully in sync with the Kernel and
    looks more like the rest of the media documentation;

    - New frontend driver: cx24120

    - New driver for a PCI device: cobalt. This driver is actually not
    sold in the market, but it is a good example of a multi-HDMI input
    device;

    - The dt3155 driver were promoted from staging;

    - The mantis driver got remote controller support;

    - New V4L2 driver for ST bdisp SoC chipsets;

    - Make sparse and smatch happier: several bugs were solved by fixing
    the issues reported by those static code analyzers.

    - Lots of new device additions, new features, improvements and cleanups
    at the existing drivers.

    * tag 'media/v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (553 commits)
    [media] lmedm04: fix the range for relative measurements
    [media] lmedm04: use u32 instead of u64 for relative stats
    [media] omap3isp: remove unused var
    [media] saa7134: fix page size on some archs
    [media] use CONFIG_PM_SLEEP for suspend/resume
    [media] tuner-i2c: be consistent with I2C declaration
    [media] si470x: cleanup define namespace
    [media] bdisp: prevent compiling on random arch
    [media] vb2: Don't WARN when v4l2_buffer.bytesused is 0 for multiplanar buffers
    [media] MAINTAINERS: Add entry for the Renesas VSP1 driver
    [media] videodev2.h: fix copy-and-paste error in V4L2_MAP_XFER_FUNC_DEFAULT
    [media] Revert "[media] vb2: Push mmap_sem down to memops"
    [media] mantis: cleanup a warning
    [media] bdisp-debug: don't try to divide by s64
    [media] cx88: don't declare restart_video_queue if not used
    [media] au0828: move dev->boards atribuition to happen earlier
    [media] lmedm04: implement dvb v5 statistics
    [media] bdisp: remove unused var
    [media] bdisp: remove needless check
    ts2020: fix compilation on i386
    ...

    Linus Torvalds
     
  • Pull thermal management updates from Zhang Rui:
    "Specifics:

    - enhance Thermal Framework with several new capabilities:

    * use power estimates
    * compute weights with relative integers instead of percentages
    * allow governors to have private data in thermal zones
    * export thermal zone parameters through sysfs

    Thanks to the ARM thermal team (Javi, Punit, KP).

    - introduce a new thermal governor: power allocator. First in kernel
    closed loop PI(D) controller for thermal control. Thanks to ARM
    thermal team.

    - enhance OF thermal to allow thermal zones to have sustainable power
    HW specification. Thanks to Punit.

    - introduce thermal driver for Intel Quark SoC x1000platform. Thanks
    to Ong, Boon Leong.

    - introduce QPNP PMIC temperature alarm driver. Thanks to Ivan T. I.

    - introduce thermal driver for Hisilicon hi6220. Thanks to
    kongxinwei.

    - enhance Exynos thermal driver to handle Exynos5433 TMU. Thanks to
    Chanwoo C.

    - TI thermal driver now has a better implementation for EOCZ bit.
    From Pavel M.

    - add id for Skylake processors in int340x processor thermal driver.

    - a couple of small fixes and cleanups."

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (36 commits)
    thermal: hisilicon: add new hisilicon thermal sensor driver
    dt-bindings: Document the hi6220 thermal sensor bindings
    thermal: of-thermal: add support for reading coefficients property
    thermal: support slope and offset coefficients
    thermal: power_allocator: round the division when divvying up power
    thermal: exynos: Add the support for Exynos5433 TMU
    thermal: cpu_cooling: Fix power calculation when CPUs are offline
    thermal: cpu_cooling: Remove cpu_dev update on policy CPU update
    thermal: export thermal_zone_parameters to sysfs
    thermal: cpu_cooling: Check memory allocation of power_table
    ti-soc-thermal: request temperature periodically if hw can't do that itself
    ti-soc-thermal: implement eocz bit to make driver useful on omap3
    cleanup ti-soc-thermal
    thermal: remove stale THERMAL_POWER_ACTOR select
    thermal: Default OF created trip points to writable
    thermal: core: Add Kconfig option to enable writable trips
    thermal: x86_pkg_temp: drop const for thermal_zone_parameters
    of: thermal: Introduce sustainable power for a thermal zone
    thermal: add trace events to the power allocator governor
    thermal: introduce the Power Allocator governor
    ...

    Linus Torvalds
     
  • Pull cgroup writeback support from Jens Axboe:
    "This is the big pull request for adding cgroup writeback support.

    This code has been in development for a long time, and it has been
    simmering in for-next for a good chunk of this cycle too. This is one
    of those problems that has been talked about for at least half a
    decade, finally there's a solution and code to go with it.

    Also see last weeks writeup on LWN:

    http://lwn.net/Articles/648292/"

    * 'for-4.2/writeback' of git://git.kernel.dk/linux-block: (85 commits)
    writeback, blkio: add documentation for cgroup writeback support
    vfs, writeback: replace FS_CGROUP_WRITEBACK with SB_I_CGROUPWB
    writeback: do foreign inode detection iff cgroup writeback is enabled
    v9fs: fix error handling in v9fs_session_init()
    bdi: fix wrong error return value in cgwb_create()
    buffer: remove unusued 'ret' variable
    writeback: disassociate inodes from dying bdi_writebacks
    writeback: implement foreign cgroup inode bdi_writeback switching
    writeback: add lockdep annotation to inode_to_wb()
    writeback: use unlocked_inode_to_wb transaction in inode_congested()
    writeback: implement unlocked_inode_to_wb transaction and use it for stat updates
    writeback: implement [locked_]inode_to_wb_and_lock_list()
    writeback: implement foreign cgroup inode detection
    writeback: make writeback_control track the inode being written back
    writeback: relocate wb[_try]_get(), wb_put(), inode_{attach|detach}_wb()
    mm: vmscan: disable memcg direct reclaim stalling if cgroup writeback support is in use
    writeback: implement memcg writeback domain based throttling
    writeback: reset wb_domain->dirty_limit[_tstmp] when memcg domain size changes
    writeback: implement memcg wb_domain
    writeback: update wb_over_bg_thresh() to use wb_domain aware operations
    ...

    Linus Torvalds
     
  • Pull ext4 updates from Ted Ts'o:
    "A very large number of cleanups and bug fixes --- in particular for
    the ext4 encryption patches, which is a new feature added in the last
    merge window. Also fix a number of long-standing xfstest failures.
    (Quota writes failing due to ENOSPC, a race between truncate and
    writepage in data=journalled mode that was causing generic/068 to
    fail, and other corner cases.)

    Also add support for FALLOC_FL_INSERT_RANGE, and improve jbd2
    performance eliminating locking when a buffer is modified more than
    once during a transaction (which is very common for allocation
    bitmaps, for example), in which case the state of the journalled
    buffer head doesn't need to change"

    [ I renamed "ext4_follow_link()" to "ext4_encrypted_follow_link()" in
    the merge resolution, to make it clear that that function is _only_
    used for encrypted symlinks. The function doesn't actually work for
    non-encrypted symlinks at all, and they use the generic helpers
    - Linus ]

    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (52 commits)
    ext4: set lazytime on remount if MS_LAZYTIME is set by mount
    ext4: only call ext4_truncate when size t retry file block mapping on bigalloc fs with non-extent file
    ext4: prevent ext4_quota_write() from failing due to ENOSPC
    ext4: call sync_blockdev() before invalidate_bdev() in put_super()
    jbd2: speedup jbd2_journal_dirty_metadata()
    jbd2: get rid of open coded allocation retry loop
    ext4: improve warning directory handling messages
    jbd2: fix ocfs2 corrupt when updating journal superblock fails
    ext4: mballoc: avoid 20-argument function call
    ext4: wait for existing dio workers in ext4_alloc_file_blocks()
    ext4: recalculate journal credits as inode depth changes
    jbd2: use GFP_NOFS in jbd2_cleanup_journal_tail()
    ext4: use swap() in mext_page_double_lock()
    ext4: use swap() in memswap()
    ext4: fix race between truncate and __ext4_journalled_writepage()
    ext4 crypto: fail the mount if blocksize != pagesize
    ext4: Add support FALLOC_FL_INSERT_RANGE for fallocate
    ...

    Linus Torvalds
     

25 Jun, 2015

1 commit

  • Pull f2fs updates from Jaegeuk Kim:
    "New features:
    - per-file encryption (e.g., ext4)
    - FALLOC_FL_ZERO_RANGE
    - FALLOC_FL_COLLAPSE_RANGE
    - RENAME_WHITEOUT

    Major enhancement/fixes:
    - recovery broken superblocks
    - enhance f2fs_trim_fs with a discard_map
    - fix a race condition on dentry block allocation
    - fix a deadlock during summary operation
    - fix a missing fiemap result

    .. and many minor bug fixes and clean-ups were done"

    * tag 'for-f2fs-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (83 commits)
    f2fs: do not trim preallocated blocks when truncating after i_size
    f2fs crypto: add alloc_bounce_page
    f2fs crypto: fix to handle errors likewise ext4
    f2fs: drop the volatile_write flag only
    f2fs: skip committing valid superblock
    f2fs: setting discard option in parse_options()
    f2fs: fix to return exact trimmed size
    f2fs: support FALLOC_FL_INSERT_RANGE
    f2fs: hide common code in f2fs_replace_block
    f2fs: disable the discard option when device doesn't support
    f2fs crypto: remove alloc_page for bounce_page
    f2fs: fix a deadlock for summary page lock vs. sentry_lock
    f2fs crypto: clean up error handling in f2fs_fname_setup_filename
    f2fs crypto: avoid f2fs_inherit_context for symlink
    f2fs crypto: do not set encryption policy for non-directory by ioctl
    f2fs crypto: allow setting encryption policy once
    f2fs crypto: check context consistent for rename2
    f2fs: avoid duplicated code by reusing f2fs_read_end_io
    f2fs crypto: use per-inode tfm structure
    f2fs: recovering broken superblock during mount
    ...

    Linus Torvalds
     

24 Jun, 2015

2 commits

  • Pull SCSI updates from James Bottomley:
    "This is the usual grab bag of driver updates (lpfc, hpsa,
    megaraid_sas, cxgbi, be2iscsi) plus an assortment of minor updates.

    There is also one new driver: the Cisco snic. The advansys driver has
    been rewritten to get rid of the warning about converting it to the
    DMA API, the tape statistics patch got in and finally, there's a
    resuffle of SCSI header files to separate more cleanly initiator from
    target mode (and better share the common definitions)"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (156 commits)
    snic: driver for Cisco SCSI HBA
    qla2xxx: Fix indentation
    qla2xxx: Comment out unreachable code
    fusion: remove dead MTRR code
    advansys: fix compilation errors and warnings when CONFIG_PCI is not set
    mptsas: fix depth param in scsi_track_queue_full
    megaraid: fix irq setup process regression
    lpfc: Update version to 10.7.0.0 for upstream patch set.
    lpfc: Fix to drop PLOGIs from fabric node till LOGO processing completes
    lpfc: Fix scsi task management error message.
    lpfc: Fix cq_id masking problem.
    lpfc: Fix scsi prep dma buf error.
    lpfc: Add support for using block multi-queue
    lpfc: Devices are not discovered during takeaway/giveback testing
    lpfc: Fix vport deletion failure.
    lpfc: Check for active portpeerbeacon.
    lpfc: Update driver version for upstream patch set 10.6.0.1.
    lpfc: Change buffer pool empty message to miscellaneous category
    lpfc: Fix incorrect log message reported for empty FCF record.
    lpfc: Fix rport leak.
    ...

    Linus Torvalds
     
  • Pull power management and ACPI updates from Rafael Wysocki:
    "The rework of backlight interface selection API from Hans de Goede
    stands out from the number of commits and the number of affected
    places perspective. The cpufreq core fixes from Viresh Kumar are
    quite significant too as far as the number of commits goes and because
    they should reduce CPU online/offline overhead quite a bit in the
    majority of cases.

    From the new featues point of view, the ACPICA update (to upstream
    revision 20150515) adding support for new ACPI 6 material to ACPICA is
    the one that matters the most as some new significant features will be
    based on it going forward. Also included is an update of the ACPI
    device power management core to follow ACPI 6 (which in turn reflects
    the Windows' device PM implementation), a PM core extension to support
    wakeup interrupts in a more generic way and support for the ACPI _CCA
    device configuration object.

    The rest is mostly fixes and cleanups all over and some documentation
    updates, including new DT bindings for Operating Performance Points.

    There is one fix for a regression introduced in the 4.1 cycle, but it
    adds quite a number of lines of code, it wasn't really ready before
    Thursday and you were on vacation, so I refrained from pushing it on
    the last minute for 4.1.

    Specifics:

    - ACPICA update to upstream revision 20150515 including basic support
    for ACPI 6 features: new ACPI tables introduced by ACPI 6 (STAO,
    XENV, WPBT, NFIT, IORT), changes related to the other tables (DTRM,
    FADT, LPIT, MADT), new predefined names (_BTH, _CR3, _DSD, _LPI,
    _MTL, _PRR, _RDI, _RST, _TFP, _TSN), fixes and cleanups (Bob Moore,
    Lv Zheng).

    - ACPI device power management core code update to follow ACPI 6
    which reflects the ACPI device power management implementation in
    Windows (Rafael J Wysocki).

    - rework of the backlight interface selection logic to reduce the
    number of kernel command line options and improve the handling of
    DMI quirks that may be involved in that and to make the code
    generally more straightforward (Hans de Goede).

    - fixes for the ACPI Embedded Controller (EC) driver related to the
    handling of EC transactions (Lv Zheng).

    - fix for a regression related to the ACPI resources management and
    resulting from a recent change of ACPI initialization code ordering
    (Rafael J Wysocki).

    - fix for a system initialization regression related to ACPI
    introduced during the 3.14 cycle and caused by running the code
    that switches the platform over to the ACPI mode too early in the
    initialization sequence (Rafael J Wysocki).

    - support for the ACPI _CCA device configuration object related to
    DMA cache coherence (Suravee Suthikulpanit).

    - ACPI/APEI fixes and cleanups (Jiri Kosina, Borislav Petkov).

    - ACPI battery driver cleanups (Luis Henriques, Mathias Krause).

    - ACPI processor driver cleanups (Hanjun Guo).

    - cleanups and documentation update related to the ACPI device
    properties interface based on _DSD (Rafael J Wysocki).

    - ACPI device power management fixes (Rafael J Wysocki).

    - assorted cleanups related to ACPI (Dominik Brodowski, Fabian
    Frederick, Lorenzo Pieralisi, Mathias Krause, Rafael J Wysocki).

    - fix for a long-standing issue causing General Protection Faults to
    be generated occasionally on return to user space after resume from
    ACPI-based suspend-to-RAM on 32-bit x86 (Ingo Molnar).

    - fix to make the suspend core code return -EBUSY consistently in all
    cases when system suspend is aborted due to wakeup detection (Ruchi
    Kandoi).

    - support for automated device wakeup IRQ handling allowing drivers
    to make their PM support more starightforward (Tony Lindgren).

    - new tracepoints for suspend-to-idle tracing and rework of the
    prepare/complete callbacks tracing in the PM core (Todd E Brandt,
    Rafael J Wysocki).

    - wakeup sources framework enhancements (Jin Qian).

    - new macro for noirq system PM callbacks (Grygorii Strashko).

    - assorted cleanups related to system suspend (Rafael J Wysocki).

    - cpuidle core cleanups to make the code more efficient (Rafael J
    Wysocki).

    - powernv/pseries cpuidle driver update (Shilpasri G Bhat).

    - cpufreq core fixes related to CPU online/offline that should reduce
    the overhead of these operations quite a bit, unless the CPU in
    question is physically going away (Viresh Kumar, Saravana Kannan).

    - serialization of cpufreq governor callbacks to avoid race
    conditions in some cases (Viresh Kumar).

    - intel_pstate driver fixes and cleanups (Doug Smythies, Prarit
    Bhargava, Joe Konno).

    - cpufreq driver (arm_big_little, cpufreq-dt, qoriq) updates (Sudeep
    Holla, Felipe Balbi, Tang Yuantian).

    - assorted cleanups in cpufreq drivers and core (Shailendra Verma,
    Fabian Frederick, Wang Long).

    - new Device Tree bindings for representing Operating Performance
    Points (Viresh Kumar).

    - updates for the common clock operations support code in the PM core
    (Rajendra Nayak, Geert Uytterhoeven).

    - PM domains core code update (Geert Uytterhoeven).

    - Intel Knights Landing support for the RAPL (Running Average Power
    Limit) power capping driver (Dasaratharaman Chandramouli).

    - fixes related to the floor frequency setting on Atom SoCs in the
    RAPL power capping driver (Ajay Thomas).

    - runtime PM framework documentation update (Ben Dooks).

    - cpupower tool fix (Herton R Krzesinski)"

    * tag 'pm+acpi-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (194 commits)
    cpuidle: powernv/pseries: Auto-promotion of snooze to deeper idle state
    x86: Load __USER_DS into DS/ES after resume
    PM / OPP: Add binding for 'opp-suspend'
    PM / OPP: Allow multiple OPP tables to be passed via DT
    PM / OPP: Add new bindings to address shortcomings of existing bindings
    ACPI: Constify ACPI device IDs in documentation
    ACPI / enumeration: Document the rules regarding the PRP0001 device ID
    ACPI / video: Make acpi_video_unregister_backlight() private
    acpi-video-detect: Remove old API
    toshiba-acpi: Port to new backlight interface selection API
    thinkpad-acpi: Port to new backlight interface selection API
    sony-laptop: Port to new backlight interface selection API
    samsung-laptop: Port to new backlight interface selection API
    msi-wmi: Port to new backlight interface selection API
    msi-laptop: Port to new backlight interface selection API
    intel-oaktrail: Port to new backlight interface selection API
    ideapad-laptop: Port to new backlight interface selection API
    fujitsu-laptop: Port to new backlight interface selection API
    eeepc-laptop: Port to new backlight interface selection API
    dell-wmi: Port to new backlight interface selection API
    ...

    Linus Torvalds