1. 25 Mar, 2016 7 commits
    • Ilya Dryomov's avatar
      libceph: introduce and switch to reopen_session() · 1752b50c
      Ilya Dryomov authored
      hunting is now set in __open_session() and cleared in finish_hunting(),
      instead of all around.  The "session lost" message is printed not only
      on connection resets, but also on keepalive timeouts.
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    • Ilya Dryomov's avatar
      libceph: monc hunt rate is 3s with backoff up to 30s · 168b9090
      Ilya Dryomov authored
      Unless we are in the process of setting up a client (i.e. connecting to
      the monitor cluster for the first time), apply a backoff: every time we
      want to reopen a session, increase our timeout by a multiple (currently
      2); when we complete the connection, reduce that multipler by 50%.
      Mirrors ceph.git commit 794c86fd289bd62a35ed14368fa096c46736e9a2.
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    • Ilya Dryomov's avatar
      libceph: monc ping rate is 10s · 58d81b12
      Ilya Dryomov authored
      Split ping interval and ping timeout: ping interval is 10s; keepalive
      timeout is 30s.
      Make monc_ping_timeout a constant while at it - it's not actually
      exported as a mount option (and the rest of tick-related settings won't
      be either), so it's got no place in ceph_options.
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    • Ilya Dryomov's avatar
      libceph: pick a different monitor when reconnecting · 0e04dc26
      Ilya Dryomov authored
      Don't try to reconnect to the same monitor when we fail to establish
      a session within a timeout or it's lost.
      For that, pick_new_mon() needs to see the old value of cur_mon, so
      don't clear it in __close_session() - all calls to __close_session()
      but one are followed by __open_session() anyway.  __open_session() is
      only called when a new session needs to be established, so the "already
      open?" branch, which is now in the way, is simply dropped.
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    • Ilya Dryomov's avatar
      libceph: revamp subs code, switch to SUBSCRIBE2 protocol · 82dcabad
      Ilya Dryomov authored
      It is currently hard-coded in the mon_client that mdsmap and monmap
      subs are continuous, while osdmap sub is always "onetime".  To better
      handle full clusters/pools in the osd_client, we need to be able to
      issue continuous osdmap subs.  Revamp subs code to allow us to specify
      for each sub whether it should be continuous or not.
      Although not strictly required for the above, switch to SUBSCRIBE2
      protocol while at it, eliminating the ambiguity between a request for
      "every map since X" and a request for "just the latest" when we don't
      have a map yet (i.e. have epoch 0).  SUBSCRIBE2 feature bit is now
      required - it's been supported since pre-argonaut (2010).
      Move "got mdsmap" call to the end of ceph_mdsc_handle_map() - calling
      in before we validate the epoch and successfully install the new map
      can mess up mon_client sub state.
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    • Ilya Dryomov's avatar
      libceph: decouple hunting and subs management · 0f9af169
      Ilya Dryomov authored
      Coupling hunting state with subscribe state is not a good idea.  Clear
      hunting when we complete the authentication handshake.
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    • Ilya Dryomov's avatar
      libceph: move debugfs initialization into __ceph_open_session() · 02ac956c
      Ilya Dryomov authored
      Our debugfs dir name is a concatenation of cluster fsid and client
      unique ID ("global_id").  It used to be the case that we learned
      global_id first, nowadays we always learn fsid first - the monmap is
      sent before any auth replies are.  ceph_debugfs_client_init() call in
      ceph_monc_handle_map() is therefore never executed and can be removed.
      Its counterpart in handle_auth_reply() doesn't really belong there
      either: having to do monc->client and unlocking early to work around
      lockdep is a testament to that.  Move it into __ceph_open_session(),
      where it can be called unconditionally.
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
  2. 19 Mar, 2016 7 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 3c2de27d
      Linus Torvalds authored
      Pull vfs updates from Al Viro:
       - Preparations of parallel lookups (the remaining main obstacle is the
         need to move security_d_instantiate(); once that becomes safe, the
         rest will be a matter of rather short series local to fs/*.c
       - preadv2/pwritev2 series from Christoph
       - assorted fixes
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (32 commits)
        splice: handle zero nr_pages in splice_to_pipe()
        vfs: show_vfsstat: do not ignore errors from show_devname method
        dcache.c: new helper: __d_add()
        don't bother with __d_instantiate(dentry, NULL)
        untangle fsnotify_d_instantiate() a bit
        uninline d_add()
        replace d_add_unique() with saner primitive
        quota: use lookup_one_len_unlocked()
        cifs_get_root(): use lookup_one_len_unlocked()
        nfs_lookup: don't bother with d_instantiate(dentry, NULL)
        kill dentry_unhash()
        ceph_fill_trace(): don't bother with d_instantiate(dn, NULL)
        autofs4: don't bother with d_instantiate(dentry, NULL) in ->lookup()
        configfs: move d_rehash() into configfs_create() for regular files
        ceph: don't bother with d_rehash() in splice_dentry()
        namei: teach lookup_slow() to skip revalidate
        namei: massage lookup_slow() to be usable by lookup_one_len_unlocked()
        lookup_one_len_unlocked(): use lookup_dcache()
        namei: simplify invalidation logics in lookup_dcache()
        namei: change calling conventions for lookup_{fast,slow} and follow_managed()
    • Linus Torvalds's avatar
      Merge branch 'stable-4.6' of git://git.infradead.org/users/pcmoore/audit · 51b3eae8
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "A small set of patches for audit this time; just three in total and
        one is a spelling fix.
        The two patches with actual content are designed to help prevent new
        instances of auditd from displacing an existing, functioning auditd
        and to generate a log of the attempt.  Not to worry, dead/stuck auditd
        instances can still be replaced by a new instance without problem.
        Nothing controversial, and everything passes our regression suite"
      * 'stable-4.6' of git://git.infradead.org/users/pcmoore/audit:
        audit: Fix typo in comment
        audit: log failed attempts to change audit_pid configuration
        audit: stop an old auditd being starved out by a new auditd
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · de06dbfa
      Linus Torvalds authored
      Pull ARM updates from Russell King:
       "Another mixture of changes this time around:
         - Split XIP linker file from main linker file to make it more
           maintainable, and various XIP fixes, and clean up a resulting
         - Decompressor cleanups from Masahiro Yamada
         - Avoid printing an error for a missing L2 cache
         - Remove some duplicated symbols in System.map, and move
           vectors/stubs back into kernel VMA
         - Various low priority fixes from Arnd
         - Updates to allow bus match functions to return negative errno
           values, touching some drivers and the driver core.  Greg has acked
           these changes.
         - Virtualisation platform udpates form Jean-Philippe Brucker.
         - Security enhancements from Kees Cook
         - Rework some Kconfig dependencies and move PSCI idle management code
           out of arch/arm into drivers/firmware/psci.c
         - ARM DMA mapping updates, touching media, acked by Mauro.
         - Fix places in ARM code which should be using virt_to_idmap() so
           that Keystone2 can work.
         - Fix Marvell Tauros2 to work again with non-DT boots.
         - Provide a delay timer for ARM Orion platforms"
      * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (45 commits)
        ARM: 8546/1: dma-mapping: refactor to fix coherent+cma+gfp=0
        ARM: 8547/1: dma-mapping: store buffer information
        ARM: 8543/1: decompressor: rename suffix_y to compress-y
        ARM: 8542/1: decompressor: merge piggy.*.S and simplify Makefile
        ARM: 8541/1: decompressor: drop redundant FORCE in Makefile
        ARM: 8540/1: decompressor: use clean-files instead of extra-y to clean files
        ARM: 8539/1: decompressor: drop more unneeded assignments to "targets"
        ARM: 8538/1: decompressor: drop unneeded assignments to "targets"
        ARM: 8532/1: uncompress: mark putc as inline
        ARM: 8531/1: turn init_new_context into an inline function
        ARM: 8530/1: remove VIRT_TO_BUS
        ARM: 8537/1: drop unused DEBUG_RODATA from XIP_KERNEL
        ARM: 8536/1: mm: hide __start_rodata_section_aligned for non-debug builds
        ARM: 8535/1: mm: DEBUG_RODATA makes no sense with XIP_KERNEL
        ARM: 8534/1: virt: fix hyp-stub build for pre-ARMv7 CPUs
        ARM: make the physical-relative calculation more obvious
        ARM: 8512/1: proc-v7.S: Adjust stack address when XIP_KERNEL
        ARM: 8411/1: Add default SPARSEMEM settings
        ARM: 8503/1: clk_register_clkdev: remove format string interface
        ARM: 8529/1: remove 'i' and 'zi' targets
    • Linus Torvalds's avatar
      Merge tag 'tag-sh-for-4.6' of git://git.libc.org/linux-sh · b31a3bc3
      Linus Torvalds authored
      Pull arch/sh updates from Rich Felker:
       "This includes minor cleanups, a fix for a crash that likely affects
        all sh models with MMU, and introduction of a framework for boards
        described by device tree, which sets the stage for future J2 support"
      * tag 'tag-sh-for-4.6' of git://git.libc.org/linux-sh:
        sched/preempt, sh: kmap_coherent relies on disabled preemption
        sh: add SMP method selection to device tree pseudo-board
        sh: add device tree support and generic board using device tree
        sh: remove arch-specific localtimer and use generic one
        sh: make MMU-specific SMP code conditional on CONFIG_MMU
        sh: provide unified syscall trap compatible with all SH models
        sh: New gcc support
        sh: Disable trace for kernel uncompressing.
        sh: Use generic clkdev.h header
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d5e2d008
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "This was delayed a day or two by some build-breakage on old toolchains
        which we've now fixed.
        There's two PCI commits both acked by Bjorn.
        There's one commit to mm/hugepage.c which is (co)authored by Kirill.
         - Restructure Linux PTE on Book3S/64 to Radix format from Paul
         - Book3s 64 MMU cleanup in preparation for Radix MMU from Aneesh
           Kumar K.V
         - Add POWER9 cputable entry from Michael Neuling
         - FPU/Altivec/VSX save/restore optimisations from Cyril Bur
         - Add support for new ftrace ABI on ppc64le from Torsten Duwe
        Various cleanups & minor fixes from:
         - Adam Buchbinder, Andrew Donnellan, Balbir Singh, Christophe Leroy,
           Cyril Bur, Luis Henriques, Madhavan Srinivasan, Pan Xinhui, Russell
           Currey, Sukadev Bhattiprolu, Suraj Jitindar Singh.
         - atomics: Allow architectures to define their own __atomic_op_*
           helpers from Boqun Feng
         - Implement atomic{, 64}_*_return_* variants and acquire/release/
           relaxed variants for (cmp)xchg from Boqun Feng
         - Add powernv_defconfig from Jeremy Kerr
         - Fix BUG_ON() reporting in real mode from Balbir Singh
         - Add xmon command to dump OPAL msglog from Andrew Donnellan
         - Add xmon command to dump process/task similar to ps(1) from Douglas
         - Clean up memory hotplug failure paths from David Gibson
         - Redesign SR-IOV on PowerNV to give absolute isolation between VFs
           from Wei Yang.
         - EEH Support for SRIOV VFs from Wei Yang and Gavin Shan.
         - PCI/IOV: Rename and export virtfn_{add, remove} from Wei Yang
         - PCI: Add pcibios_bus_add_device() weak function from Wei Yang
         - MAINTAINERS: Update EEH details and maintainership from Russell
         - Support added to the CXL driver for running on both bare-metal and
           hypervisor systems, from Christophe Lombard and Frederic Barrat.
         - Ignore probes for virtual afu pci devices from Vaibhav Jain
         - Export Power8 generic and cache events to sysfs from Sukadev
         - hv-24x7: Fix usage with chip events, display change in counter
           values, display domain indices in sysfs, eliminate domain suffix in
           event names, from Sukadev Bhattiprolu
         - Updates from Scott: "Highlights include 8xx optimizations, 32-bit
           checksum optimizations, 86xx consolidation, e5500/e6500 cpu
           hotplug, more fman and other dt bits, and minor fixes/cleanup"
      * tag 'powerpc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (179 commits)
        powerpc: Fix unrecoverable SLB miss during restore_math()
        powerpc/8xx: Fix do_mtspr_cpu6() build on older compilers
        powerpc/rcpm: Fix build break when SMP=n
        powerpc/book3e-64: Use hardcoded mttmr opcode
        powerpc/fsl/dts: Add "jedec,spi-nor" flash compatible
        powerpc/T104xRDB: add tdm riser card node to device tree
        powerpc32: PAGE_EXEC required for inittext
        powerpc/mpc85xx: Add pcsphy nodes to FManV3 device tree
        powerpc/mpc85xx: Add MDIO bus muxing support to the board device tree(s)
        powerpc/86xx: Introduce and use common dtsi
        powerpc/86xx: Update device tree
        powerpc/86xx: Move dts files to fsl directory
        powerpc/86xx: Switch to kconfig fragments approach
        powerpc/86xx: Update defconfigs
        powerpc/86xx: Consolidate common platform code
        powerpc32: Remove one insn in mulhdu
        powerpc32: small optimisation in flush_icache_range()
        powerpc: Simplify test in __dma_sync()
        powerpc32: move xxxxx_dcache_range() functions inline
        powerpc32: Remove clear_pages() and define clear_page() inline
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 31e18236
      Linus Torvalds authored
      Pull DeviceTree updates from Rob Herring:
       - new tool 'dtx_diff' to diff DT files
       - sync kernel's dtc/libfdt to current dtc repo master
       - fix for reserved memory regions located in highmem
       - document standard unit suffixes for DT properties
       - various DT binding doc updates
      * tag 'devicetree-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of: Add vendor prefix for eGalax_eMPIA Technology Inc
        Input: ads7846: Add description how to use internal reference (ADS7846)
        ARM: realview: add EB syscon variants to bindings
        devicetree: bindings: ARM: Use "uV" for micro-volt
        serial: fsl-imx-uart: Fix typo in fsl,dte-mode description
        of: add 'const' for of_property_*_string*() parameter '*np'
        of/unittest: fix infinite loop in of_unittest_destroy_tracked_overlays()
        of: alloc anywhere from memblock if range not specified
        kbuild: Allow using host dtc instead of kernel's copy
        of: resolver: Add missing of_node_get and of_node_put
        of: Add United Radiant Technology Corporation vendor prefix
        dt/bindings: add documentation on standard property unit suffixes
        scripts/dtc: Update to upstream commit b06e55c88b9b
        ARM: boot: Add an implementation of strnlen for libfdt
        scripts/dtc: dtx_diff - add info to error message
        dtc: create tool to diff device trees
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 1200b680
      Linus Torvalds authored
      Pull networking updates from David Miller:
         1) Support more Realtek wireless chips, from Jes Sorenson.
         2) New BPF types for per-cpu hash and arrap maps, from Alexei
         3) Make several TCP sysctls per-namespace, from Nikolay Borisov.
         4) Allow the use of SO_REUSEPORT in order to do per-thread processing
         of incoming TCP/UDP connections.  The muxing can be done using a
         BPF program which hashes the incoming packet.  From Craig Gallek.
         5) Add a multiplexer for TCP streams, to provide a messaged based
            interface.  BPF programs can be used to determine the message
            boundaries.  From Tom Herbert.
         6) Add 802.1AE MACSEC support, from Sabrina Dubroca.
         7) Avoid factorial complexity when taking down an inetdev interface
            with lots of configured addresses.  We were doing things like
            traversing the entire address less for each address removed, and
            flushing the entire netfilter conntrack table for every address as
         8) Add and use SKB bulk free infrastructure, from Jesper Brouer.
         9) Allow offloading u32 classifiers to hardware, and implement for
            ixgbe, from John Fastabend.
        10) Allow configuring IRQ coalescing parameters on a per-queue basis,
            from Kan Liang.
        11) Extend ethtool so that larger link mode masks can be supported.
            From David Decotigny.
        12) Introduce devlink, which can be used to configure port link types
            (ethernet vs Infiniband, etc.), port splitting, and switch device
            level attributes as a whole.  From Jiri Pirko.
        13) Hardware offload support for flower classifiers, from Amir Vadai.
        14) Add "Local Checksum Offload".  Basically, for a tunneled packet
            the checksum of the outer header is 'constant' (because with the
            checksum field filled into the inner protocol header, the payload
            of the outer frame checksums to 'zero'), and we can take advantage
            of that in various ways.  From Edward Cree"
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1548 commits)
        bonding: fix bond_get_stats()
        net: bcmgenet: fix dma api length mismatch
        net/mlx4_core: Fix backward compatibility on VFs
        phy: mdio-thunder: Fix some Kconfig typos
        lan78xx: add ndo_get_stats64
        lan78xx: handle statistics counter rollover
        RDS: TCP: Remove unused constant
        RDS: TCP: Add sysctl tunables for sndbuf/rcvbuf on rds-tcp socket
        net: smc911x: convert pxa dma to dmaengine
        team: remove duplicate set of flag IFF_MULTICAST
        bonding: remove duplicate set of flag IFF_MULTICAST
        net: fix a comment typo
        ethernet: micrel: fix some error codes
        ip_tunnels, bpf: define IP_TUNNEL_OPTS_MAX and use it
        bpf, dst: add and use dst_tclassid helper
        bpf: make skb->tc_classid also readable
        net: mvneta: bm: clarify dependencies
        cls_bpf: reset class and reuse major in da
        ldmvsw: Checkpatch sunvnet.c and sunvnet_common.c
        ldmvsw: Add ldmvsw.c driver code
  3. 18 Mar, 2016 26 commits
    • Linus Torvalds's avatar
      Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 6b5f04b6
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "cgroup changes for v4.6-rc1.  No userland visible behavior changes in
        this pull request.  I'll send out a separate pull request for the
        addition of cgroup namespace support.
         - The biggest change is the revamping of cgroup core task migration
           and controller handling logic.  There are quite a few places where
           controllers and tasks are manipulated.  Previously, many of those
           places implemented custom operations for each specific use case
           assuming specific starting conditions.  While this worked, it makes
           the code fragile and difficult to follow.
           The bulk of this pull request restructures these operations so that
           most related operations are performed through common helpers which
           implement recursive (subtrees are always processed consistently)
           and idempotent (they make cgroup hierarchy converge to the target
           state rather than performing operations assuming specific starting
           conditions).  This makes the code a lot easier to understand,
           verify and extend.
         - Implicit controller support is added.  This is primarily for using
           perf_event on the v2 hierarchy so that perf can match cgroup v2
           path without requiring the user to do anything special.  The kernel
           portion of perf_event changes is acked but userland changes are
           still pending review.
         - cgroup_no_v1= boot parameter added to ease testing cgroup v2 in
           certain environments.
         - There is a regression introduced during v4.4 devel cycle where
           attempts to migrate zombie tasks can mess up internal object
           management.  This was fixed earlier this week and included in this
           pull request w/ stable cc'd.
         - Misc non-critical fixes and improvements"
      * 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (44 commits)
        cgroup: avoid false positive gcc-6 warning
        cgroup: ignore css_sets associated with dead cgroups during migration
        Documentation: cgroup v2: Trivial heading correction.
        cgroup: implement cgroup_subsys->implicit_on_dfl
        cgroup: use css_set->mg_dst_cgrp for the migration target cgroup
        cgroup: make cgroup[_taskset]_migrate() take cgroup_root instead of cgroup
        cgroup: move migration destination verification out of cgroup_migrate_prepare_dst()
        cgroup: fix incorrect destination cgroup in cgroup_update_dfl_csses()
        cgroup: Trivial correction to reflect controller.
        cgroup: remove stale item in cgroup-v1 document INDEX file.
        cgroup: update css iteration in cgroup_update_dfl_csses()
        cgroup: allocate 2x cgrp_cset_links when setting up a new root
        cgroup: make cgroup_calc_subtree_ss_mask() take @this_ss_mask
        cgroup: reimplement rebind_subsystems() using cgroup_apply_control() and friends
        cgroup: use cgroup_apply_enable_control() in cgroup creation path
        cgroup: combine cgroup_mutex locking and offline css draining
        cgroup: factor out cgroup_{apply|finalize}_control() from cgroup_subtree_control_write()
        cgroup: introduce cgroup_{save|propagate|restore}_control()
        cgroup: make cgroup_drain_offline() and cgroup_apply_control_{disable|enable}() recursive
        cgroup: factor out cgroup_apply_control_enable() from cgroup_subtree_control_write()
    • Eric Dumazet's avatar
      bonding: fix bond_get_stats() · fe30937b
      Eric Dumazet authored
      bond_get_stats() can be called from rtnetlink (with RTNL held)
      or from /proc/net/dev seq handler (with RCU held)
      The logic added in commit 5f0c5f73 ("bonding: make global bonding
      stats more reliable") kind of assumed only one cpu could run there.
      If multiple threads are reading /proc/net/dev, stats can be really
      messed up after a while.
      A second problem is that some fields are 32bit, so we need to properly
      handle the wrap around problem.
      Given that RTNL is not always held, we need to use
      Fixes: 5f0c5f73
       ("bonding: make global bonding stats more reliable")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Andy Gospodarek <gospo@cumulusnetworks.com>
      Cc: Jay Vosburgh <j.vosburgh@gmail.com>
      Cc: Veaceslav Falico <vfalico@gmail.com>
      Reviewed-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Eric Dumazet's avatar
      net: bcmgenet: fix dma api length mismatch · eee57723
      Eric Dumazet authored
      When un-mapping skb->data in __bcmgenet_tx_reclaim(),
      we must use the length that was used in original dma_map_single(),
      instead of skb->len that might be bigger (includes the frags)
      We simply can store skb_len into tx_cb_ptr->dma_len and use it
      at unmap time.
      Fixes: 1c1008c7
       ("net: bcmgenet: add main driver file")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Eli Cohen's avatar
      net/mlx4_core: Fix backward compatibility on VFs · 76e39ccf
      Eli Cohen authored
      Commit 85743f1e ("net/mlx4_core: Set UAR page size to 4KB regardless
      of system page size") introduced dependency where old VF drivers without
      this fix fail to load if the PF driver runs with this commit.
      To resolve this add a module parameter which disables that functionality
      by default.  If both the PF and VFs are running with a driver with that
      commit the administrator may set the module param to true.
      The module parameter is called enable_4k_uar.
      Fixes: 85743f1e
       ('net/mlx4_core: Set UAR page size to 4KB ...')
      Signed-off-by: default avatarEli Cohen <eli@mellanox.com>
      Tested-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Linus Torvalds's avatar
      Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · fcab86ad
      Linus Torvalds authored
      Pull libata updates from Tejun Heo:
       - ahci grew runtime power management support so that the controller can
         be turned off if no devices are attached.
       - sata_via isn't dead yet.  It got hotplug support and more refined
         workaround for certain WD drives.
       - Misc cleanups.  There's a merge from for-4.5-fixes to avoid confusing
         conflicts in ahci PCI ID table.
      * 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ata: ahci_xgene: dereferencing uninitialized pointer in probe
        AHCI: Remove obsolete Intel Lewisburg SATA RAID device IDs
        ata: sata_rcar: Use ARCH_RENESAS
        sata_via: Implement hotplug for VT6421
        sata_via: Apply WD workaround only when needed on VT6421
        ahci: Add runtime PM support for the host controller
        ahci: Add functions to manage runtime PM of AHCI ports
        ahci: Convert driver to use modern PM hooks
        ahci: Cache host controller version
        scsi: Drop runtime PM usage count after host is added
        scsi: Set request queue runtime PM status back to active on resume
        block: Add blk_set_runtime_active()
        ata: ahci_mvebu: add support for Armada 3700 variant
        libata: fix unbalanced spin_lock_irqsave/spin_unlock_irq() in ata_scsi_park_show()
        libata: support AHCI on OCTEON platform
    • Linus Torvalds's avatar
      Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · ef504fa5
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Three trivial workqueue changes"
      * 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Fix comment for work_on_cpu()
        sched/core: Get rid of 'cpu' argument in wq_worker_sleeping()
        workqueue: Replace usage of init_name with dev_set_name()
    • Andreas Färber's avatar
      phy: mdio-thunder: Fix some Kconfig typos · e2ad1f97
      Andreas Färber authored
      Drop two extra occurrences of "on" in option title and help text.
      Fixes: 379d7ac7
       ("phy: mdio-thunder: Add driver for Cavium Thunder SoC MDIO buses.")
      Cc: David Daney <david.daney@cavium.com>
      Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
      Acked-by: default avatarDavid Daney <david.daney@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Woojung Huh's avatar
      lan78xx: add ndo_get_stats64 · a59f8c5b
      Woojung Huh authored
      Add lan78xx_get_stats64 of ndo_get_stats64 to report
      all statistics counters including errors from HW statistics.
      Read from HW when auto suspend is disabled, use saved counter when
      auto suspend is enabled because periodic call to ndo_get_stats64
      prevents USB auto suspend.
      Signed-off-by: default avatarWoojung Huh <woojung.huh@microchip.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Woojung Huh's avatar
      lan78xx: handle statistics counter rollover · 20ff5565
      Woojung Huh authored
      Update to handle statistics counter rollover.
      Check statistics counter periodically and compensate it when
      counter value rolls over at max (20 or 32bits).
      Simple mechanism adjusts monitoring timer to allow USB auto suspend.
      Signed-off-by: default avatarWoojung Huh <woojung.huh@microchip.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 814a2bf9
      Linus Torvalds authored
      Merge second patch-bomb from Andrew Morton:
       - a couple of hotfixes
       - the rest of MM
       - a new timer slack control in procfs
       - a couple of procfs fixes
       - a few misc things
       - some printk tweaks
       - lib/ updates, notably to radix-tree.
       - add my and Nick Piggin's old userspace radix-tree test harness to
         tools/testing/radix-tree/.  Matthew said it was a godsend during the
         radix-tree work he did.
       - a few code-size improvements, switching to __always_inline where gcc
         screwed up.
       - partially implement character sets in sscanf
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (118 commits)
        sscanf: implement basic character sets
        lib/bug.c: use common WARN helper
        param: convert some "on"/"off" users to strtobool
        lib: add "on"/"off" support to kstrtobool
        lib: update single-char callers of strtobool()
        lib: move strtobool() to kstrtobool()
        include/linux/unaligned: force inlining of byteswap operations
        include/uapi/linux/byteorder, swab: force inlining of some byteswap operations
        include/asm-generic/atomic-long.h: force inlining of some atomic_long operations
        usb: common: convert to use match_string() helper
        ide: hpt366: convert to use match_string() helper
        ata: hpt366: convert to use match_string() helper
        power: ab8500: convert to use match_string() helper
        power: charger_manager: convert to use match_string() helper
        drm/edid: convert to use match_string() helper
        pinctrl: convert to use match_string() helper
        device property: convert to use match_string() helper
        lib/string: introduce match_string() helper
        radix-tree tests: add test for radix_tree_iter_next
        radix-tree tests: add regression3 test
    • David S. Miller's avatar
      Merge branch 'rds-buffer-tuning' · 7fa7728d
      David S. Miller authored
      Sowmini Varadhan says:
      RDS: TCP: tunable socket buffer parameters
      Patch 1 uses sysctl to create tunable socket buffer size parameters.
      Patch 2 removes an unuused constant.
      v2: use sysctl
      v3: review comments from Santosh Shilimkar, Eric Dumazet
      v4: review comments from Hannes Sowa
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Sowmini Varadhan's avatar
      RDS: TCP: Remove unused constant · a3382e40
      Sowmini Varadhan authored
      RDS_TCP_DEFAULT_BUFSIZE has been unused since commit 1edd6a14
      ("RDS-TCP: Do not bloat sndbuf/rcvbuf in rds_tcp_tune").
      Signed-off-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Sowmini Varadhan's avatar
      RDS: TCP: Add sysctl tunables for sndbuf/rcvbuf on rds-tcp socket · c6a58ffe
      Sowmini Varadhan authored
      Add per-net sysctl tunables to set the size of sndbuf and
      rcvbuf on the kernel tcp socket.
      The tunables are added at /proc/sys/net/rds/tcp/rds_tcp_sndbuf
      and /proc/sys/net/rds/tcp/rds_tcp_rcvbuf.
      These values must be set before accept() or connect(),
      and there may be an arbitrary number of existing rds-tcp
      sockets when the tunable is modified. To make sure that all
      connections in the netns pick up the same value for the tunable,
      we reset existing rds-tcp connections in the netns, so that
      they can reconnect with the new parameters.
      Signed-off-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Robert Jarzmik's avatar
      net: smc911x: convert pxa dma to dmaengine · 79d3b59a
      Robert Jarzmik authored
      Convert the dma transfers to be dmaengine based, now pxa has a dmaengine
      slave driver. This makes this driver a bit more PXA agnostic.
      The driver was only compile tested. The risk is quite small as no
      current PXA platform I'm aware of is using smc911x driver.
      Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
      Tested-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • David S. Miller's avatar
      Merge branch 'IFF_MULTICAST-dup-sets' · c9d0bc5d
      David S. Miller authored
      Zhang Shengju says:
      remove duplicate set of flag IFF_MULTICAST
      This patch series remove duplicate set of flag IFF_MULTICAST.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Zhang Shengju's avatar
      team: remove duplicate set of flag IFF_MULTICAST · bc0df138
      Zhang Shengju authored
      Remove unnecessary set of flag IFF_MULTICAST, since ether_setup
      already does this.
      Signed-off-by: default avatarZhang Shengju <zhangshengju@cmss.chinamobile.com>
      Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Zhang Shengju's avatar
      bonding: remove duplicate set of flag IFF_MULTICAST · 1098cee6
      Zhang Shengju authored
      Remove unnecessary set of flag IFF_MULTICAST, since ether_setup
      already does this.
      Signed-off-by: default avatarZhang Shengju <zhangshengju@cmss.chinamobile.com>
      Reviewed-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarAndy Gospodarek <gospo@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Linus Torvalds's avatar
      Merge branch 'for-4.6/drivers' of git://git.kernel.dk/linux-block · 237045fc
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
       "This is the block driver pull request for this merge window.  It sits
        on top of for-4.6/core, that was just sent out.
        This contains:
         - A set of fixes for lightnvm.  One from Alan, fixing an overflow,
           and the rest from the usual suspects, Javier and Matias.
         - A set of fixes for nbd from Markus and Dan, and a fixup from Arnd
           for correct usage of the signed 64-bit divider.
         - A set of bug fixes for the Micron mtip32xx, from Asai.
         - A fix for the brd discard handling from Bart.
         - Update the maintainers entry for cciss, since that hardware has
           transferred ownership.
         - Three bug fixes for bcache from Eric Wheeler.
         - Set of fixes for xen-blk{back,front} from Jan and Konrad.
         - Removal of the cpqarray driver.  It has been disabled in Kconfig
           since 2013, and we were initially scheduled to remove it in 3.15.
         - Various updates and fixes for NVMe, with the most important being:
              - Removal of the per-device NVMe thread, replacing that with a
                watchdog timer instead. From Christoph.
              - Exposing the namespace WWID through sysfs, from Keith.
              - Set of cleanups from Ming Lin.
              - Logging the controller device name instead of the underlying
                PCI device name, from Sagi.
              - And a bunch of fixes and optimizations from the usual suspects
                in this area"
      * 'for-4.6/drivers' of git://git.kernel.dk/linux-block: (49 commits)
        NVMe: Expose ns wwid through single sysfs entry
        drivers:block: cpqarray clean up
        brd: Fix discard request processing
        cpqarray: remove it from the kernel
        cciss: update MAINTAINERS
        NVMe: Remove unused sq_head read in completion path
        bcache: fix cache_set_flush() NULL pointer dereference on OOM
        bcache: cleaned up error handling around register_cache()
        bcache: fix race of writeback thread starting before complete initialization
        NVMe: Create discard zero quirk white list
        nbd: use correct div_s64 helper
        mtip32xx: remove unneeded variable in mtip_cmd_timeout()
        lightnvm: generalize rrpc ppa calculations
        lightnvm: remove struct nvm_dev->total_blocks
        lightnvm: rename ->nr_pages to ->nr_sects
        lightnvm: update closed list outside of intr context
        xen/blback: Fit the important information of the thread in 17 characters
        lightnvm: fold get bb tbl when using dual/quad plane mode
        lightnvm: fix up nonsensical configure overrun checking
        xen-blkback: advertise indirect segment support earlier
    • Linus Torvalds's avatar
      Merge branch 'for-4.6/core' of git://git.kernel.dk/linux-block · 35d88d97
      Linus Torvalds authored
      Pull core block updates from Jens Axboe:
       "Here are the core block changes for this merge window.  Not a lot of
        exciting stuff going on in this round, most of the changes have been
        on the driver side of things.  That pull request is coming next.  This
        pull request contains:
         - A set of fixes for chained bio handling from Christoph.
         - A tag bounds check for blk-mq from Hannes, ensuring that we don't
           do something stupid if a device reports an invalid tag value.
         - A set of fixes/updates for the CFQ IO scheduler from Jan Kara.
         - A set of blk-mq fixes from Keith, adding support for dynamic
           hardware queues, and fixing init of max_dev_sectors for stacking
         - A fix for the dynamic hw context from Ming.
         - Enabling of cgroup writeback support on a block device, from
      * 'for-4.6/core' of git://git.kernel.dk/linux-block:
        blk-mq: add bounds check on tag-to-rq conversion
        block: bio_remaining_done() isn't unlikely
        block: cleanup bio_endio
        block: factor out chained bio completion
        block: don't unecessarily clobber bi_error for chained bios
        block-dev: enable writeback cgroup support
        blk-mq: Fix NULL pointer updating nr_requests
        blk-mq: mark request queue as mq asap
        block: Initialize max_dev_sectors to 0
        blk-mq: dynamic h/w context count
        cfq-iosched: Allow parent cgroup to preempt its child
        cfq-iosched: Allow sync noidle workloads to preempt each other
        cfq-iosched: Reorder checks in cfq_should_preempt()
        cfq-iosched: Don't group_idle if cfqq has big thinktime
    • Zhang Shengju's avatar
      net: fix a comment typo · 93e68cd6
      Zhang Shengju authored
      Fix a comment typo.
      Signed-off-by: default avatarZhang Shengju <zhangshengju@cmss.chinamobile.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Dan Carpenter's avatar
      ethernet: micrel: fix some error codes · 3af0d554
      Dan Carpenter authored
      There were two issues here:
      1) dma_mapping_error() return true/false but we want to return -ENOMEM
      2) If dmaengine_prep_slave_sg() failed then "err" wasn't set but
         presumably that should be -ENOMEM as well.
      I changed the success path to "return 0;" instead of "return ret;" for
      Fixes: 94fe8c68
       ('ks8842: Support DMA when accessed via timberdale')
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • David S. Miller's avatar
      Merge branch 'bpf-misc' · 3004932c
      David S. Miller authored
      Daniel Borkmann says:
      Minor BPF follow-ups
      Some minor last follow-ups I still had in my queue. The first one adds
      readability support for __sk_buff's tc_classid member, the remaining
      two are some minor cleanups. For details please see individual patches.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Daniel Borkmann's avatar
      ip_tunnels, bpf: define IP_TUNNEL_OPTS_MAX and use it · fca5fdf6
      Daniel Borkmann authored
      eBPF defines this as BPF_TUNLEN_MAX and OVS just uses the hard-coded
      value inside struct sw_flow_key. Thus, add and use IP_TUNNEL_OPTS_MAX
      for this, which makes the code a bit more generic and allows to remove
      BPF_TUNLEN_MAX from eBPF code.
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Daniel Borkmann's avatar
      bpf, dst: add and use dst_tclassid helper · 808c1b69
      Daniel Borkmann authored
      We can just add a small helper dst_tclassid() for retrieving the
      dst->tclassid value. It makes the code a bit better in that we can
      get rid of the ifdef from filter.c by moving this into the header.
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Daniel Borkmann's avatar
      bpf: make skb->tc_classid also readable · 09c37a2c
      Daniel Borkmann authored
      Currently, the tc_classid from eBPF skb context is write-only, but there's
      no good reason for tc programs to limit it to write-only. For example,
      it can be used to transfer its state via tail calls where the resulting
      tc_classid gets filled gradually.
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Arnd Bergmann's avatar
      net: mvneta: bm: clarify dependencies · 019ded3a
      Arnd Bergmann authored
      MVNETA_BM has a dependency on MVNETA, so we can only select the former
      if the latter is enabled. However, the code dependency is the reverse:
      The mvneta module can call into the mvneta_bm module, so mvneta cannot
      be a built-in if mvneta_bm is a module, or we get a link error:
      drivers/net/built-in.o: In function `mvneta_remove':
      drivers/net/ethernet/marvell/mvneta.c:4211: undefined reference to `mvneta_bm_pool_destroy'
      drivers/net/built-in.o: In function `mvneta_bm_update_mtu':
      drivers/net/ethernet/marvell/mvneta.c:1034: undefined reference to `mvneta_bm_bufs_free'
      This avoids the problem by further clarifying the dependency so that
      MVNETA_BM is a silent Kconfig option that gets turned on by the
      new MVNETA_BM_ENABLE option. This way both the core HWBM module and
      the MVNETA_BM code are always built-in when needed.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: dc35a10f
       ("net: mvneta: bm: add support for hardware buffer management")
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>