1. 30 3月, 2016 8 次提交
  2. 20 3月, 2016 5 次提交
    • G
      iwlwifi: mvm: support dumping UMAC internal txfifos · 5b086414
      Golan Ben-Ami 提交于
      In case of FW error, support dumping the UMAC internal txfifos.
      To do so, support version 2 of shared memory cfg command, which
      contains the sizes of the internal txfifos, and move the command
      to the system group.
      Signed-off-by: NGolan Ben-Ami <golan.ben.ami@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      5b086414
    • M
      iwlwifi: mvm: make sure FW contains the right amount of paging sections · cd47a3d3
      Matti Gottlieb 提交于
      Paging contains 3 sections in the fw. The first for the paging separator,
      The second for the CSS block, the third with the paging data.
      
      Currently if the driver finds the paging separator, and there is only
      section left (CSS), once reading the CSS section, the driver will
      attempt to read the paging data and will go out of the arrays bounds.
      
      Make sure that the FW image contains the right amount of sections for
      paging.
      Signed-off-by: NMatti Gottlieb <matti.gottlieb@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      cd47a3d3
    • M
      iwlwifi: mvm: Decrease size of the paging download buffer · c94d7996
      Matti Gottlieb 提交于
      Currently the driver has 2 buffers for paging:
      1. paging db - this contains all of the pages that were in the FW
      image, that the driver stores for the FW. This is allocated for each
      block separately (not contiguous).
      2. download buffer - we need to provide this empty buffer for the
      iwl_sdio_load_fw_chunk function to copy the requested pages to the shared
      memory. This is one big buffer of contiguous memory whose size is the
      size of all the blocks that the fw paging section can contain.
      
      This download buffer size is too big, and causes the allocation to fail
      sometimes. Since the driver allocates memory for each block separately,
      it is not possible for the FW to request all of the pages in one request
      (the FW gives an address and size, so blocks need to be contiguous for
      this to happen), therefore the FW is limited to request only one block.
      
      Decrease the size of the paging download buffer to be the size of a
      paging block.
      Signed-off-by: NMatti Gottlieb <matti.gottlieb@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      c94d7996
    • S
      iwlwifi: pcie: clear trans reference on queue stop · 01d11cd1
      Sara Sharon 提交于
      Currently when stop flow is performed, there might be transport TX RTPM
      references that are not freed in case we unmap a queue that still has
      packets not reclaimed. Fix that.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      01d11cd1
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 1200b680
      Linus Torvalds 提交于
      Pull networking updates from David Miller:
       "Highlights:
      
         1) Support more Realtek wireless chips, from Jes Sorenson.
      
         2) New BPF types for per-cpu hash and arrap maps, from Alexei
            Starovoitov.
      
         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
            well.
      
         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
        ...
      1200b680
  3. 19 3月, 2016 27 次提交
    • L
      Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 6b5f04b6
      Linus Torvalds 提交于
      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()
        ...
      6b5f04b6
    • E
      bonding: fix bond_get_stats() · fe30937b
      Eric Dumazet 提交于
      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
      bond_for_each_slave_rcu().
      
      Fixes: 5f0c5f73 ("bonding: make global bonding stats more reliable")
      Signed-off-by: NEric 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: NNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fe30937b
    • E
      net: bcmgenet: fix dma api length mismatch · eee57723
      Eric Dumazet 提交于
      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: NEric Dumazet <edumazet@google.com>
      Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eee57723
    • E
      net/mlx4_core: Fix backward compatibility on VFs · 76e39ccf
      Eli Cohen 提交于
      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: NEli Cohen <eli@mellanox.com>
      Tested-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      76e39ccf
    • L
      Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · fcab86ad
      Linus Torvalds 提交于
      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
      fcab86ad
    • L
      Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · ef504fa5
      Linus Torvalds 提交于
      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()
      ef504fa5
    • A
      phy: mdio-thunder: Fix some Kconfig typos · e2ad1f97
      Andreas Färber 提交于
      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: NAndreas Färber <afaerber@suse.de>
      Acked-by: NDavid Daney <david.daney@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e2ad1f97
    • W
      lan78xx: add ndo_get_stats64 · a59f8c5b
      Woojung Huh 提交于
      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: NWoojung Huh <woojung.huh@microchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a59f8c5b
    • W
      lan78xx: handle statistics counter rollover · 20ff5565
      Woojung Huh 提交于
      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: NWoojung Huh <woojung.huh@microchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      20ff5565
    • L
      Merge branch 'akpm' (patches from Andrew) · 814a2bf9
      Linus Torvalds 提交于
      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
        ...
      814a2bf9
    • D
      Merge branch 'rds-buffer-tuning' · 7fa7728d
      David S. Miller 提交于
      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: NDavid S. Miller <davem@davemloft.net>
      7fa7728d
    • S
      RDS: TCP: Remove unused constant · a3382e40
      Sowmini Varadhan 提交于
      RDS_TCP_DEFAULT_BUFSIZE has been unused since commit 1edd6a14
      ("RDS-TCP: Do not bloat sndbuf/rcvbuf in rds_tcp_tune").
      Signed-off-by: NSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a3382e40
    • S
      RDS: TCP: Add sysctl tunables for sndbuf/rcvbuf on rds-tcp socket · c6a58ffe
      Sowmini Varadhan 提交于
      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: NSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c6a58ffe
    • R
      net: smc911x: convert pxa dma to dmaengine · 79d3b59a
      Robert Jarzmik 提交于
      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: NRobert Jarzmik <robert.jarzmik@free.fr>
      Tested-by: NFabio Estevam <fabio.estevam@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      79d3b59a
    • D
      Merge branch 'IFF_MULTICAST-dup-sets' · c9d0bc5d
      David S. Miller 提交于
      Zhang Shengju says:
      
      ====================
      remove duplicate set of flag IFF_MULTICAST
      
      This patch series remove duplicate set of flag IFF_MULTICAST.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c9d0bc5d
    • Z
      team: remove duplicate set of flag IFF_MULTICAST · bc0df138
      Zhang Shengju 提交于
      Remove unnecessary set of flag IFF_MULTICAST, since ether_setup
      already does this.
      Signed-off-by: NZhang Shengju <zhangshengju@cmss.chinamobile.com>
      Acked-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bc0df138
    • Z
      bonding: remove duplicate set of flag IFF_MULTICAST · 1098cee6
      Zhang Shengju 提交于
      Remove unnecessary set of flag IFF_MULTICAST, since ether_setup
      already does this.
      Signed-off-by: NZhang Shengju <zhangshengju@cmss.chinamobile.com>
      Reviewed-by: NNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: NAndy Gospodarek <gospo@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1098cee6
    • L
      Merge branch 'for-4.6/drivers' of git://git.kernel.dk/linux-block · 237045fc
      Linus Torvalds 提交于
      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
        ...
      237045fc
    • L
      Merge branch 'for-4.6/core' of git://git.kernel.dk/linux-block · 35d88d97
      Linus Torvalds 提交于
      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
           devices.
      
         - A fix for the dynamic hw context from Ming.
      
         - Enabling of cgroup writeback support on a block device, from
           Shaohua"
      
      * '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
      35d88d97
    • Z
      net: fix a comment typo · 93e68cd6
      Zhang Shengju 提交于
      Fix a comment typo.
      Signed-off-by: NZhang Shengju <zhangshengju@cmss.chinamobile.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      93e68cd6
    • D
      ethernet: micrel: fix some error codes · 3af0d554
      Dan Carpenter 提交于
      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
      clarity.
      
      Fixes: 94fe8c68 ('ks8842: Support DMA when accessed via timberdale')
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3af0d554
    • D
      Merge branch 'bpf-misc' · 3004932c
      David S. Miller 提交于
      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: NDavid S. Miller <davem@davemloft.net>
      3004932c
    • D
      ip_tunnels, bpf: define IP_TUNNEL_OPTS_MAX and use it · fca5fdf6
      Daniel Borkmann 提交于
      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: NDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fca5fdf6
    • D
      bpf, dst: add and use dst_tclassid helper · 808c1b69
      Daniel Borkmann 提交于
      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: NDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      808c1b69
    • D
      bpf: make skb->tc_classid also readable · 09c37a2c
      Daniel Borkmann 提交于
      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: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      09c37a2c
    • A
      net: mvneta: bm: clarify dependencies · 019ded3a
      Arnd Bergmann 提交于
      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: NArnd Bergmann <arnd@arndb.de>
      Fixes: dc35a10f ("net: mvneta: bm: add support for hardware buffer management")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      019ded3a
    • D
      cls_bpf: reset class and reuse major in da · 3a461da1
      Daniel Borkmann 提交于
      There are two issues with the current code. First one is that we need
      to set res->class to 0 in case we use non-default classid matching.
      
      This is important for the case where cls_bpf was initially set up with
      an optional binding to a default class with tcf_bind_filter(), where
      the underlying qdisc implements bind_tcf() that fills res->class and
      tests for it later on when doing the classification. Convention for
      these cases is that after tc_classify() was called, such qdiscs (atm,
      drr, qfq, cbq, hfsc, htb) first test class, and if 0, then they lookup
      based on classid.
      
      Second, there's a bug with da mode, where res->classid is only assigned
      a 16 bit minor, but it needs to expand to the full 32 bit major/minor
      combination instead, therefore we need to expand with the bound major.
      This is fine as classes belonging to a classful qdisc must share the
      same major.
      
      Fixes: 045efa82 ("cls_bpf: introduce integrated actions")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3a461da1