* [PATCH v2] tipc: initialise addr_trail_end when setting node addresses
From: Chris Packham @ 2019-08-09 0:54 UTC (permalink / raw)
To: jon.maloy, ying.xue, davem
Cc: netdev, tipc-discussion, linux-kernel, Chris Packham
Ensure addr_trail_end is set to jiffies when configuring the node
address. This ensures that we don't treat the initial value of 0 as
being a wrapped. This isn't a problem when using auto-generated node
addresses because the addr_trail_end is updated for the duplicate
address detection phase.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
Changes in v2:
- move setting to tipc_set_node_addr() as suggested
- reword commit message
net/tipc/addr.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/tipc/addr.c b/net/tipc/addr.c
index b88d48d00913..0f1eaed1bd1b 100644
--- a/net/tipc/addr.c
+++ b/net/tipc/addr.c
@@ -75,6 +75,7 @@ void tipc_set_node_addr(struct net *net, u32 addr)
tipc_set_node_id(net, node_id);
}
tn->trial_addr = addr;
+ tn->addr_trial_end = jiffies;
pr_info("32-bit node address hash set to %x\n", addr);
}
--
2.22.0
^ permalink raw reply related
* [PATCH] net: phy: at803x: stop switching phy delay config needlessly
From: André Draszik @ 2019-08-09 0:57 UTC (permalink / raw)
To: linux-kernel
Cc: André Draszik, Andrew Lunn, Florian Fainelli,
Heiner Kallweit, David S. Miller, netdev
This driver does a funny dance disabling and re-enabling
RX and/or TX delays. In any of the RGMII-ID modes, it first
disables the delays, just to re-enable them again right
away. This looks like a needless exercise.
Just enable the respective delays when in any of the
relevant 'id' modes, and disable them otherwise.
Also, remove comments which don't add anything that can't be
seen by looking at the code.
Signed-off-by: André Draszik <git@andred.net>
CC: Andrew Lunn <andrew@lunn.ch>
CC: Florian Fainelli <f.fainelli@gmail.com>
CC: Heiner Kallweit <hkallweit1@gmail.com>
CC: "David S. Miller" <davem@davemloft.net>
CC: netdev@vger.kernel.org
---
drivers/net/phy/at803x.c | 26 ++++++--------------------
1 file changed, 6 insertions(+), 20 deletions(-)
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index 222ccd9ecfce..2ab51f552e92 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -257,35 +257,21 @@ static int at803x_config_init(struct phy_device *phydev)
* after HW reset: RX delay enabled and TX delay disabled
* after SW reset: RX delay enabled, while TX delay retains the
* value before reset.
- *
- * So let's first disable the RX and TX delays in PHY and enable
- * them based on the mode selected (this also takes care of RGMII
- * mode where we expect delays to be disabled)
*/
-
- ret = at803x_disable_rx_delay(phydev);
- if (ret < 0)
- return ret;
- ret = at803x_disable_tx_delay(phydev);
- if (ret < 0)
- return ret;
-
if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID ||
phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) {
- /* If RGMII_ID or RGMII_RXID are specified enable RX delay,
- * otherwise keep it disabled
- */
ret = at803x_enable_rx_delay(phydev);
- if (ret < 0)
- return ret;
+ } else {
+ ret = at803x_disable_rx_delay(phydev);
}
+ if (ret < 0)
+ return ret;
if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID ||
phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) {
- /* If RGMII_ID or RGMII_TXID are specified enable TX delay,
- * otherwise keep it disabled
- */
ret = at803x_enable_tx_delay(phydev);
+ } else {
+ ret = at803x_disable_tx_delay(phydev);
}
return ret;
--
2.20.1
^ permalink raw reply related
* Re: [PATCH v2] dpaa_eth: Use refcount_t for refcount
From: David Miller @ 2019-08-09 0:59 UTC (permalink / raw)
To: hslester96; +Cc: madalin.bucur, netdev, linux-kernel
In-Reply-To: <20190802164759.20135-1-hslester96@gmail.com>
From: Chuhong Yuan <hslester96@gmail.com>
Date: Sat, 3 Aug 2019 00:47:59 +0800
> refcount_t is better for reference counters since its
> implementation can prevent overflows.
> So convert atomic_t ref counters to refcount_t.
>
> Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
> ---
> Changes in v2:
> - Add #include in dpaa_eth.h.
Applied to net-next.
^ permalink raw reply
* Re: [PATCH v2] mkiss: Use refcount_t for refcount
From: David Miller @ 2019-08-09 0:59 UTC (permalink / raw)
To: hslester96; +Cc: netdev, linux-kernel
In-Reply-To: <20190802164821.20189-1-hslester96@gmail.com>
From: Chuhong Yuan <hslester96@gmail.com>
Date: Sat, 3 Aug 2019 00:48:21 +0800
> refcount_t is better for reference counters since its
> implementation can prevent overflows.
> So convert atomic_t ref counters to refcount_t.
>
> Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
> ---
> Changes in v2:
> - Add #include.
Applied to net-next.
^ permalink raw reply
* Re: [PATCH] xen/netback: Reset nr_frags before freeing skb
From: David Miller @ 2019-08-09 1:02 UTC (permalink / raw)
To: ross.lagerwall; +Cc: netdev, xen-devel, paul.durrant, wei.liu
In-Reply-To: <20190805153434.12144-1-ross.lagerwall@citrix.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Mon, 5 Aug 2019 16:34:34 +0100
> At this point nr_frags has been incremented but the frag does not yet
> have a page assigned so freeing the skb results in a crash. Reset
> nr_frags before freeing the skb to prevent this.
>
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Applied and queued up for -stable.
^ permalink raw reply
* Re: [PATCH net-next] net: delete "register" keyword
From: David Miller @ 2019-08-09 1:04 UTC (permalink / raw)
To: adobriyan; +Cc: netdev, lvs-devel
In-Reply-To: <20190805203441.GA24674@avx2>
From: Alexey Dobriyan <adobriyan@gmail.com>
Date: Mon, 5 Aug 2019 23:34:41 +0300
> Delete long obsoleted "register" keyword.
>
> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Applied.
^ permalink raw reply
* Re: [PATCH net-next] net: use "nb" for notifier blocks
From: David Miller @ 2019-08-09 1:05 UTC (permalink / raw)
To: adobriyan; +Cc: netdev, netfilter-devel, linux-sctp, bpf
In-Reply-To: <20190805204331.GA25178@avx2>
From: Alexey Dobriyan <adobriyan@gmail.com>
Date: Mon, 5 Aug 2019 23:43:31 +0300
> Use more pleasant looking
>
> struct notifier_block *nb,
>
> instead of "this".
>
> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Sorry, this is a lot of churn for something that is basically an
opinion of being nicer or less nice.
I actually kind of like "this".
^ permalink raw reply
* Re: [PATCH net 1/2] docs: admin-guide: remove references to IPX and token-ring
From: David Miller @ 2019-08-09 1:07 UTC (permalink / raw)
To: stephen; +Cc: corbet, linux-dog, netdev
In-Reply-To: <20190805223003.13444-1-stephen@networkplumber.org>
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 5 Aug 2019 15:30:02 -0700
> Both IPX and TR have not been supported for a while now.
> Remove them from the /proc/sys/net documentation.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Applied.
^ permalink raw reply
* Re: [PATCH net 2/2] net: docs: replace IPX in tuntap documentation
From: David Miller @ 2019-08-09 1:07 UTC (permalink / raw)
To: stephen; +Cc: corbet, linux-dog, netdev
In-Reply-To: <20190805223003.13444-2-stephen@networkplumber.org>
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 5 Aug 2019 15:30:03 -0700
> IPX is no longer supported, but the example in the documentation
> might useful. Replace it with IPv6.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Applied.
^ permalink raw reply
* Re: [PATCH v2 net-next] selftests: Add l2tp tests
From: David Miller @ 2019-08-09 1:08 UTC (permalink / raw)
To: dsahern; +Cc: netdev, dsahern
In-Reply-To: <20190805224137.15236-1-dsahern@kernel.org>
From: David Ahern <dsahern@kernel.org>
Date: Mon, 5 Aug 2019 15:41:37 -0700
> From: David Ahern <dsahern@gmail.com>
>
> Add IPv4 and IPv6 l2tp tests. Current set is over IP and with
> IPsec.
>
> v2
> - add l2tp.sh to TEST_PROGS in Makefile
>
> Signed-off-by: David Ahern <dsahern@gmail.com>
Applied.
^ permalink raw reply
* Re: [PATCH net-next] net: delete "register" keyword
From: Simon Horman @ 2019-08-09 1:10 UTC (permalink / raw)
To: Alexey Dobriyan; +Cc: davem, netdev, lvs-devel
In-Reply-To: <20190805203441.GA24674@avx2>
On Mon, Aug 05, 2019 at 11:34:41PM +0300, Alexey Dobriyan wrote:
> Delete long obsoleted "register" keyword.
>
> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
> ---
>
> drivers/net/ethernet/apple/bmac.c | 4 ++--
> drivers/net/slip/slhc.c | 30 +++++++++++++++---------------
> net/netfilter/ipvs/ip_vs_ctl.c | 4 ++--
> net/netfilter/ipvs/ip_vs_lblcr.c | 4 ++--
> 4 files changed, 21 insertions(+), 21 deletions(-)
IPVS portion:
Reviewed-by: Simon Horman <horms@verge.net.au>
>
> --- a/drivers/net/ethernet/apple/bmac.c
> +++ b/drivers/net/ethernet/apple/bmac.c
> @@ -815,8 +815,8 @@ static int reverse6[64] = {
> static unsigned int
> crc416(unsigned int curval, unsigned short nxtval)
> {
> - register unsigned int counter, cur = curval, next = nxtval;
> - register int high_crc_set, low_data_set;
> + unsigned int counter, cur = curval, next = nxtval;
> + int high_crc_set, low_data_set;
>
> /* Swap bytes */
> next = ((next & 0x00FF) << 8) | (next >> 8);
> --- a/drivers/net/slip/slhc.c
> +++ b/drivers/net/slip/slhc.c
> @@ -91,8 +91,8 @@ static unsigned short pull16(unsigned char **cpp);
> struct slcompress *
> slhc_init(int rslots, int tslots)
> {
> - register short i;
> - register struct cstate *ts;
> + short i;
> + struct cstate *ts;
> struct slcompress *comp;
>
> if (rslots < 0 || rslots > 255 || tslots < 0 || tslots > 255)
> @@ -206,7 +206,7 @@ pull16(unsigned char **cpp)
> static long
> decode(unsigned char **cpp)
> {
> - register int x;
> + int x;
>
> x = *(*cpp)++;
> if(x == 0){
> @@ -227,14 +227,14 @@ int
> slhc_compress(struct slcompress *comp, unsigned char *icp, int isize,
> unsigned char *ocp, unsigned char **cpp, int compress_cid)
> {
> - register struct cstate *ocs = &(comp->tstate[comp->xmit_oldest]);
> - register struct cstate *lcs = ocs;
> - register struct cstate *cs = lcs->next;
> - register unsigned long deltaS, deltaA;
> - register short changes = 0;
> + struct cstate *ocs = &(comp->tstate[comp->xmit_oldest]);
> + struct cstate *lcs = ocs;
> + struct cstate *cs = lcs->next;
> + unsigned long deltaS, deltaA;
> + short changes = 0;
> int hlen;
> unsigned char new_seq[16];
> - register unsigned char *cp = new_seq;
> + unsigned char *cp = new_seq;
> struct iphdr *ip;
> struct tcphdr *th, *oth;
> __sum16 csum;
> @@ -486,11 +486,11 @@ slhc_compress(struct slcompress *comp, unsigned char *icp, int isize,
> int
> slhc_uncompress(struct slcompress *comp, unsigned char *icp, int isize)
> {
> - register int changes;
> + int changes;
> long x;
> - register struct tcphdr *thp;
> - register struct iphdr *ip;
> - register struct cstate *cs;
> + struct tcphdr *thp;
> + struct iphdr *ip;
> + struct cstate *cs;
> int len, hdrlen;
> unsigned char *cp = icp;
>
> @@ -543,7 +543,7 @@ slhc_uncompress(struct slcompress *comp, unsigned char *icp, int isize)
> switch(changes & SPECIALS_MASK){
> case SPECIAL_I: /* Echoed terminal traffic */
> {
> - register short i;
> + short i;
> i = ntohs(ip->tot_len) - hdrlen;
> thp->ack_seq = htonl( ntohl(thp->ack_seq) + i);
> thp->seq = htonl( ntohl(thp->seq) + i);
> @@ -637,7 +637,7 @@ slhc_uncompress(struct slcompress *comp, unsigned char *icp, int isize)
> int
> slhc_remember(struct slcompress *comp, unsigned char *icp, int isize)
> {
> - register struct cstate *cs;
> + struct cstate *cs;
> unsigned ihl;
>
> unsigned char index;
> --- a/net/netfilter/ipvs/ip_vs_ctl.c
> +++ b/net/netfilter/ipvs/ip_vs_ctl.c
> @@ -262,7 +262,7 @@ static inline unsigned int
> ip_vs_svc_hashkey(struct netns_ipvs *ipvs, int af, unsigned int proto,
> const union nf_inet_addr *addr, __be16 port)
> {
> - register unsigned int porth = ntohs(port);
> + unsigned int porth = ntohs(port);
> __be32 addr_fold = addr->ip;
> __u32 ahash;
>
> @@ -493,7 +493,7 @@ static inline unsigned int ip_vs_rs_hashkey(int af,
> const union nf_inet_addr *addr,
> __be16 port)
> {
> - register unsigned int porth = ntohs(port);
> + unsigned int porth = ntohs(port);
> __be32 addr_fold = addr->ip;
>
> #ifdef CONFIG_IP_VS_IPV6
> --- a/net/netfilter/ipvs/ip_vs_lblcr.c
> +++ b/net/netfilter/ipvs/ip_vs_lblcr.c
> @@ -160,7 +160,7 @@ static void ip_vs_dest_set_eraseall(struct ip_vs_dest_set *set)
> /* get weighted least-connection node in the destination set */
> static inline struct ip_vs_dest *ip_vs_dest_set_min(struct ip_vs_dest_set *set)
> {
> - register struct ip_vs_dest_set_elem *e;
> + struct ip_vs_dest_set_elem *e;
> struct ip_vs_dest *dest, *least;
> int loh, doh;
>
> @@ -209,7 +209,7 @@ static inline struct ip_vs_dest *ip_vs_dest_set_min(struct ip_vs_dest_set *set)
> /* get weighted most-connection node in the destination set */
> static inline struct ip_vs_dest *ip_vs_dest_set_max(struct ip_vs_dest_set *set)
> {
> - register struct ip_vs_dest_set_elem *e;
> + struct ip_vs_dest_set_elem *e;
> struct ip_vs_dest *dest, *most;
> int moh, doh;
>
>
^ permalink raw reply
* Re: [PATCH 1/2] cxgb4: smt: Add lock for atomic_dec_and_test
From: David Miller @ 2019-08-09 1:12 UTC (permalink / raw)
To: hslester96; +Cc: vishal, netdev, linux-kernel
In-Reply-To: <20190806025846.17022-1-hslester96@gmail.com>
From: Chuhong Yuan <hslester96@gmail.com>
Date: Tue, 6 Aug 2019 10:58:46 +0800
> The atomic_dec_and_test() is not safe because it is
> outside of locks.
> Move the locks of t4_smte_free() to its caller,
> cxgb4_smt_release() to protect the atomic decrement.
>
> Fixes: 3bdb376e6944 ("cxgb4: introduce SMT ops to prepare for SMAC rewrite support")
> Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Applied.
^ permalink raw reply
* Re: [PATCH 2/2] cxgb4: smt: Use normal int for refcount
From: David Miller @ 2019-08-09 1:12 UTC (permalink / raw)
To: hslester96; +Cc: vishal, netdev, linux-kernel
In-Reply-To: <20190806025854.17076-1-hslester96@gmail.com>
From: Chuhong Yuan <hslester96@gmail.com>
Date: Tue, 6 Aug 2019 10:58:54 +0800
> All refcount operations are protected by spinlocks now.
> Then the atomic counter can be replaced by a normal int.
>
> This patch depends on PATCH 1/2.
>
> Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Applied.
^ permalink raw reply
* Re: [PATCH net] hv_netvsc: Fix a warning of suspicious RCU usage
From: David Miller @ 2019-08-09 1:13 UTC (permalink / raw)
To: decui
Cc: netdev, haiyangz, sthemmin, sashal, kys, mikelley, linux-hyperv,
linux-kernel, olaf, apw, jasowang, vkuznets, marcelo.cerri
In-Reply-To: <PU1P153MB0169AECABF6094A3E7BEE381BFD50@PU1P153MB0169.APCP153.PROD.OUTLOOK.COM>
From: Dexuan Cui <decui@microsoft.com>
Date: Tue, 6 Aug 2019 05:17:44 +0000
>
> This fixes a warning of "suspicious rcu_dereference_check() usage"
> when nload runs.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Signed-off-by: Dexuan Cui <decui@microsoft.com>
Please resend with appropriate fixes tag.
^ permalink raw reply
* Re: [PATCH net-next v2 1/1] qed: Add new ethtool supported port types based on media.
From: David Miller @ 2019-08-09 1:14 UTC (permalink / raw)
To: rahulv; +Cc: netdev, aelior, mkalderon
In-Reply-To: <20190806065950.19073-1-rahulv@marvell.com>
From: Rahul Verma <rahulv@marvell.com>
Date: Mon, 5 Aug 2019 23:59:50 -0700
> Supported ports in ethtool <eth1> are displayed based on media type.
> For media type fibre and twinaxial, port type is "FIBRE". Media type
> Base-T is "TP" and media KR is "Backplane".
>
> V1->V2:
> Corrected the subject.
>
> Signed-off-by: Rahul Verma <rahulv@marvell.com>
> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
Applied.
^ permalink raw reply
* Re: [net 01/12] net/mlx5e: Use flow keys dissector to parse packets for ARFS
From: Jakub Kicinski @ 2019-08-09 1:15 UTC (permalink / raw)
To: Saeed Mahameed
Cc: David S. Miller, netdev@vger.kernel.org, Maxim Mikityanskiy,
Tariq Toukan
In-Reply-To: <20190808202025.11303-2-saeedm@mellanox.com>
On Thu, 8 Aug 2019 20:22:00 +0000, Saeed Mahameed wrote:
> From: Maxim Mikityanskiy <maximmi@mellanox.com>
>
> The current ARFS code relies on certain fields to be set in the SKB
> (e.g. transport_header) and extracts IP addresses and ports by custom
> code that parses the packet. The necessary SKB fields, however, are not
> always set at that point, which leads to an out-of-bounds access. Use
> skb_flow_dissect_flow_keys() to get the necessary information reliably,
> fix the out-of-bounds access and reuse the code.
The whole series LGTM, FWIW.
I'd be curious to hear which path does not have the skb fully
set up, could you elaborate? (I'm certainly no aRFC expert this
is pure curiosity).
^ permalink raw reply
* RE: [PATCH net] hv_netvsc: Fix a warning of suspicious RCU usage
From: Dexuan Cui @ 2019-08-09 1:16 UTC (permalink / raw)
To: David Miller
Cc: netdev@vger.kernel.org, Haiyang Zhang, Stephen Hemminger,
sashal@kernel.org, KY Srinivasan, Michael Kelley,
linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
olaf@aepfle.de, apw@canonical.com, jasowang@redhat.com, vkuznets,
marcelo.cerri@canonical.com
In-Reply-To: <20190808.181350.1331633709956960086.davem@davemloft.net>
> From: David Miller <davem@davemloft.net>
> Sent: Thursday, August 8, 2019 6:14 PM
> To: Dexuan Cui <decui@microsoft.com>
> Cc: netdev@vger.kernel.org; Haiyang Zhang <haiyangz@microsoft.com>;
> Stephen Hemminger <sthemmin@microsoft.com>; sashal@kernel.org; KY
> Srinivasan <kys@microsoft.com>; Michael Kelley <mikelley@microsoft.com>;
> linux-hyperv@vger.kernel.org; linux-kernel@vger.kernel.org; olaf@aepfle.de;
> apw@canonical.com; jasowang@redhat.com; vkuznets
> <vkuznets@redhat.com>; marcelo.cerri@canonical.com
> Subject: Re: [PATCH net] hv_netvsc: Fix a warning of suspicious RCU usage
>
> From: Dexuan Cui <decui@microsoft.com>
> Date: Tue, 6 Aug 2019 05:17:44 +0000
>
> >
> > This fixes a warning of "suspicious rcu_dereference_check() usage"
> > when nload runs.
> >
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > Signed-off-by: Dexuan Cui <decui@microsoft.com>
>
> Please resend with appropriate fixes tag.
Will do shortly.
Thanks,
-- Dexuan
^ permalink raw reply
* Re: [PATCH v3 net-next 0/3] net: batched receive in GRO path
From: David Miller @ 2019-08-09 1:22 UTC (permalink / raw)
To: ecree; +Cc: netdev, eric.dumazet, linux-net-drivers
In-Reply-To: <c6e2474e-2c8a-5881-86bf-59c66bdfc34f@solarflare.com>
From: Edward Cree <ecree@solarflare.com>
Date: Tue, 6 Aug 2019 14:52:06 +0100
> This series listifies part of GRO processing, in a manner which allows those
> packets which are not GROed (i.e. for which dev_gro_receive returns
> GRO_NORMAL) to be passed on to the listified regular receive path.
> dev_gro_receive() itself is not listified, nor the per-protocol GRO
> callback, since GRO's need to hold packets on lists under napi->gro_hash
> makes keeping the packets on other lists awkward, and since the GRO control
> block state of held skbs can refer only to one 'new' skb at a time.
> Instead, when napi_frags_finish() handles a GRO_NORMAL result, stash the skb
> onto a list in the napi struct, which is received at the end of the napi
> poll or when its length exceeds the (new) sysctl net.core.gro_normal_batch.
>
> Performance figures with this series, collected on a back-to-back pair of
> Solarflare sfn8522-r2 NICs with 120-second NetPerf tests. In the stats,
> sample size n for old and new code is 6 runs each; p is from a Welch t-test.
> Tests were run both with GRO enabled and disabled, the latter simulating
> uncoalesceable packets (e.g. due to IP or TCP options). The receive side
> (which was the device under test) had the NetPerf process pinned to one CPU,
> and the device interrupts pinned to a second CPU. CPU utilisation figures
> (used in cases of line-rate performance) are summed across all CPUs.
> net.core.gro_normal_batch was left at its default value of 8.
...
> The above results are fairly mixed, and in most cases not statistically
> significant. But I think we can roughly conclude that the series
> marginally improves non-GROable throughput, without hurting latency
> (except in the large-payload busy-polling case, which in any case yields
> horrid performance even on net-next (almost triple the latency without
> busy-poll). Also, drivers which, unlike sfc, pass UDP traffic to GRO
> would expect to see a benefit from gaining access to batching.
>
> Changed in v3:
> * gro_normal_batch sysctl now uses SYSCTL_ONE instead of &one
> * removed RFC tags (no comments after a week means no-one objects, right?)
>
> Changed in v2:
> * During busy poll, call gro_normal_list() to receive batched packets
> after each cycle of the napi busy loop. See comments in Patch #3 for
> complications of doing the same in busy_poll_stop().
>
> [1]: Cohen 1959, doi: 10.1080/00401706.1959.10489859
Series applied, thanks Edward.
^ permalink raw reply
* Re: [PATCH v3 38/41] powerpc: convert put_page() to put_user_page*()
From: John Hubbard @ 2019-08-09 1:26 UTC (permalink / raw)
To: Michael Ellerman, Andrew Morton
Cc: Christoph Hellwig, Dan Williams, Dave Chinner, Dave Hansen,
Ira Weiny, Jan Kara, Jason Gunthorpe, Jérôme Glisse,
LKML, amd-gfx, ceph-devel, devel, devel, dri-devel, intel-gfx,
kvm, linux-arm-kernel, linux-block, linux-crypto, linux-fbdev,
linux-fsdevel, linux-media, linux-mm, linux-nfs, linux-rdma,
linux-rpi-kernel, linux-xfs, netdev, rds-devel, sparclinux, x86,
xen-devel, Benjamin Herrenschmidt, Christoph Hellwig,
linuxppc-dev
In-Reply-To: <87k1botdpx.fsf@concordia.ellerman.id.au>
On 8/7/19 10:42 PM, Michael Ellerman wrote:
> Hi John,
>
> john.hubbard@gmail.com writes:
>> diff --git a/arch/powerpc/mm/book3s64/iommu_api.c b/arch/powerpc/mm/book3s64/iommu_api.c
>> index b056cae3388b..e126193ba295 100644
>> --- a/arch/powerpc/mm/book3s64/iommu_api.c
>> +++ b/arch/powerpc/mm/book3s64/iommu_api.c
>> @@ -203,6 +202,7 @@ static void mm_iommu_unpin(struct mm_iommu_table_group_mem_t *mem)
>> {
>> long i;
>> struct page *page = NULL;
>> + bool dirty = false;
>
> I don't think you need that initialisation do you?
>
Nope, it can go. Fixed locally, thanks.
Did you get a chance to look at enough of the other bits to feel comfortable
with the patch, overall?
thanks,
--
John Hubbard
NVIDIA
^ permalink raw reply
* Re: [PATCH net-next] taprio: remove unused variable 'entry_list_policy'
From: Yuehaibing @ 2019-08-09 1:33 UTC (permalink / raw)
To: Vinicius Costa Gomes, David Miller
Cc: jhs, xiyou.wangcong, jiri, linux-kernel, netdev
In-Reply-To: <87mugjtmn7.fsf@intel.com>
On 2019/8/9 4:42, Vinicius Costa Gomes wrote:
> Hi,
>
> David Miller <davem@davemloft.net> writes:
>
>> From: YueHaibing <yuehaibing@huawei.com>
>> Date: Thu, 8 Aug 2019 22:26:23 +0800
>>
>>> net/sched/sch_taprio.c:680:32: warning:
>>> entry_list_policy defined but not used [-Wunused-const-variable=]
>>>
>>> It is not used since commit a3d43c0d56f1 ("taprio: Add
>>> support adding an admin schedule")
>>>
>>> Reported-by: Hulk Robot <hulkci@huawei.com>
>>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
>>
>> This is probably unintentional and a bug, we should be using that
>> policy value to validate that the sched list is indeed a nested
>> attribute.
>
> Removing this policy should be fine.
>
> One of the points of commit (as explained in the commit message)
> a3d43c0d56f1 ("taprio: Add support adding an admin schedule") is that it
> removes support (it now returns "not supported") for schedules using the
> TCA_TAPRIO_ATTR_SCHED_SINGLE_ENTRY attribute (which were never used),
> the parsing of those types of schedules was the only user of this
> policy.
>
>>
>> I'm not applying this without at least a better and clear commit
>> message explaining why we shouldn't be using this policy any more.
>
> YueHaibing may use the text above in the commit message of a new spin of
> this patch if you think it's clear enough.
Thanks, will send v2 with your explanation.
>
>
> Cheers,
> --
> Vinicius
>
> .
>
^ permalink raw reply
* Re: [PATCH 00/17] Networking driver debugfs cleanups
From: David Miller @ 2019-08-09 1:37 UTC (permalink / raw)
To: gregkh; +Cc: netdev
In-Reply-To: <20190806161128.31232-1-gregkh@linuxfoundation.org>
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Tue, 6 Aug 2019 18:11:11 +0200
> There is no need to test the result of any debugfs call anymore. The
> debugfs core warns the user if something fails, and the return value of
> a debugfs call can always be fed back into another debugfs call with no
> problems.
>
> Also, debugfs is for debugging, so if there are problems with debugfs
> (i.e. the system is out of memory) the rest of the kernel should not
> change behavior, so testing for debugfs calls is pointless and not the
> goal of debugfs at all.
>
> This series cleans up a lot of networking drivers and some wimax code
> that was calling debugfs and trying to do something with the return
> value that it didn't need to. Removing this logic makes the code
> smaller, easier to understand, and use less run-time memory in some
> cases, all good things.
>
> The series is against net-next, and have no dependancies between any of
> them if they want to go through any random tree/order. Or, if wanted,
> I can take them through my driver-core tree where other debugfs cleanups
> are being slowly fed during major merge windows.
I applied this without patch #17 which you said you would respin in order
to get rid of the now unused local variable.
Thanks.
^ permalink raw reply
* Re: [PATCH 00/17] Networking driver debugfs cleanups
From: David Miller @ 2019-08-09 1:42 UTC (permalink / raw)
To: gregkh; +Cc: netdev
In-Reply-To: <20190808.183756.2198405327467483431.davem@davemloft.net>
From: David Miller <davem@davemloft.net>
Date: Thu, 08 Aug 2019 18:37:56 -0700 (PDT)
> I applied this without patch #17 which you said you would respin in order
> to get rid of the now unused local variable.
Actually, there is a bunch of fallout still:
drivers/net/wimax/i2400m/debugfs.c: In function ‘i2400m_debugfs_add’:
drivers/net/wimax/i2400m/debugfs.c:192:17: warning: unused variable ‘dev’ [-Wunused-variable]
struct device *dev = i2400m_dev(i2400m);
^~~
drivers/net/wimax/i2400m/usb.c: In function ‘i2400mu_debugfs_add’:
drivers/net/wimax/i2400m/usb.c:375:17: warning: unused variable ‘fd’ [-Wunused-variable]
struct dentry *fd;
^~
drivers/net/wimax/i2400m/usb.c:373:17: warning: unused variable ‘dev’ [-Wunused-variable]
struct device *dev = &i2400mu->usb_iface->dev;
^~~
drivers/net/wimax/i2400m/usb.c:372:6: warning: unused variable ‘result’ [-Wunused-variable]
int result;
^~~~~~
drivers/net/ethernet/intel/i40e/i40e_debugfs.c: In function ‘i40e_dbg_pf_init’:
drivers/net/ethernet/intel/i40e/i40e_debugfs.c:1736:23: warning: unused variable ‘dev’ [-Wunused-variable]
const struct device *dev = &pf->pdev->dev;
^~~
This is with:
[davem@localhost net-next]$ gcc --version
gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[davem@localhost net-next]$
So I'm reverting.
Please respin the series with this stuff fixed, thanks Greg.
^ permalink raw reply
* Re: [PATCH net-next v7 0/6] flow_offload: add indr-block in nf_table_offload
From: David Miller @ 2019-08-09 1:44 UTC (permalink / raw)
To: wenxu; +Cc: jakub.kicinski, pablo, netfilter-devel, netdev
In-Reply-To: <1565140434-8109-1-git-send-email-wenxu@ucloud.cn>
From: wenxu@ucloud.cn
Date: Wed, 7 Aug 2019 09:13:48 +0800
> This series patch make nftables offload support the vlan and
> tunnel device offload through indr-block architecture.
>
> The first four patches mv tc indr block to flow offload and
> rename to flow-indr-block.
> Because the new flow-indr-block can't get the tcf_block
> directly. The fifth patch provide a callback list to get
> flow_block of each subsystem immediately when the device
> register and contain a block.
> The last patch make nf_tables_offload support flow-indr-block.
>
> This version add a mutex lock for add/del flow_indr_block_ing_cb
Series applied, thank you.
^ permalink raw reply
* [PATCH v2 net-next] taprio: remove unused variable 'entry_list_policy'
From: YueHaibing @ 2019-08-09 1:49 UTC (permalink / raw)
To: davem, jhs, xiyou.wangcong, jiri, vinicius.gomes
Cc: linux-kernel, netdev, YueHaibing
In-Reply-To: <20190808142623.69188-1-yuehaibing@huawei.com>
net/sched/sch_taprio.c:680:32: warning:
entry_list_policy defined but not used [-Wunused-const-variable=]
One of the points of commit a3d43c0d56f1 ("taprio: Add support adding
an admin schedule") is that it removes support (it now returns "not
supported") for schedules using the TCA_TAPRIO_ATTR_SCHED_SINGLE_ENTRY
attribute (which were never used), the parsing of those types of schedules
was the only user of this policy. So removing this policy should be fine.
Reported-by: Hulk Robot <hulkci@huawei.com>
Suggested-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
v2: respin commit log using Vinicius's explanation.
---
net/sched/sch_taprio.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c
index c39db50..046fd2c 100644
--- a/net/sched/sch_taprio.c
+++ b/net/sched/sch_taprio.c
@@ -677,10 +677,6 @@ static const struct nla_policy entry_policy[TCA_TAPRIO_SCHED_ENTRY_MAX + 1] = {
[TCA_TAPRIO_SCHED_ENTRY_INTERVAL] = { .type = NLA_U32 },
};
-static const struct nla_policy entry_list_policy[TCA_TAPRIO_SCHED_MAX + 1] = {
- [TCA_TAPRIO_SCHED_ENTRY] = { .type = NLA_NESTED },
-};
-
static const struct nla_policy taprio_policy[TCA_TAPRIO_ATTR_MAX + 1] = {
[TCA_TAPRIO_ATTR_PRIOMAP] = {
.len = sizeof(struct tc_mqprio_qopt)
--
2.7.4
^ permalink raw reply related
* [PATCH net v2] hv_netvsc: Fix a warning of suspicious RCU usage
From: Dexuan Cui @ 2019-08-09 1:58 UTC (permalink / raw)
To: netdev@vger.kernel.org, David S. Miller, Haiyang Zhang,
Stephen Hemminger, Jakub Kicinski
Cc: sashal@kernel.org, KY Srinivasan, Michael Kelley,
linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
olaf@aepfle.de, apw@canonical.com, jasowang@redhat.com, vkuznets,
marcelo.cerri@canonical.com
This fixes a warning of "suspicious rcu_dereference_check() usage"
when nload runs.
Fixes: 776e726bfb34 ("netvsc: fix RCU warning in get_stats")
Signed-off-by: Dexuan Cui <decui@microsoft.com>
---
Changes in v2:
Made the minimal required change.
Added a Fixes tag.
Removed Stephen H.'s Signed-off-by since this is somewhat different from the
v1 from him; if there is any bug in v2, it's all my fault. :-)
drivers/net/hyperv/netvsc_drv.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index f9209594624b..b6357a75712c 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -1240,12 +1240,15 @@ static void netvsc_get_stats64(struct net_device *net,
struct rtnl_link_stats64 *t)
{
struct net_device_context *ndev_ctx = netdev_priv(net);
- struct netvsc_device *nvdev = rcu_dereference_rtnl(ndev_ctx->nvdev);
+ struct netvsc_device *nvdev;
struct netvsc_vf_pcpu_stats vf_tot;
int i;
+ rcu_read_lock();
+
+ nvdev = rcu_dereference(ndev_ctx->nvdev);
if (!nvdev)
- return;
+ goto out;
netdev_stats_to_stats64(t, &net->stats);
@@ -1284,6 +1287,8 @@ static void netvsc_get_stats64(struct net_device *net,
t->rx_packets += packets;
t->multicast += multicast;
}
+out:
+ rcu_read_unlock();
}
static int netvsc_set_mac_addr(struct net_device *ndev, void *p)
--
2.19.1
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox