Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1513733imm; Wed, 10 Oct 2018 16:18:23 -0700 (PDT) X-Google-Smtp-Source: ACcGV60m2zt8WtVa1rFVW7bfQ9ecQUzBfww5NDq+/eVJ7QO6mpFEbDxuIxSRc111H3GPLC6J1h9n X-Received: by 2002:a62:5c03:: with SMTP id q3-v6mr37296220pfb.182.1539213503203; Wed, 10 Oct 2018 16:18:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539213503; cv=none; d=google.com; s=arc-20160816; b=LasN8n/2HYyRYTF1O7g2aZeAqZjH3bTljN47hMfqboritu1/owg2Ouw4ugG0KDvmZJ zv1ncONKgUmeAFAIoCM697wMZZjNv7HEGyHDp6PUMt0wD2tQ3Mg/TJ02zDukopfaE3i5 2noyy4Al5ena1IMhvvQnxZ3A01/5jds0rNZIo4Q/ZMrm0pTjcBZ66GsIogSa4/sqMflX h4LNJR8YO+cGxG1qhUGU4QAE5WtCqHM6Z163ZKaMdVqLVslnVnPybVMTXGkmCifxNymc TvWu3ikdRmE0AzSVK+ieDTMGafCe5nZQ+fyO2jYOnLwHlqDPrA6TOiv2h2lTh+qYk4yu e2Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=B7qCQGNAWYitqL6zTxHtawRnoPJOs5mFgKC1E3cOmfA=; b=TEdIE64TeX5oH8QV7N2aOCSdS+sUfhxVt1YXqBs/Vb0Ss+xrasvvtR40xFHaovPieU A9sI0ipddQlM/QZNrSOlXm3+cfQTcBSg4FHgSlYDGbrCTB7oQM5fkVsMFHRnHNVu6FJF QqFhuE82cfawSjn9lAKrltmgptAcuBoVOobMOFfam5fyrHuV0dmRCIIlZTT4fkz6sLmi nl1oA/5DGJMF5Jynp/Lr5yVqeQiOaqXw5PogiYO09Z80oejy3IzKIq8nVicdxWI32I67 /pf815t6dC5tsRxNthXFLt9mf/UfRr/e3o89O9DEmSUgP27uYWZlJQ0WvVQNGdmdv45J 1dBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dWOwkgdV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w6-v6si27176990pgm.557.2018.10.10.16.18.08; Wed, 10 Oct 2018 16:18:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dWOwkgdV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726249AbeJKGg4 (ORCPT + 99 others); Thu, 11 Oct 2018 02:36:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:34980 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726035AbeJKGg4 (ORCPT ); Thu, 11 Oct 2018 02:36:56 -0400 Received: from lerouge.suse.de (LFbn-NCY-1-241-207.w83-194.abo.wanadoo.fr [83.194.85.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 52A332075C; Wed, 10 Oct 2018 23:12:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1539213152; bh=m1AbmUHjx4ismJNG0AP37il4SC25v3hcyR1H2kdv7+w=; h=From:To:Cc:Subject:Date:From; b=dWOwkgdV5gFfJkLp+4XU2Vyo4VK8/CBsc+7mz8R37GcQgXw21ElR232ZD9gaXRSok q9f1RwlkKmVrxPCNYOoNEc3/lGwLbu0Kb6bGCApliZqKrgahw9n/TK7SPbQUrcMtvH 2p7SrnDuk7A4as4rw1QGneTixK0C8Yy0cESRvnJ0= From: Frederic Weisbecker To: LKML Cc: Frederic Weisbecker , Sebastian Andrzej Siewior , Peter Zijlstra , "David S . Miller" , Linus Torvalds , Thomas Gleixner , "Paul E . McKenney" , Ingo Molnar , Frederic Weisbecker , Mauro Carvalho Chehab Subject: [RFC PATCH 00/30] softirq: Make softirqs soft-interruptible (+ per vector disablement) Date: Thu, 11 Oct 2018 01:11:47 +0200 Message-Id: <1539213137-13953-1-git-send-email-frederic@kernel.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There have been complaints around the fact that some softirq vectors consume a lot of CPU at the expense of other's latency. A few solutions have been proposed, mostly working around a fundamental design of softirqs in Linux: a vector can not interrupt another while softirq are executing. Also disabling the softirqs is an all-in-one toggle. It is not possible to simply disable one vector. Therefore a section of code, that wants not to be interrupted by a vector, must disable and delay all of them, even though they are unrelated to the current critical code. That in turn may induce latencies on workloads that rely on deterministic ends. Following suggestions from the -rt team, this patchset propose to solve this with finegrained per softirq vector disablement. Functions such as local_bh_disable() or spin_lock_bh() now must be passed a mask of vectors to disable. The functions return the mask of the vectors enabled state prior to the call, that backup state is then passed to local_bh_enable()/spin_unlock_bh() to be restored. Ie: it follows the same logic as local_irq_save/restore(): // Start with local_bh_disabled() == SOFTIRQ_ALL_MASK ... bh = local_bh_disable(BIT(NET_RX_SOFTIRQ)) { bh = local_bh_disabled(); local_bh_disabled() &= ~BIT(NET_RX_SOFTIRQ); // First vector disabled, inc preempt count preempt_count += SOFTIRQ_DISABLE_OFFSET; return bh; } .... bh2 = local_bh_disable(BIT(BLOCK_SOFTIRQ)) { bh2 = local_bh_disabled(); local_bh_disabled() &= ~BIT(NET_RX_SOFTIRQ); // No need to inc preempt count return bh2; } ... local_bh_enable(bh2) { local_bh_disabled() = bh2; // No need to dec preempt count } ... local_bh_enable(bh1) { local_bh_disabled() = bh; preempt_count -= SOFTIRQ_DISABLE_OFFSET; } Similarly, the softirq processing is now re-entrant: a vector can interrupt another, but a vector of course can not interrupt itself. Although the diffstat is huge, some of the patches have been truncated to fit in lkml. And I haven't yet converted every call sites, there are still a few of them that I need to flip. At least it's enough for my config to boot and be happy. Also I may need to teach lockdep about the new situation. Other than that, it works pretty well on my box, softirqs nest like a charm (except for NET_RX and TASKLET as you may find out in the last patch): -0 [000] ..s2 119.907085: __do_softirq: run_rebalance_domains -0 [000] ..s2 119.907090: => __do_softirq => irq_exit => scheduler_ipi => smp_reschedule_interrupt => reschedule_interrupt => _raw_spin_unlock_irq => run_timer_softirq => __do_softirq => irq_exit => smp_apic_timer_interrupt => apic_timer_interrupt => cpuidle_enter_state => cpuidle_enter => call_cpuidle => do_idle So that's enough to start a debate. git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git irq/softirq-experimental HEAD: 84e064f678eb06d0da3e97f04eced4cfb55866ba Thanks, Frederic --- Frederic Weisbecker (30): x86: Revert "x86/irq: Demote irq_cpustat_t::__softirq_pending to u16" arch/softirq: Rename softirq_pending fields to softirq_data softirq: Implement local_softirq_pending() below softirq vector definition softirq: Normalize softirq_pending naming scheme softirq: Convert softirq_pending_set() to softirq_pending_nand() softirq: Introduce disabled softirq vectors bits softirq: Rename _local_bh_enable() to local_bh_enable_no_softirq() softirq: Move vectors bits to bottom_half.h x86: Init softirq enabled field softirq: Check enabled bits on the softirq loop net: Prepare netif_tx_lock_bh/netif_tx_unlock_bh() for handling softirq mask rcu: Prepare rcu_read_[un]lock_bh() for handling softirq mask net: Prepare tcp_get_md5sig_pool() for handling softirq mask softirq: Introduce local_bh_disable_all() net: Prepare [un]lock_sock_fast() for handling softirq mask net: Prepare nf_log_buf_open() for handling softirq mask isdn: Prepare isdn_net_get_locked_lp() for handling softirq mask softirq: Prepare local_bh_disable() for handling softirq mask diva: Prepare diva_os_enter_spin_lock() for handling softirq mask tg3: Prepare tg3_full_[un]lock() for handling softirq mask locking: Prepare spin_lock_bh() for handling softirq mask seqlock: Prepare write_seq[un]lock_bh() for handling softirq mask rwlock: Prepare write_[un]lock_bh() for handling softirq mask softirq: Introduce Local_bh_enter/exit() softirq: Push down softirq mask to __local_bh_disable_ip() softirq: Increment the softirq offset on top of enabled bits softirq: Swap softirq serving VS disable on preempt mask layout softirq: Disable vector on execution softirq: Make softirq processing softinterruptible softirq: Tasklet/net-rx fixup arch/arm/include/asm/hardirq.h | 2 +- arch/arm64/include/asm/hardirq.h | 2 +- arch/arm64/kernel/fpsimd.c | 37 +-- arch/h8300/kernel/asm-offsets.c | 2 +- arch/ia64/include/asm/hardirq.h | 2 +- arch/ia64/include/asm/processor.h | 2 +- arch/m68k/include/asm/hardirq.h | 2 +- arch/m68k/kernel/asm-offsets.c | 2 +- arch/parisc/include/asm/hardirq.h | 2 +- arch/powerpc/include/asm/hardirq.h | 2 +- arch/s390/include/asm/hardirq.h | 11 +- arch/s390/lib/delay.c | 5 +- arch/s390/mm/pgalloc.c | 24 +- arch/sh/include/asm/hardirq.h | 2 +- arch/sparc/include/asm/cpudata_64.h | 2 +- arch/sparc/include/asm/hardirq_64.h | 4 +- arch/um/include/asm/hardirq.h | 2 +- arch/x86/crypto/sha1-mb/sha1_mb.c | 9 +- arch/x86/crypto/sha256-mb/sha256_mb.c | 9 +- arch/x86/crypto/sha512-mb/sha512_mb.c | 9 +- arch/x86/include/asm/hardirq.h | 2 +- arch/x86/kernel/irq.c | 5 +- arch/xtensa/platforms/iss/console.c | 10 +- arch/xtensa/platforms/iss/network.c | 28 +- block/genhd.c | 15 +- crypto/ansi_cprng.c | 10 +- crypto/cryptd.c | 25 +- crypto/mcryptd.c | 30 ++- crypto/pcrypt.c | 5 +- drivers/block/drbd/drbd_receiver.c | 10 +- drivers/block/rsxx/core.c | 5 +- drivers/block/rsxx/cregs.c | 34 ++- drivers/block/rsxx/dma.c | 36 +-- drivers/block/umem.c | 10 +- drivers/connector/cn_queue.c | 15 +- drivers/connector/connector.c | 15 +- drivers/crypto/atmel-aes.c | 5 +- drivers/crypto/atmel-sha.c | 5 +- drivers/crypto/atmel-tdes.c | 5 +- drivers/crypto/axis/artpec6_crypto.c | 10 +- drivers/crypto/caam/jr.c | 7 +- drivers/crypto/cavium/cpt/cptvf_reqmanager.c | 22 +- drivers/crypto/cavium/nitrox/nitrox_reqmgr.c | 25 +- drivers/crypto/ccree/cc_request_mgr.c | 31 ++- drivers/crypto/chelsio/chcr_algo.c | 5 +- drivers/crypto/chelsio/chtls/chtls_cm.c | 36 ++- drivers/crypto/chelsio/chtls/chtls_hw.c | 10 +- drivers/crypto/chelsio/chtls/chtls_main.c | 9 +- drivers/crypto/inside-secure/safexcel.c | 19 +- drivers/crypto/inside-secure/safexcel_cipher.c | 15 +- drivers/crypto/inside-secure/safexcel_hash.c | 15 +- drivers/crypto/marvell/cesa.c | 20 +- drivers/crypto/marvell/tdma.c | 13 +- drivers/crypto/mediatek/mtk-aes.c | 5 +- drivers/crypto/mediatek/mtk-sha.c | 5 +- drivers/crypto/mxc-scc.c | 10 +- drivers/crypto/nx/nx-842.c | 10 +- drivers/crypto/omap-aes.c | 15 +- drivers/crypto/omap-des.c | 5 +- drivers/crypto/omap-sham.c | 10 +- drivers/crypto/qat/qat_common/adf_transport.c | 15 +- drivers/crypto/qce/core.c | 5 +- drivers/crypto/stm32/stm32-cryp.c | 5 +- drivers/crypto/stm32/stm32-hash.c | 5 +- drivers/crypto/stm32/stm32_crc32.c | 5 +- drivers/crypto/sunxi-ss/sun4i-ss-hash.c | 5 +- drivers/crypto/sunxi-ss/sun4i-ss-prng.c | 5 +- drivers/dma/at_xdmac.c | 5 +- drivers/dma/dmaengine.c | 5 +- drivers/dma/fsldma.c | 44 ++-- drivers/dma/ioat/dma.c | 59 +++-- drivers/dma/ioat/dma.h | 1 + drivers/dma/ioat/init.c | 28 +- drivers/dma/iop-adma.c | 60 +++-- drivers/dma/mv_xor.c | 32 ++- drivers/dma/mv_xor_v2.c | 24 +- drivers/dma/ppc4xx/adma.c | 74 +++--- drivers/dma/timb_dma.c | 35 ++- drivers/dma/txx9dmac.c | 50 ++-- drivers/dma/xgene-dma.c | 20 +- drivers/dma/xilinx/zynqmp_dma.c | 32 ++- drivers/gpu/drm/drm_lock.c | 35 +-- drivers/gpu/drm/i915/gvt/debugfs.c | 5 +- drivers/gpu/drm/i915/gvt/sched_policy.c | 5 +- drivers/gpu/drm/i915/i915_gem.c | 5 +- drivers/gpu/drm/i915/i915_request.c | 5 +- drivers/gpu/drm/i915/intel_breadcrumbs.c | 5 +- drivers/gpu/drm/i915/intel_engine_cs.c | 5 +- drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 9 +- drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 10 +- drivers/hsi/clients/cmt_speech.c | 76 +++--- drivers/hsi/clients/ssi_protocol.c | 135 +++++----- drivers/hsi/controllers/omap_ssi_port.c | 60 +++-- drivers/infiniband/core/addr.c | 29 ++- drivers/infiniband/core/roce_gid_mgmt.c | 5 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 10 +- drivers/infiniband/hw/cxgb4/cm.c | 5 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 7 +- drivers/infiniband/hw/mlx4/main.c | 35 ++- drivers/infiniband/sw/rdmavt/cq.c | 5 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 33 +-- drivers/infiniband/sw/rxe/rxe_mmap.c | 19 +- drivers/infiniband/sw/rxe/rxe_net.c | 24 +- drivers/infiniband/sw/rxe/rxe_queue.c | 5 +- drivers/infiniband/sw/rxe/rxe_recv.c | 15 +- drivers/infiniband/sw/rxe/rxe_resp.c | 14 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 42 +-- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 10 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 14 +- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 19 +- drivers/infiniband/ulp/isert/ib_isert.c | 52 ++-- drivers/isdn/capi/capi.c | 46 ++-- drivers/isdn/hardware/eicon/capifunc.c | 53 ++-- drivers/isdn/hardware/eicon/dadapter.c | 39 ++- drivers/isdn/hardware/eicon/debug.c | 129 ++++++---- drivers/isdn/hardware/eicon/debug_if.h | 6 +- drivers/isdn/hardware/eicon/diva.c | 45 ++-- drivers/isdn/hardware/eicon/idifunc.c | 22 +- drivers/isdn/hardware/eicon/io.c | 88 ++++--- drivers/isdn/hardware/eicon/mntfunc.c | 13 +- drivers/isdn/hardware/eicon/platform.h | 9 +- drivers/isdn/hardware/eicon/um_idi.c | 104 +++++--- drivers/isdn/i4l/isdn_concap.c | 5 +- drivers/isdn/i4l/isdn_net.c | 16 +- drivers/isdn/i4l/isdn_net.h | 5 +- drivers/isdn/i4l/isdn_ppp.c | 6 +- drivers/isdn/mISDN/socket.c | 17 +- drivers/isdn/mISDN/stack.c | 10 +- drivers/leds/trigger/ledtrig-netdev.c | 15 +- drivers/media/pci/ttpci/av7110_av.c | 10 +- drivers/misc/sgi-xp/xpnet.c | 9 +- drivers/misc/vmw_vmci/vmci_doorbell.c | 15 +- drivers/mmc/host/atmel-mci.c | 24 +- drivers/mmc/host/dw_mmc.c | 15 +- drivers/mmc/host/wbsd.c | 22 +- drivers/net/appletalk/ipddp.c | 19 +- drivers/net/bonding/bond_3ad.c | 30 ++- drivers/net/bonding/bond_alb.c | 60 +++-- drivers/net/bonding/bond_debugfs.c | 5 +- drivers/net/caif/caif_hsi.c | 51 ++-- drivers/net/can/slcan.c | 24 +- drivers/net/can/softing/softing_main.c | 15 +- drivers/net/eql.c | 25 +- drivers/net/ethernet/3com/3c59x.c | 10 +- drivers/net/ethernet/alacritech/slicoss.c | 30 ++- drivers/net/ethernet/altera/altera_tse_main.c | 5 +- drivers/net/ethernet/aurora/nb8800.c | 5 +- drivers/net/ethernet/broadcom/bcm63xx_enet.c | 10 +- drivers/net/ethernet/broadcom/bnx2.c | 107 ++++---- .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 5 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 29 ++- drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 39 +-- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 12 +- drivers/net/ethernet/broadcom/cnic.c | 12 +- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 5 +- drivers/net/ethernet/broadcom/tg3.c | 221 +++++++++------- drivers/net/ethernet/calxeda/xgmac.c | 5 +- drivers/net/ethernet/cavium/liquidio/lio_main.c | 10 +- drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 10 +- .../net/ethernet/cavium/liquidio/octeon_device.c | 32 ++- drivers/net/ethernet/cavium/liquidio/octeon_droq.c | 12 +- drivers/net/ethernet/cavium/liquidio/octeon_nic.c | 11 +- .../net/ethernet/cavium/liquidio/request_manager.c | 22 +- .../ethernet/cavium/liquidio/response_manager.c | 11 +- drivers/net/ethernet/cavium/thunder/nicvf_main.c | 5 +- drivers/net/ethernet/chelsio/cxgb/vsc7326.c | 10 +- drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 5 +- drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 56 ++-- drivers/net/ethernet/chelsio/cxgb3/l2t.c | 39 +-- drivers/net/ethernet/chelsio/cxgb3/sge.c | 5 +- drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c | 42 +-- drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c | 17 +- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 42 +-- .../net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c | 5 +- drivers/net/ethernet/chelsio/cxgb4/l2t.c | 40 +-- drivers/net/ethernet/chelsio/cxgb4/sge.c | 32 ++- drivers/net/ethernet/chelsio/cxgb4/smt.c | 10 +- drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 15 +- drivers/net/ethernet/chelsio/libcxgb/libcxgb_ppm.c | 23 +- drivers/net/ethernet/cisco/enic/enic_api.c | 5 +- drivers/net/ethernet/cisco/enic/enic_clsf.c | 25 +- drivers/net/ethernet/cisco/enic/enic_dev.c | 75 +++--- drivers/net/ethernet/cisco/enic/enic_dev.h | 2 +- drivers/net/ethernet/cisco/enic/enic_ethtool.c | 18 +- drivers/net/ethernet/cisco/enic/enic_main.c | 35 ++- drivers/net/ethernet/emulex/benet/be_cmds.c | 15 +- drivers/net/ethernet/emulex/benet/be_main.c | 5 +- drivers/net/ethernet/freescale/fec_main.c | 34 ++- drivers/net/ethernet/freescale/gianfar.c | 5 +- drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 30 ++- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 7 +- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 7 +- drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c | 9 +- drivers/net/ethernet/ibm/emac/core.c | 15 +- drivers/net/ethernet/intel/i40e/i40e_main.c | 49 ++-- drivers/net/ethernet/intel/i40e/i40e_ptp.c | 17 +- drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 38 +-- drivers/net/ethernet/intel/i40evf/i40evf_main.c | 68 +++-- .../net/ethernet/intel/i40evf/i40evf_virtchnl.c | 36 +-- drivers/net/ethernet/intel/igbvf/ethtool.c | 5 +- drivers/net/ethernet/intel/igbvf/netdev.c | 51 ++-- drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c | 10 +- drivers/net/ethernet/intel/ixgbevf/ethtool.c | 5 +- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 55 ++-- drivers/net/ethernet/jme.c | 52 ++-- drivers/net/ethernet/marvell/mv643xx_eth.c | 10 +- drivers/net/ethernet/marvell/skge.c | 34 ++- drivers/net/ethernet/marvell/sky2.c | 34 ++- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 10 +- drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 5 +- drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 35 ++- drivers/net/ethernet/mellanox/mlx4/en_port.c | 5 +- drivers/net/ethernet/mellanox/mlx4/en_rx.c | 5 +- drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c | 24 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 5 +- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 21 +- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 10 +- .../ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c | 10 +- .../net/ethernet/mellanox/mlx5/core/lib/vxlan.c | 15 +- drivers/net/ethernet/mellanox/mlxsw/core.c | 12 +- drivers/net/ethernet/mellanox/mlxsw/pci.c | 5 +- .../net/ethernet/mellanox/mlxsw/spectrum_router.c | 10 +- .../net/ethernet/mellanox/mlxsw/spectrum_span.c | 5 +- drivers/net/ethernet/microchip/lan743x_ptp.c | 30 ++- drivers/net/ethernet/netronome/nfp/flower/cmsg.c | 14 +- drivers/net/ethernet/netronome/nfp/flower/main.c | 14 +- .../net/ethernet/netronome/nfp/flower/offload.c | 5 +- .../ethernet/netronome/nfp/flower/tunnel_conf.c | 21 +- drivers/net/ethernet/netronome/nfp/nfp_net.h | 2 +- .../net/ethernet/netronome/nfp/nfp_net_common.c | 35 ++- drivers/net/ethernet/nvidia/forcedeth.c | 50 ++-- drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c | 7 +- .../net/ethernet/qlogic/netxen/netxen_nic_init.c | 5 +- drivers/net/ethernet/qlogic/qed/qed_dev.c | 7 +- drivers/net/ethernet/qlogic/qed/qed_fcoe.c | 19 +- drivers/net/ethernet/qlogic/qed/qed_hw.c | 12 +- drivers/net/ethernet/qlogic/qed/qed_iscsi.c | 19 +- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 91 ++++--- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 10 +- drivers/net/ethernet/qlogic/qed/qed_mcp.c | 26 +- drivers/net/ethernet/qlogic/qed/qed_rdma.c | 64 +++-- drivers/net/ethernet/qlogic/qed/qed_roce.c | 16 +- drivers/net/ethernet/qlogic/qed/qed_spq.c | 26 +- drivers/net/ethernet/qlogic/qede/qede_filter.c | 25 +- drivers/net/ethernet/qlogic/qede/qede_ptp.c | 42 +-- .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 22 +- drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c | 22 +- .../ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 20 +- .../net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c | 5 +- drivers/net/ethernet/qualcomm/qca_spi.c | 10 +- drivers/net/ethernet/qualcomm/qca_uart.c | 14 +- drivers/net/ethernet/realtek/8139too.c | 5 +- drivers/net/ethernet/sfc/ef10.c | 15 +- drivers/net/ethernet/sfc/efx.c | 15 +- drivers/net/ethernet/sfc/ethtool.c | 5 +- drivers/net/ethernet/sfc/falcon/efx.c | 15 +- drivers/net/ethernet/sfc/falcon/ethtool.c | 5 +- drivers/net/ethernet/sfc/falcon/falcon.c | 9 +- drivers/net/ethernet/sfc/falcon/farch.c | 42 +-- drivers/net/ethernet/sfc/falcon/selftest.c | 10 +- drivers/net/ethernet/sfc/farch.c | 5 +- drivers/net/ethernet/sfc/mcdi.c | 34 ++- drivers/net/ethernet/sfc/ptp.c | 32 ++- drivers/net/ethernet/sfc/rx.c | 5 +- drivers/net/ethernet/sfc/selftest.c | 10 +- drivers/net/ethernet/silan/sc92031.c | 60 +++-- drivers/net/ethernet/ti/netcp_ethss.c | 10 +- drivers/net/ethernet/toshiba/tc35815.c | 5 +- drivers/net/ethernet/via/via-rhine.c | 25 +- drivers/net/hamradio/6pack.c | 30 ++- drivers/net/hamradio/mkiss.c | 45 ++-- drivers/net/hyperv/rndis_filter.c | 5 +- drivers/net/ieee802154/fakelb.c | 20 +- drivers/net/ipvlan/ipvlan_core.c | 10 +- drivers/net/ipvlan/ipvlan_main.c | 22 +- drivers/net/macsec.c | 37 +-- drivers/net/macvlan.c | 5 +- drivers/net/ppp/ppp_async.c | 12 +- drivers/net/ppp/ppp_generic.c | 70 ++--- drivers/net/ppp/ppp_synctty.c | 5 +- drivers/net/ppp/pppoe.c | 24 +- drivers/net/slip/slip.c | 53 ++-- drivers/net/tun.c | 62 +++-- drivers/net/usb/cdc_mbim.c | 5 +- drivers/net/usb/cdc_ncm.c | 39 +-- drivers/net/usb/r8152.c | 5 +- drivers/net/virtio_net.c | 5 +- drivers/net/vrf.c | 19 +- drivers/net/vxlan.c | 32 ++- drivers/net/wan/x25_asy.c | 10 +- drivers/net/wireless/ath/ath10k/ce.c | 49 ++-- drivers/net/wireless/ath/ath10k/coredump.c | 5 +- drivers/net/wireless/ath/ath10k/debug.c | 47 ++-- drivers/net/wireless/ath/ath10k/debugfs_sta.c | 15 +- drivers/net/wireless/ath/ath10k/htc.c | 23 +- drivers/net/wireless/ath/ath10k/htt_rx.c | 79 +++--- drivers/net/wireless/ath/ath10k/htt_tx.c | 25 +- drivers/net/wireless/ath/ath10k/hw.c | 9 +- drivers/net/wireless/ath/ath10k/mac.c | 284 ++++++++++++--------- drivers/net/wireless/ath/ath10k/p2p.c | 5 +- drivers/net/wireless/ath/ath10k/pci.c | 42 +-- drivers/net/wireless/ath/ath10k/sdio.c | 27 +- drivers/net/wireless/ath/ath10k/snoc.c | 17 +- drivers/net/wireless/ath/ath10k/testmode.c | 15 +- drivers/net/wireless/ath/ath10k/thermal.c | 10 +- drivers/net/wireless/ath/ath10k/txrx.c | 24 +- drivers/net/wireless/ath/ath10k/wmi-tlv.c | 5 +- drivers/net/wireless/ath/ath10k/wmi.c | 83 +++--- drivers/net/wireless/ath/ath5k/ani.c | 5 +- drivers/net/wireless/ath/ath5k/base.c | 34 ++- drivers/net/wireless/ath/ath5k/debug.c | 10 +- drivers/net/wireless/ath/ath5k/mac80211-ops.c | 10 +- drivers/net/wireless/ath/ath6kl/cfg80211.c | 29 ++- drivers/net/wireless/ath/ath6kl/hif.c | 15 +- drivers/net/wireless/ath/ath6kl/htc_mbox.c | 107 ++++---- drivers/net/wireless/ath/ath6kl/htc_pipe.c | 89 ++++--- drivers/net/wireless/ath/ath6kl/init.c | 7 +- drivers/net/wireless/ath/ath6kl/main.c | 49 ++-- drivers/net/wireless/ath/ath6kl/sdio.c | 51 ++-- drivers/net/wireless/ath/ath6kl/txrx.c | 124 +++++---- drivers/net/wireless/ath/ath6kl/wmi.c | 56 ++-- drivers/net/wireless/ath/ath9k/ath9k.h | 2 +- drivers/net/wireless/ath/ath9k/beacon.c | 5 +- drivers/net/wireless/ath/ath9k/channel.c | 68 ++--- drivers/net/wireless/ath/ath9k/dynack.c | 12 +- drivers/net/wireless/ath/ath9k/gpio.c | 10 +- drivers/net/wireless/ath/ath9k/htc_drv_beacon.c | 33 ++- drivers/net/wireless/ath/ath9k/htc_drv_debug.c | 10 +- drivers/net/wireless/ath/ath9k/htc_drv_main.c | 25 +- drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 50 ++-- drivers/net/wireless/ath/ath9k/main.c | 44 ++-- drivers/net/wireless/ath/ath9k/recv.c | 17 +- drivers/net/wireless/ath/ath9k/wmi.c | 7 +- drivers/net/wireless/ath/ath9k/wow.c | 10 +- drivers/net/wireless/ath/ath9k/xmit.c | 38 +-- drivers/net/wireless/ath/carl9170/debug.c | 20 +- drivers/net/wireless/ath/carl9170/main.c | 45 ++-- drivers/net/wireless/ath/carl9170/rx.c | 5 +- drivers/net/wireless/ath/carl9170/tx.c | 80 +++--- drivers/net/wireless/ath/carl9170/usb.c | 12 +- drivers/net/wireless/ath/dfs_pri_detector.c | 30 ++- drivers/net/wireless/ath/wcn36xx/main.c | 13 +- drivers/net/wireless/ath/wil6210/debugfs.c | 5 +- drivers/net/wireless/ath/wil6210/main.c | 10 +- drivers/net/wireless/ath/wil6210/rx_reorder.c | 5 +- drivers/net/wireless/ath/wil6210/txrx.c | 28 +- drivers/net/wireless/ath/wil6210/txrx_edma.c | 10 +- drivers/net/wireless/ath/wil6210/wmi.c | 15 +- drivers/net/wireless/atmel/atmel.c | 7 +- .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 27 +- .../wireless/broadcom/brcm80211/brcmsmac/debug.c | 5 +- .../broadcom/brcm80211/brcmsmac/mac80211_if.c | 135 +++++----- drivers/net/wireless/intel/iwlwifi/dvm/calib.c | 16 +- drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c | 20 +- drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c | 5 +- drivers/net/wireless/intel/iwlwifi/dvm/main.c | 5 +- drivers/net/wireless/intel/iwlwifi/dvm/sta.c | 119 +++++---- drivers/net/wireless/intel/iwlwifi/dvm/tx.c | 38 +-- drivers/net/wireless/intel/iwlwifi/fw/notif-wait.c | 10 +- drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 5 +- drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c | 10 +- drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 51 ++-- drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 30 ++- drivers/net/wireless/intel/iwlwifi/mvm/rs.c | 5 +- drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 23 +- drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 150 ++++++----- .../net/wireless/intel/iwlwifi/mvm/time-event.c | 34 ++- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 10 +- drivers/net/wireless/intel/iwlwifi/mvm/utils.c | 46 ++-- drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 19 +- drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 15 +- drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c | 12 +- drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 29 ++- .../net/wireless/intersil/hostap/hostap_80211_rx.c | 5 +- drivers/net/wireless/intersil/hostap/hostap_ap.c | 145 ++++++----- drivers/net/wireless/intersil/hostap/hostap_hw.c | 20 +- .../net/wireless/intersil/hostap/hostap_ioctl.c | 9 +- drivers/net/wireless/intersil/hostap/hostap_main.c | 12 +- drivers/net/wireless/intersil/hostap/hostap_proc.c | 6 +- .../net/wireless/intersil/orinoco/orinoco_usb.c | 9 +- drivers/net/wireless/mac80211_hwsim.c | 67 +++-- drivers/net/wireless/marvell/mwl8k.c | 21 +- drivers/net/wireless/mediatek/mt76/agg-rx.c | 20 +- drivers/net/wireless/mediatek/mt76/dma.c | 15 +- drivers/net/wireless/mediatek/mt76/mac80211.c | 5 +- drivers/net/wireless/mediatek/mt76/mt76x0/mac.c | 10 +- drivers/net/wireless/mediatek/mt76/mt76x0/phy.c | 5 +- drivers/net/wireless/mediatek/mt76/mt76x2_dma.c | 5 +- drivers/net/wireless/mediatek/mt76/mt76x2_mac.c | 5 +- .../net/wireless/mediatek/mt76/mt76x2_mac_common.c | 10 +- .../net/wireless/mediatek/mt76/mt76x2_phy_common.c | 5 +- drivers/net/wireless/mediatek/mt76/mt76x2_tx.c | 5 +- drivers/net/wireless/mediatek/mt76/tx.c | 45 ++-- drivers/net/wireless/mediatek/mt76/usb.c | 5 +- drivers/net/wireless/mediatek/mt7601u/mac.c | 10 +- drivers/net/wireless/mediatek/mt7601u/phy.c | 14 +- drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 15 +- drivers/net/wireless/ralink/rt2x00/rt2x00queue.c | 5 +- .../realtek/rtlwifi/btcoexist/halbtcoutsrc.c | 5 +- drivers/net/wireless/realtek/rtlwifi/core.c | 10 +- drivers/net/wireless/realtek/rtlwifi/pci.c | 17 +- .../net/wireless/realtek/rtlwifi/rtl8188ee/dm.c | 16 +- .../net/wireless/realtek/rtlwifi/rtl8188ee/hw.c | 22 +- .../net/wireless/realtek/rtlwifi/rtl8192ee/dm.c | 10 +- .../net/wireless/realtek/rtlwifi/rtl8192ee/hw.c | 22 +- .../net/wireless/realtek/rtlwifi/rtl8723be/dm.c | 10 +- .../net/wireless/realtek/rtlwifi/rtl8723be/hw.c | 22 +- .../net/wireless/realtek/rtlwifi/rtl8821ae/dm.c | 10 +- .../net/wireless/realtek/rtlwifi/rtl8821ae/hw.c | 20 +- drivers/net/wireless/st/cw1200/debug.c | 5 +- drivers/net/wireless/st/cw1200/pm.c | 10 +- drivers/net/wireless/st/cw1200/queue.c | 80 +++--- drivers/net/wireless/st/cw1200/sta.c | 34 ++- drivers/net/wireless/st/cw1200/txrx.c | 77 +++--- drivers/net/wireless/st/cw1200/wsm.c | 5 +- drivers/net/xen-netfront.c | 15 +- drivers/pcmcia/bcm63xx_pcmcia.c | 10 +- drivers/rapidio/devices/tsi721_dma.c | 32 ++- drivers/rapidio/rio_cm.c | 92 ++++--- drivers/s390/block/dasd.c | 38 +-- drivers/s390/block/dasd_ioctl.c | 7 +- drivers/s390/block/dasd_proc.c | 5 +- drivers/s390/char/sclp.c | 5 +- drivers/s390/char/tty3270.c | 40 +-- drivers/s390/char/vmlogrdr.c | 17 +- drivers/s390/cio/cio.c | 5 +- drivers/s390/crypto/ap_bus.c | 64 +++-- drivers/s390/crypto/ap_card.c | 25 +- drivers/s390/crypto/ap_queue.c | 60 +++-- drivers/s390/crypto/pkey_api.c | 22 +- drivers/s390/crypto/zcrypt_api.c | 20 +- drivers/s390/net/netiucv.c | 36 +-- drivers/s390/net/qeth_l2_main.c | 10 +- drivers/s390/net/qeth_l3_main.c | 65 +++-- drivers/s390/net/qeth_l3_sys.c | 25 +- drivers/s390/net/smsgiucv.c | 10 +- drivers/s390/net/smsgiucv_app.c | 5 +- drivers/s390/scsi/zfcp_fc.c | 5 +- drivers/s390/scsi/zfcp_sysfs.c | 7 +- drivers/scsi/be2iscsi/be_main.c | 51 ++-- drivers/scsi/bnx2fc/bnx2fc_els.c | 36 +-- drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 58 +++-- drivers/scsi/bnx2fc/bnx2fc_hwi.c | 20 +- drivers/scsi/bnx2fc/bnx2fc_io.c | 67 ++--- drivers/scsi/bnx2fc/bnx2fc_tgt.c | 21 +- drivers/scsi/bnx2i/bnx2i.h | 2 +- drivers/scsi/bnx2i/bnx2i_hwi.c | 12 +- drivers/scsi/bnx2i/bnx2i_init.c | 5 +- drivers/scsi/bnx2i/bnx2i_iscsi.c | 59 +++-- drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 27 +- drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 58 +++-- drivers/scsi/cxgbi/libcxgbi.c | 76 +++--- drivers/scsi/fcoe/fcoe.c | 10 +- drivers/scsi/fcoe/fcoe_ctlr.c | 20 +- drivers/scsi/fcoe/fcoe_transport.c | 14 +- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 105 ++++---- drivers/scsi/iscsi_tcp.c | 57 +++-- drivers/scsi/libfc/fc_exch.c | 123 +++++---- drivers/scsi/libfc/fc_fcp.c | 20 +- drivers/scsi/libiscsi.c | 170 ++++++------ drivers/scsi/libiscsi_tcp.c | 10 +- drivers/scsi/qedi/qedi_fw.c | 46 ++-- drivers/scsi/qedi/qedi_main.c | 27 +- drivers/staging/fwserial/fwserial.c | 167 +++++++----- drivers/staging/mt7621-dma/mtk-hsdma.c | 15 +- drivers/staging/rtl8188eu/core/rtw_ap.c | 69 ++--- drivers/staging/rtl8188eu/core/rtw_cmd.c | 17 +- drivers/staging/rtl8188eu/core/rtw_ioctl_set.c | 32 ++- drivers/staging/rtl8188eu/core/rtw_mlme.c | 92 ++++--- drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 37 +-- drivers/staging/rtl8188eu/core/rtw_recv.c | 38 +-- drivers/staging/rtl8188eu/core/rtw_sta_mgt.c | 40 +-- drivers/staging/rtl8188eu/core/rtw_xmit.c | 55 ++-- drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c | 12 +- drivers/staging/rtl8188eu/include/rtw_mlme.h | 4 +- drivers/staging/rtl8188eu/os_dep/ioctl_linux.c | 26 +- drivers/staging/rtl8188eu/os_dep/xmit_linux.c | 12 +- drivers/staging/rtl8723bs/core/rtw_ap.c | 65 +++-- drivers/staging/rtl8723bs/core/rtw_cmd.c | 21 +- drivers/staging/rtl8723bs/core/rtw_debug.c | 12 +- drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 37 +-- drivers/staging/rtl8723bs/core/rtw_mlme.c | 101 ++++---- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 68 ++--- drivers/staging/rtl8723bs/core/rtw_recv.c | 53 ++-- drivers/staging/rtl8723bs/core/rtw_sta_mgt.c | 61 +++-- drivers/staging/rtl8723bs/core/rtw_wlan_util.c | 50 ++-- drivers/staging/rtl8723bs/core/rtw_xmit.c | 95 ++++--- drivers/staging/rtl8723bs/hal/hal_com.c | 2 +- drivers/staging/rtl8723bs/hal/hal_sdio.c | 2 +- drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c | 2 +- drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c | 22 +- drivers/staging/rtl8723bs/hal/sdio_ops.c | 2 +- drivers/staging/rtl8723bs/include/rtw_mlme.h | 4 +- drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 29 ++- drivers/staging/rtl8723bs/os_dep/ioctl_linux.c | 44 ++-- drivers/staging/rtl8723bs/os_dep/mlme_linux.c | 5 +- drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 5 +- drivers/staging/rtlwifi/btcoexist/halbtcoutsrc.c | 5 +- drivers/staging/rtlwifi/core.c | 10 +- drivers/staging/rtlwifi/pci.c | 17 +- drivers/staging/rtlwifi/rtl8822be/hw.c | 22 +- .../vc04_services/interface/vchiq_arm/vchiq_arm.c | 69 ++--- drivers/target/iscsi/cxgbit/cxgbit_cm.c | 41 +-- drivers/target/iscsi/cxgbit/cxgbit_main.c | 17 +- drivers/target/iscsi/cxgbit/cxgbit_target.c | 31 ++- drivers/target/iscsi/iscsi_target.c | 221 +++++++++------- drivers/target/iscsi/iscsi_target_configfs.c | 19 +- drivers/target/iscsi/iscsi_target_erl0.c | 49 ++-- drivers/target/iscsi/iscsi_target_erl1.c | 79 +++--- drivers/target/iscsi/iscsi_target_erl2.c | 18 +- drivers/target/iscsi/iscsi_target_login.c | 68 ++--- drivers/target/iscsi/iscsi_target_nego.c | 60 +++-- drivers/target/iscsi/iscsi_target_nodeattrib.c | 5 +- drivers/target/iscsi/iscsi_target_stat.c | 45 ++-- drivers/target/iscsi/iscsi_target_tmr.c | 30 ++- drivers/target/iscsi/iscsi_target_util.c | 208 ++++++++------- drivers/target/sbp/sbp_target.c | 141 +++++----- drivers/target/target_core_tpg.c | 10 +- drivers/target/target_core_transport.c | 5 +- drivers/target/target_core_user.c | 12 +- drivers/tty/hvc/hvc_iucv.c | 55 ++-- drivers/tty/moxa.c | 21 +- drivers/usb/serial/keyspan_pda.c | 7 +- drivers/vhost/net.c | 5 +- drivers/vhost/vsock.c | 45 ++-- drivers/xen/pvcalls-back.c | 20 +- fs/afs/internal.h | 4 +- fs/afs/rxrpc.c | 5 +- fs/dlm/lowcomms.c | 40 +-- fs/fs-writeback.c | 15 +- fs/jffs2/README.Locking | 2 +- fs/nfs/callback.c | 7 +- fs/ocfs2/cluster/tcp.c | 35 ++- include/asm-generic/hardirq.h | 2 +- include/linux/bottom_half.h | 57 ++++- include/linux/dmaengine.h | 16 +- include/linux/interrupt.h | 82 +++--- include/linux/netdevice.h | 40 ++- include/linux/preempt.h | 11 +- include/linux/ptr_ring.h | 30 ++- include/linux/rcupdate.h | 11 +- include/linux/rhashtable.h | 17 +- include/linux/rwlock.h | 8 +- include/linux/rwlock_api_smp.h | 40 +-- include/linux/seqlock.h | 21 +- include/linux/spinlock.h | 23 +- include/linux/spinlock_api_smp.h | 34 ++- include/linux/spinlock_api_up.h | 18 +- include/linux/u64_stats_sync.h | 2 +- include/linux/xarray.h | 2 +- include/net/arp.h | 10 +- include/net/gen_stats.h | 1 + include/net/ip6_fib.h | 1 + include/net/mac80211.h | 15 +- include/net/ndisc.h | 10 +- include/net/neighbour.h | 1 + include/net/netfilter/nf_log.h | 4 +- include/net/netrom.h | 9 +- include/net/ping.h | 1 + include/net/pkt_cls.h | 6 +- include/net/request_sock.h | 5 +- include/net/sch_generic.h | 19 +- include/net/snmp.h | 10 +- include/net/sock.h | 17 +- include/net/tcp.h | 9 +- include/net/udp.h | 1 + include/target/iscsi/iscsi_target_core.h | 2 +- kernel/bpf/btf.c | 5 +- kernel/bpf/core.c | 10 +- kernel/bpf/cpumap.c | 5 +- kernel/bpf/local_storage.c | 34 ++- kernel/bpf/reuseport_array.c | 32 ++- kernel/bpf/sockmap.c | 93 ++++--- kernel/bpf/syscall.c | 30 ++- kernel/cgroup/cgroup.c | 15 +- kernel/irq/manage.c | 5 +- kernel/locking/spinlock.c | 41 +-- kernel/padata.c | 20 +- kernel/rcu/rcuperf.c | 2 +- kernel/rcu/rcutorture.c | 19 +- kernel/rcu/srcutiny.c | 5 +- kernel/rcu/srcutree.c | 5 +- kernel/rcu/tiny.c | 5 +- kernel/rcu/tree_plugin.h | 12 +- kernel/rcu/update.c | 5 +- kernel/softirq.c | 164 +++++++++--- kernel/time/hrtimer.c | 5 +- kernel/trace/ring_buffer.c | 2 +- kernel/trace/trace.c | 2 +- lib/locking-selftest.c | 8 +- lib/rhashtable.c | 12 +- mm/backing-dev.c | 22 +- mm/page-writeback.c | 10 +- net/6lowpan/debugfs.c | 25 +- net/6lowpan/iphc.c | 23 +- net/6lowpan/ndisc.c | 12 +- net/6lowpan/nhc.c | 31 ++- net/802/garp.c | 19 +- net/802/mrp.c | 19 +- net/802/psnap.c | 10 +- net/appletalk/aarp.c | 48 ++-- net/appletalk/atalk_proc.c | 6 +- net/appletalk/ddp.c | 65 +++-- net/atm/clip.c | 5 +- net/atm/mpc.c | 5 +- net/atm/mpoa_caches.c | 41 +-- net/ax25/af_ax25.c | 26 +- net/ax25/ax25_dev.c | 24 +- net/ax25/ax25_iface.c | 53 ++-- net/ax25/ax25_out.c | 7 +- net/ax25/ax25_route.c | 33 ++- net/ax25/ax25_subr.c | 5 +- net/batman-adv/bat_iv_ogm.c | 51 ++-- net/batman-adv/bridge_loop_avoidance.c | 70 ++--- net/batman-adv/distributed-arp-table.c | 5 +- net/batman-adv/fragmentation.c | 10 +- net/batman-adv/gateway_client.c | 20 +- net/batman-adv/hash.h | 4 +- net/batman-adv/icmp_socket.c | 17 +- net/batman-adv/log.c | 12 +- net/batman-adv/multicast.c | 37 +-- net/batman-adv/network-coding.c | 37 +-- net/batman-adv/originator.c | 62 +++-- net/batman-adv/routing.c | 22 +- net/batman-adv/send.c | 21 +- net/batman-adv/soft-interface.c | 10 +- net/batman-adv/tp_meter.c | 67 +++-- net/batman-adv/translation-table.c | 158 +++++++----- net/batman-adv/tvlv.c | 25 +- net/bluetooth/hci_core.c | 5 +- net/bridge/br.c | 13 +- net/bridge/br_device.c | 5 +- net/bridge/br_fdb.c | 65 +++-- net/bridge/br_if.c | 20 +- net/bridge/br_ioctl.c | 9 +- net/bridge/br_mdb.c | 15 +- net/bridge/br_multicast.c | 47 ++-- net/bridge/br_netlink.c | 24 +- net/bridge/br_stp.c | 20 +- net/bridge/br_stp_if.c | 25 +- net/bridge/br_sysfs_br.c | 5 +- net/bridge/br_sysfs_if.c | 9 +- net/bridge/br_vlan.c | 5 +- net/bridge/netfilter/ebt_limit.c | 7 +- net/bridge/netfilter/ebt_log.c | 5 +- net/bridge/netfilter/ebtables.c | 32 ++- net/caif/caif_dev.c | 21 +- net/caif/caif_socket.c | 5 +- net/caif/cfctrl.c | 40 +-- net/caif/cfmuxl.c | 30 ++- net/can/gw.c | 5 +- net/core/datagram.c | 10 +- net/core/dev.c | 51 ++-- net/core/dev_addr_lists.c | 51 ++-- net/core/gen_estimator.c | 9 +- net/core/gen_stats.c | 8 +- net/core/link_watch.c | 5 +- net/core/neighbour.c | 175 +++++++------ net/core/net-procfs.c | 5 +- net/core/net_namespace.c | 31 ++- net/core/netpoll.c | 5 +- net/core/pktgen.c | 23 +- net/core/request_sock.c | 7 +- net/core/rtnetlink.c | 15 +- net/core/skbuff.c | 5 +- net/core/sock.c | 52 ++-- net/core/sock_reuseport.c | 26 +- net/dcb/dcbnl.c | 54 ++-- net/dccp/input.c | 5 +- net/dccp/ipv4.c | 5 +- net/dccp/minisocks.c | 10 +- net/dccp/proto.c | 5 +- net/decnet/af_decnet.c | 20 +- net/decnet/dn_fib.c | 20 +- net/decnet/dn_route.c | 56 ++-- net/decnet/dn_table.c | 27 +- net/hsr/hsr_device.c | 7 +- net/ieee802154/6lowpan/tx.c | 5 +- net/ieee802154/socket.c | 25 +- net/ipv4/af_inet.c | 10 +- net/ipv4/arp.c | 10 +- net/ipv4/cipso_ipv4.c | 19 +- net/ipv4/esp4.c | 19 +- net/ipv4/fib_frontend.c | 5 +- net/ipv4/fib_semantics.c | 20 +- net/ipv4/icmp.c | 10 +- net/ipv4/igmp.c | 82 +++--- net/ipv4/inet_connection_sock.c | 28 +- net/ipv4/inet_diag.c | 5 +- net/ipv4/inet_fragment.c | 5 +- net/ipv4/inet_hashtables.c | 30 ++- net/ipv4/inet_timewait_sock.c | 5 +- net/ipv4/inetpeer.c | 5 +- net/ipv4/ip_output.c | 7 +- net/ipv4/ipmr.c | 36 +-- net/ipv4/ipmr_base.c | 17 +- net/ipv4/netfilter/arp_tables.c | 10 +- net/ipv4/netfilter/ip_tables.c | 10 +- net/ipv4/netfilter/ipt_CLUSTERIP.c | 21 +- net/ipv4/netfilter/nf_defrag_ipv4.c | 5 +- net/ipv4/netfilter/nf_log_arp.c | 5 +- net/ipv4/netfilter/nf_log_ipv4.c | 5 +- net/ipv4/netfilter/nf_nat_snmp_basic_main.c | 5 +- net/ipv4/ping.c | 22 +- net/ipv4/raw.c | 15 +- net/ipv4/route.c | 30 ++- net/ipv4/sysctl_net_ipv4.c | 5 +- net/ipv4/tcp.c | 32 ++- net/ipv4/tcp_input.c | 5 +- net/ipv4/tcp_ipv4.c | 32 ++- net/ipv4/tcp_metrics.c | 20 +- net/ipv4/tcp_minisocks.c | 5 +- net/ipv4/udp.c | 52 ++-- net/ipv4/udp_diag.c | 7 +- net/ipv6/addrconf.c | 240 +++++++++-------- net/ipv6/af_inet6.c | 10 +- net/ipv6/anycast.c | 38 +-- net/ipv6/calipso.c | 19 +- net/ipv6/esp6.c | 14 +- net/ipv6/icmp.c | 10 +- net/ipv6/inet6_hashtables.c | 5 +- net/ipv6/ip6_fib.c | 43 ++-- net/ipv6/ip6_flowlabel.c | 88 ++++--- net/ipv6/ip6_output.c | 12 +- net/ipv6/ip6mr.c | 46 ++-- net/ipv6/ipv6_sockglue.c | 20 +- net/ipv6/mcast.c | 221 +++++++++------- net/ipv6/mip6.c | 15 +- net/ipv6/ndisc.c | 17 +- net/ipv6/netfilter/ip6_tables.c | 10 +- net/ipv6/netfilter/nf_conntrack_reasm.c | 5 +- net/ipv6/netfilter/nf_log_ipv6.c | 5 +- net/ipv6/netfilter/nf_tproxy_ipv6.c | 5 +- net/ipv6/raw.c | 5 +- net/ipv6/route.c | 87 ++++--- net/ipv6/seg6_hmac.c | 5 +- net/ipv6/tcp_ipv6.c | 14 +- net/ipv6/xfrm6_tunnel.c | 15 +- net/iucv/af_iucv.c | 25 +- net/iucv/iucv.c | 70 +++-- net/kcm/kcmproc.c | 10 +- net/kcm/kcmsock.c | 130 ++++++---- net/key/af_key.c | 5 +- net/l2tp/l2tp_core.c | 100 +++++--- net/l2tp/l2tp_debugfs.c | 5 +- net/l2tp/l2tp_ip.c | 34 ++- net/l2tp/l2tp_ip6.c | 29 ++- net/l2tp/l2tp_ppp.c | 10 +- net/lapb/lapb_iface.c | 15 +- net/llc/llc_conn.c | 15 +- net/llc/llc_core.c | 15 +- net/llc/llc_proc.c | 23 +- net/llc/llc_sap.c | 10 +- net/mac80211/agg-rx.c | 5 +- net/mac80211/agg-tx.c | 50 ++-- net/mac80211/cfg.c | 36 +-- net/mac80211/debugfs.c | 5 +- net/mac80211/debugfs_netdev.c | 5 +- net/mac80211/debugfs_sta.c | 5 +- net/mac80211/ht.c | 7 +- net/mac80211/ibss.c | 14 +- net/mac80211/iface.c | 14 +- net/mac80211/main.c | 5 +- net/mac80211/mesh_hwmp.c | 58 +++-- net/mac80211/mesh_pathtbl.c | 37 +-- net/mac80211/mesh_plink.c | 36 +-- net/mac80211/mesh_sync.c | 15 +- net/mac80211/mlme.c | 5 +- net/mac80211/ocb.c | 14 +- net/mac80211/rate.c | 20 +- net/mac80211/rx.c | 25 +- net/mac80211/sta_info.c | 20 +- net/mac80211/tdls.c | 10 +- net/mac80211/tkip.c | 5 +- net/mac80211/tx.c | 55 ++-- net/mac80211/util.c | 5 +- net/mac802154/llsec.c | 43 ++-- net/mpls/internal.h | 10 +- net/netfilter/ipset/ip_set_bitmap_gen.h | 2 +- net/netfilter/ipset/ip_set_core.c | 79 +++--- net/netfilter/ipset/ip_set_hash_gen.h | 21 +- net/netfilter/ipset/ip_set_list_set.c | 5 +- net/netfilter/ipvs/ip_vs_app.c | 5 +- net/netfilter/ipvs/ip_vs_conn.c | 22 +- net/netfilter/ipvs/ip_vs_core.c | 20 +- net/netfilter/ipvs/ip_vs_ctl.c | 40 +-- net/netfilter/ipvs/ip_vs_est.c | 10 +- net/netfilter/ipvs/ip_vs_lblc.c | 10 +- net/netfilter/ipvs/ip_vs_lblcr.c | 18 +- net/netfilter/ipvs/ip_vs_proto_sctp.c | 5 +- net/netfilter/ipvs/ip_vs_proto_tcp.c | 10 +- net/netfilter/ipvs/ip_vs_rr.c | 12 +- net/netfilter/ipvs/ip_vs_sync.c | 48 ++-- net/netfilter/ipvs/ip_vs_wrr.c | 10 +- net/netfilter/ipvs/ip_vs_xmit.c | 18 +- net/netfilter/nf_conncount.c | 10 +- net/netfilter/nf_conntrack_core.c | 46 ++-- net/netfilter/nf_conntrack_ecache.c | 15 +- net/netfilter/nf_conntrack_expect.c | 32 ++- net/netfilter/nf_conntrack_ftp.c | 5 +- net/netfilter/nf_conntrack_h323_main.c | 26 +- net/netfilter/nf_conntrack_helper.c | 10 +- net/netfilter/nf_conntrack_irc.c | 5 +- net/netfilter/nf_conntrack_netlink.c | 38 +-- net/netfilter/nf_conntrack_pptp.c | 5 +- net/netfilter/nf_conntrack_proto_dccp.c | 21 +- net/netfilter/nf_conntrack_proto_gre.c | 27 +- net/netfilter/nf_conntrack_proto_sctp.c | 19 +- net/netfilter/nf_conntrack_proto_tcp.c | 31 ++- net/netfilter/nf_conntrack_sane.c | 5 +- net/netfilter/nf_conntrack_seqadj.c | 10 +- net/netfilter/nf_conntrack_sip.c | 10 +- net/netfilter/nf_log.c | 8 +- net/netfilter/nf_log_common.c | 5 +- net/netfilter/nf_nat_core.c | 10 +- net/netfilter/nf_nat_redirect.c | 5 +- net/netfilter/nf_queue.c | 5 +- net/netfilter/nf_tables_core.c | 5 +- net/netfilter/nfnetlink_log.c | 76 +++--- net/netfilter/nfnetlink_queue.c | 48 ++-- net/netfilter/nft_counter.c | 10 +- net/netfilter/nft_limit.c | 7 +- net/netfilter/nft_meta.c | 13 +- net/netfilter/nft_set_rbtree.c | 32 ++- net/netfilter/x_tables.c | 7 +- net/netfilter/xt_RATEEST.c | 5 +- net/netfilter/xt_dccp.c | 9 +- net/netfilter/xt_hashlimit.c | 18 +- net/netfilter/xt_limit.c | 7 +- net/netfilter/xt_quota.c | 5 +- net/netfilter/xt_recent.c | 35 +-- net/netlink/af_netlink.c | 10 +- net/netrom/af_netrom.c | 32 ++- net/netrom/nr_route.c | 58 +++-- net/nfc/rawsock.c | 15 +- net/openvswitch/datapath.c | 5 +- net/openvswitch/flow.c | 10 +- net/openvswitch/meter.c | 15 +- net/packet/af_packet.c | 34 ++- net/rds/af_rds.c | 20 +- net/rds/tcp.c | 10 +- net/rds/tcp_connect.c | 5 +- net/rds/tcp_listen.c | 15 +- net/rds/tcp_recv.c | 5 +- net/rds/tcp_send.c | 5 +- net/rose/af_rose.c | 32 ++- net/rose/rose_route.c | 73 +++--- net/rxrpc/af_rxrpc.c | 15 +- net/rxrpc/ar-internal.h | 15 +- net/rxrpc/call_accept.c | 17 +- net/rxrpc/call_event.c | 16 +- net/rxrpc/call_object.c | 10 +- net/rxrpc/conn_client.c | 10 +- net/rxrpc/conn_event.c | 12 +- net/rxrpc/conn_object.c | 5 +- net/rxrpc/conn_service.c | 4 +- net/rxrpc/input.c | 15 +- net/rxrpc/output.c | 14 +- net/rxrpc/peer_event.c | 22 +- net/rxrpc/peer_object.c | 10 +- net/rxrpc/recvmsg.c | 31 ++- net/rxrpc/sendmsg.c | 15 +- net/sched/act_bpf.c | 12 +- net/sched/act_csum.c | 12 +- net/sched/act_gact.c | 12 +- net/sched/act_ife.c | 22 +- net/sched/act_ipt.c | 12 +- net/sched/act_mirred.c | 19 +- net/sched/act_nat.c | 5 +- net/sched/act_pedit.c | 14 +- net/sched/act_police.c | 12 +- net/sched/act_sample.c | 12 +- net/sched/act_simple.c | 12 +- net/sched/act_skbmod.c | 12 +- net/sched/act_tunnel_key.c | 12 +- net/sched/act_vlan.c | 12 +- net/sched/cls_route.c | 10 +- net/sched/sch_generic.c | 24 +- net/sched/sch_mq.c | 5 +- net/sched/sch_mqprio.c | 14 +- net/sched/sch_netem.c | 5 +- net/sched/sch_teql.c | 5 +- net/sctp/associola.c | 10 +- net/sctp/input.c | 15 +- net/sctp/ipv6.c | 14 +- net/sctp/proc.c | 5 +- net/sctp/protocol.c | 28 +- net/sctp/sm_make_chunk.c | 9 +- net/sctp/socket.c | 45 ++-- net/smc/af_smc.c | 10 +- net/smc/smc_cdc.c | 10 +- net/smc/smc_core.c | 83 +++--- net/smc/smc_tx.c | 10 +- net/sunrpc/backchannel_rqst.c | 10 +- net/sunrpc/sched.c | 42 +-- net/sunrpc/svc.c | 29 ++- net/sunrpc/svc_xprt.c | 52 ++-- net/sunrpc/svcsock.c | 12 +- net/sunrpc/xprt.c | 60 +++-- net/sunrpc/xprtrdma/backchannel.c | 17 +- net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 5 +- net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +- net/sunrpc/xprtrdma/transport.c | 5 +- net/sunrpc/xprtsock.c | 70 +++-- net/switchdev/switchdev.c | 10 +- net/tipc/bcast.h | 2 +- net/tipc/discover.c | 20 +- net/tipc/monitor.c | 54 ++-- net/tipc/msg.h | 10 +- net/tipc/name_distr.c | 20 +- net/tipc/name_table.c | 71 +++--- net/tipc/node.c | 65 +++-- net/tipc/socket.c | 14 +- net/tipc/topsrv.c | 85 +++--- net/tls/tls_sw.c | 10 +- net/unix/af_unix.c | 10 +- net/vmw_vsock/af_vsock.c | 50 ++-- net/vmw_vsock/diag.c | 5 +- net/vmw_vsock/virtio_transport.c | 36 +-- net/vmw_vsock/virtio_transport_common.c | 44 ++-- net/vmw_vsock/vmci_transport.c | 17 +- net/wireless/mlme.c | 29 ++- net/wireless/nl80211.c | 26 +- net/wireless/reg.c | 19 +- net/wireless/scan.c | 49 ++-- net/x25/af_x25.c | 45 ++-- net/x25/x25_forward.c | 25 +- net/x25/x25_link.c | 30 ++- net/x25/x25_proc.c | 6 +- net/x25/x25_route.c | 25 +- net/xdp/xsk.c | 10 +- net/xfrm/xfrm_input.c | 10 +- net/xfrm/xfrm_ipcomp.c | 7 +- net/xfrm/xfrm_output.c | 7 +- net/xfrm/xfrm_policy.c | 94 ++++--- net/xfrm/xfrm_state.c | 172 ++++++++----- net/xfrm/xfrm_user.c | 15 +- security/selinux/netif.c | 15 +- security/selinux/netnode.c | 12 +- security/selinux/netport.c | 12 +- security/smack/smack_lsm.c | 5 +- sound/pci/asihpi/hpios.h | 2 +- sound/soc/intel/atom/sst/sst_ipc.c | 19 +- sound/soc/omap/ams-delta.c | 10 +- tools/virtio/ringtest/ptr_ring.c | 2 +- 945 files changed, 13857 insertions(+), 9767 deletions(-)