* Re: [PATCH net-next 1/3] gianfar: Remove 'maybe-uninitialized' compile warning
From: David Miller @ 2013-03-21 16:02 UTC (permalink / raw)
To: claudiu.manoil; +Cc: netdev
In-Reply-To: <1363871535-29612-1-git-send-email-claudiu.manoil@freescale.com>
From: Claudiu Manoil <claudiu.manoil@freescale.com>
Date: Thu, 21 Mar 2013 15:12:13 +0200
> Warning message:
> warning: 'budget_per_q' may be used uninitialized in this function
>
> budget_per_q won't be used uninitialized since the only time
> it doesn't get initialized is when entering gfar_poll with
> num_act_queues == 0, meaning rstat_rxf == 0, in which case
> budget_per_q is not utilized (as it has no meaning).
> Inititalize budget_per_q to 0 though to suppress this compile
> warning.
>
> Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Applied.
^ permalink raw reply
* Re: pull request: wireless-next 2013-03-20
From: David Miller @ 2013-03-21 16:00 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, netdev
In-Reply-To: <20130320201040.GA8895@tuxdriver.com>
From: "John W. Linville" <linville@tuxdriver.com>
Date: Wed, 20 Mar 2013 16:10:41 -0400
> Dave,
>
> This is a big pull request for new features intended for the 3.10
> stream...
...
> git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git for-davem
Pulled, thanks John.
^ permalink raw reply
* Re: [BUGFIX PATCH] net: ethernet: cpsw: fix erroneous condition in error check
From: David Miller @ 2013-03-21 15:57 UTC (permalink / raw)
To: mugunthanvnm; +Cc: LW, richardcochran, netdev, linux-kernel
In-Reply-To: <514AFDD5.9020608@ti.com>
From: Mugunthan V N <mugunthanvnm@ti.com>
Date: Thu, 21 Mar 2013 18:02:21 +0530
> On 3/21/2013 5:50 PM, Lothar Waßmann wrote:
>> The error check in cpsw_probe_dt() has an '&&' where an '||' is
>> meant to be. This causes a NULL pointer dereference when incomplet DT
>> data is passed to the driver ('phy_id' property for cpsw_emac1
>> missing).
>>
>>
>> Signed-off-by: Lothar Waßmann<LW@KARO-electronics.de>
> Acked-by: Mugunthan V N <mugunthanvnm@ti.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH] net: sh-eth: Use pr_err instead of printk
From: David Miller @ 2013-03-21 15:56 UTC (permalink / raw)
To: horms+renesas
Cc: netdev, linux-sh, devicetree-discuss, magnus.damm,
nobuhiro.iwamatsu.yj
In-Reply-To: <1363855615-30551-1-git-send-email-horms+renesas@verge.net.au>
From: Simon Horman <horms+renesas@verge.net.au>
Date: Thu, 21 Mar 2013 17:46:55 +0900
> From: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
>
> Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH] net: add ETH_P_802_3_MIN
From: David Miller @ 2013-03-21 15:56 UTC (permalink / raw)
To: horms
Cc: netdev, jesse, stefanr, isdn, mchehab, linux1394-devel,
linux-media, dev
In-Reply-To: <1363854568-32228-1-git-send-email-horms@verge.net.au>
From: Simon Horman <horms@verge.net.au>
Date: Thu, 21 Mar 2013 17:29:28 +0900
> Add a new constant ETH_P_802_3_MIN, the minimum ethernet type for
> an 802.3 frame. Frames with a lower value in the ethernet type field
> are Ethernet II.
>
> Also update all the users of this value that I could find to use the
> new constant.
>
> I anticipate adding some more users of this constant when
> adding MPLS support to Open vSwtich.
>
> As suggested by Jesse Gross.
>
> Compile tested only.
>
> Signed-off-by: Simon Horman <horms@verge.net.au>
You missed a few cases:
drivers/media/dvb-core/dvb_net.c: } while (p->ule_sndu_type < 1536);
drivers/media/dvb-core/dvb_net.c: if (priv->ule_sndu_type < 1536) {
net/atm/lec.h: * is less than 1536(0x0600) MUST be encoded by placing that length
drivers/net/wireless/ray_cs.c: if (ntohs(proto) >= 1536) { /* DIX II ethernet frame */
net/bridge/netfilter/ebtables.c: if (FWINV2(ntohs(ethproto) >= 1536, EBT_IPROTO))
include/linux/if_vlan.h: if (ntohs(proto) >= 1536) {
net/bluetooth/bnep/netdev.c: if (proto >= 1536)
net/openvswitch/flow.c: if (ntohs(proto) >= 1536)
net/mac80211/tx.c: } else if (ethertype >= 0x600) {
net/wireless/util.c: } else if (ethertype > 0x600) {
In fact, the last line looks like a bug, it should be >= not >.
Could you take care of these bits and respin your patch?
Thanks!
^ permalink raw reply
* [PATCH net 1/5] net/mlx4_core: Fix wrong mask applied on EQ numbers in the wrapper
From: Or Gerlitz @ 2013-03-21 15:55 UTC (permalink / raw)
To: davem; +Cc: netdev, amirv, jackm, hadarh, Moshe Lazer, Or Gerlitz
In-Reply-To: <1363881355-21137-1-git-send-email-ogerlitz@mellanox.com>
From: Moshe Lazer <moshel@mellanox.com>
Currently the mask is wrongly set in the MAP_EQ wrapper, fix that.
Without the fix any EQ number above 511 is mapped to one below 511.
Signed-off-by: Moshe Lazer <moshel@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx4/eq.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/eq.c b/drivers/net/ethernet/mellanox/mlx4/eq.c
index 251ae2f..8e3123a 100644
--- a/drivers/net/ethernet/mellanox/mlx4/eq.c
+++ b/drivers/net/ethernet/mellanox/mlx4/eq.c
@@ -771,7 +771,7 @@ int mlx4_MAP_EQ_wrapper(struct mlx4_dev *dev, int slave,
struct mlx4_slave_event_eq_info *event_eq =
priv->mfunc.master.slave_state[slave].event_eq;
u32 in_modifier = vhcr->in_modifier;
- u32 eqn = in_modifier & 0x1FF;
+ u32 eqn = in_modifier & 0x3FF;
u64 in_param = vhcr->in_param;
int err = 0;
int i;
--
1.7.1
^ permalink raw reply related
* [PATCH net 0/5] Mellanox Core and Ethernet driver fixes 2013-03-21
From: Or Gerlitz @ 2013-03-21 15:55 UTC (permalink / raw)
To: davem; +Cc: netdev, amirv, jackm, hadarh, Or Gerlitz
Hi Dave,
Here's a batch of mlx4 driver fixes for 3.9, mostly SRIOV/Flow-steering
related. Series done against the net tree as of commit 5a3da1f
"inet: limit length of fragment queue hash table bucket lists
Or.
Hadar Hen Zion (4):
net/mlx4_core: Fix wrong order of flow steering resources removal
net/mlx4_en: Remove ethtool flow steering rules before releasing QPs
net/mlx4_core: Always use 64 bit resource ID when doing lookup
net/mlx4_core: Disallow releasing VF QPs which have steering rules
Moshe Lazer (1):
net/mlx4_core: Fix wrong mask applied on EQ numbers in the wrapper
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 22 +++++-----
drivers/net/ethernet/mellanox/mlx4/eq.c | 2 +-
.../net/ethernet/mellanox/mlx4/resource_tracker.c | 45 +++++++++++++++----
3 files changed, 47 insertions(+), 22 deletions(-)
^ permalink raw reply
* [PATCH net 2/5] net/mlx4_core: Fix wrong order of flow steering resources removal
From: Or Gerlitz @ 2013-03-21 15:55 UTC (permalink / raw)
To: davem; +Cc: netdev, amirv, jackm, hadarh, Or Gerlitz
In-Reply-To: <1363881355-21137-1-git-send-email-ogerlitz@mellanox.com>
From: Hadar Hen Zion <hadarh@mellanox.com>
On the resource tracker cleanup flow, the DMFS rules must be deleted before we
destroy the QPs, else the HW may attempt doing packet steering to non existent QPs.
Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
---
.../net/ethernet/mellanox/mlx4/resource_tracker.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
index 2995687..0d1d967 100644
--- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
+++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
@@ -3806,6 +3806,7 @@ void mlx4_delete_all_resources_for_slave(struct mlx4_dev *dev, int slave)
mutex_lock(&priv->mfunc.master.res_tracker.slave_list[slave].mutex);
/*VLAN*/
rem_slave_macs(dev, slave);
+ rem_slave_fs_rule(dev, slave);
rem_slave_qps(dev, slave);
rem_slave_srqs(dev, slave);
rem_slave_cqs(dev, slave);
@@ -3814,6 +3815,5 @@ void mlx4_delete_all_resources_for_slave(struct mlx4_dev *dev, int slave)
rem_slave_mtts(dev, slave);
rem_slave_counters(dev, slave);
rem_slave_xrcdns(dev, slave);
- rem_slave_fs_rule(dev, slave);
mutex_unlock(&priv->mfunc.master.res_tracker.slave_list[slave].mutex);
}
--
1.7.1
^ permalink raw reply related
* [PATCH net 3/5] net/mlx4_en: Remove ethtool flow steering rules before releasing QPs
From: Or Gerlitz @ 2013-03-21 15:55 UTC (permalink / raw)
To: davem; +Cc: netdev, amirv, jackm, hadarh, Or Gerlitz
In-Reply-To: <1363881355-21137-1-git-send-email-ogerlitz@mellanox.com>
From: Hadar Hen Zion <hadarh@mellanox.com>
Fix the ethtool flow steering rules cleanup to be carried out before
releasing the RX QPs.
Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index 995d4b6..f278b10 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -1637,6 +1637,17 @@ void mlx4_en_stop_port(struct net_device *dev, int detach)
/* Flush multicast filter */
mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, 0, 1, MLX4_MCAST_CONFIG);
+ /* Remove flow steering rules for the port*/
+ if (mdev->dev->caps.steering_mode ==
+ MLX4_STEERING_MODE_DEVICE_MANAGED) {
+ ASSERT_RTNL();
+ list_for_each_entry_safe(flow, tmp_flow,
+ &priv->ethtool_list, list) {
+ mlx4_flow_detach(mdev->dev, flow->id);
+ list_del(&flow->list);
+ }
+ }
+
mlx4_en_destroy_drop_qp(priv);
/* Free TX Rings */
@@ -1657,17 +1668,6 @@ void mlx4_en_stop_port(struct net_device *dev, int detach)
if (!(mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAGS2_REASSIGN_MAC_EN))
mdev->mac_removed[priv->port] = 1;
- /* Remove flow steering rules for the port*/
- if (mdev->dev->caps.steering_mode ==
- MLX4_STEERING_MODE_DEVICE_MANAGED) {
- ASSERT_RTNL();
- list_for_each_entry_safe(flow, tmp_flow,
- &priv->ethtool_list, list) {
- mlx4_flow_detach(mdev->dev, flow->id);
- list_del(&flow->list);
- }
- }
-
/* Free RX Rings */
for (i = 0; i < priv->rx_ring_num; i++) {
mlx4_en_deactivate_rx_ring(priv, &priv->rx_ring[i]);
--
1.7.1
^ permalink raw reply related
* [PATCH net 4/5] net/mlx4_core: Always use 64 bit resource ID when doing lookup
From: Or Gerlitz @ 2013-03-21 15:55 UTC (permalink / raw)
To: davem; +Cc: netdev, amirv, jackm, hadarh, Or Gerlitz
In-Reply-To: <1363881355-21137-1-git-send-email-ogerlitz@mellanox.com>
From: Hadar Hen Zion <hadarh@mellanox.com>
One of the resource tracker code paths was wrongly using int and not u64
for resource tracking IDs, fix it.
Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
---
.../net/ethernet/mellanox/mlx4/resource_tracker.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
index 0d1d967..b0ccdb5 100644
--- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
+++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
@@ -355,7 +355,7 @@ static int mpt_mask(struct mlx4_dev *dev)
return dev->caps.num_mpts - 1;
}
-static void *find_res(struct mlx4_dev *dev, int res_id,
+static void *find_res(struct mlx4_dev *dev, u64 res_id,
enum mlx4_resource type)
{
struct mlx4_priv *priv = mlx4_priv(dev);
--
1.7.1
^ permalink raw reply related
* [PATCH net 5/5] net/mlx4_core: Disallow releasing VF QPs which have steering rules
From: Or Gerlitz @ 2013-03-21 15:55 UTC (permalink / raw)
To: davem; +Cc: netdev, amirv, jackm, hadarh, Or Gerlitz
In-Reply-To: <1363881355-21137-1-git-send-email-ogerlitz@mellanox.com>
From: Hadar Hen Zion <hadarh@mellanox.com>
VF QPs must not be released when they have steering rules attached to them.
For that end, introduce a reference count field to the QP object in the
SRIOV resource tracker which is incremented/decremented when steering rules
are attached/detached to it. QPs can be released by VF only when their
ref count is zero.
Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
---
.../net/ethernet/mellanox/mlx4/resource_tracker.c | 41 ++++++++++++++++----
1 files changed, 33 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
index b0ccdb5..1391b52 100644
--- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
+++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
@@ -99,6 +99,7 @@ struct res_qp {
struct list_head mcg_list;
spinlock_t mcg_spl;
int local_qpn;
+ atomic_t ref_count;
};
enum res_mtt_states {
@@ -197,6 +198,7 @@ enum res_fs_rule_states {
struct res_fs_rule {
struct res_common com;
+ int qpn;
};
static void *res_tracker_lookup(struct rb_root *root, u64 res_id)
@@ -447,6 +449,7 @@ static struct res_common *alloc_qp_tr(int id)
ret->local_qpn = id;
INIT_LIST_HEAD(&ret->mcg_list);
spin_lock_init(&ret->mcg_spl);
+ atomic_set(&ret->ref_count, 0);
return &ret->com;
}
@@ -554,7 +557,7 @@ static struct res_common *alloc_xrcdn_tr(int id)
return &ret->com;
}
-static struct res_common *alloc_fs_rule_tr(u64 id)
+static struct res_common *alloc_fs_rule_tr(u64 id, int qpn)
{
struct res_fs_rule *ret;
@@ -564,7 +567,7 @@ static struct res_common *alloc_fs_rule_tr(u64 id)
ret->com.res_id = id;
ret->com.state = RES_FS_RULE_ALLOCATED;
-
+ ret->qpn = qpn;
return &ret->com;
}
@@ -602,7 +605,7 @@ static struct res_common *alloc_tr(u64 id, enum mlx4_resource type, int slave,
ret = alloc_xrcdn_tr(id);
break;
case RES_FS_RULE:
- ret = alloc_fs_rule_tr(id);
+ ret = alloc_fs_rule_tr(id, extra);
break;
default:
return NULL;
@@ -671,10 +674,14 @@ undo:
static int remove_qp_ok(struct res_qp *res)
{
- if (res->com.state == RES_QP_BUSY)
+ if (res->com.state == RES_QP_BUSY || atomic_read(&res->ref_count) ||
+ !list_empty(&res->mcg_list)) {
+ pr_err("resource tracker: fail to remove qp, state %d, ref_count %d\n",
+ res->com.state, atomic_read(&res->ref_count));
return -EBUSY;
- else if (res->com.state != RES_QP_RESERVED)
+ } else if (res->com.state != RES_QP_RESERVED) {
return -EPERM;
+ }
return 0;
}
@@ -3124,6 +3131,7 @@ int mlx4_QP_FLOW_STEERING_ATTACH_wrapper(struct mlx4_dev *dev, int slave,
struct list_head *rlist = &tracker->slave_list[slave].res_list[RES_MAC];
int err;
int qpn;
+ struct res_qp *rqp;
struct mlx4_net_trans_rule_hw_ctrl *ctrl;
struct _rule_hw *rule_header;
int header_id;
@@ -3134,7 +3142,7 @@ int mlx4_QP_FLOW_STEERING_ATTACH_wrapper(struct mlx4_dev *dev, int slave,
ctrl = (struct mlx4_net_trans_rule_hw_ctrl *)inbox->buf;
qpn = be32_to_cpu(ctrl->qpn) & 0xffffff;
- err = get_res(dev, slave, qpn, RES_QP, NULL);
+ err = get_res(dev, slave, qpn, RES_QP, &rqp);
if (err) {
pr_err("Steering rule with qpn 0x%x rejected.\n", qpn);
return err;
@@ -3175,14 +3183,16 @@ int mlx4_QP_FLOW_STEERING_ATTACH_wrapper(struct mlx4_dev *dev, int slave,
if (err)
goto err_put;
- err = add_res_range(dev, slave, vhcr->out_param, 1, RES_FS_RULE, 0);
+ err = add_res_range(dev, slave, vhcr->out_param, 1, RES_FS_RULE, qpn);
if (err) {
mlx4_err(dev, "Fail to add flow steering resources.\n ");
/* detach rule*/
mlx4_cmd(dev, vhcr->out_param, 0, 0,
MLX4_QP_FLOW_STEERING_DETACH, MLX4_CMD_TIME_CLASS_A,
MLX4_CMD_NATIVE);
+ goto err_put;
}
+ atomic_inc(&rqp->ref_count);
err_put:
put_res(dev, slave, qpn, RES_QP);
return err;
@@ -3195,20 +3205,35 @@ int mlx4_QP_FLOW_STEERING_DETACH_wrapper(struct mlx4_dev *dev, int slave,
struct mlx4_cmd_info *cmd)
{
int err;
+ struct res_qp *rqp;
+ struct res_fs_rule *rrule;
if (dev->caps.steering_mode !=
MLX4_STEERING_MODE_DEVICE_MANAGED)
return -EOPNOTSUPP;
+ err = get_res(dev, slave, vhcr->in_param, RES_FS_RULE, &rrule);
+ if (err)
+ return err;
+ /* Release the rule form busy state before removal */
+ put_res(dev, slave, vhcr->in_param, RES_FS_RULE);
+ err = get_res(dev, slave, rrule->qpn, RES_QP, &rqp);
+ if (err)
+ return err;
+
err = rem_res_range(dev, slave, vhcr->in_param, 1, RES_FS_RULE, 0);
if (err) {
mlx4_err(dev, "Fail to remove flow steering resources.\n ");
- return err;
+ goto out;
}
err = mlx4_cmd(dev, vhcr->in_param, 0, 0,
MLX4_QP_FLOW_STEERING_DETACH, MLX4_CMD_TIME_CLASS_A,
MLX4_CMD_NATIVE);
+ if (!err)
+ atomic_dec(&rqp->ref_count);
+out:
+ put_res(dev, slave, rrule->qpn, RES_QP);
return err;
}
--
1.7.1
^ permalink raw reply related
* Re: [PATCH] lantiq_etop: use free_netdev(netdev) instead of kfree()
From: David Miller @ 2013-03-21 15:50 UTC (permalink / raw)
To: weiyj.lk; +Cc: jiri, wfp5p, jdmason, gregkh, yongjun_wei, netdev
In-Reply-To: <CAPgLHd8S_MBawcZQNKvKXBWes6bg=1y32GT_UYs215htg3AkZQ@mail.gmail.com>
From: Wei Yongjun <weiyj.lk@gmail.com>
Date: Thu, 21 Mar 2013 15:31:42 +0800
> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>
> Freeing netdev without free_netdev() leads to net, tx leaks.
> And it may lead to dereferencing freed pointer.
>
> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH] net: remove redundant ifdef CONFIG_CGROUPS
From: David Miller @ 2013-03-21 15:49 UTC (permalink / raw)
To: lizefan; +Cc: nhorman, linux-kernel, netdev
In-Reply-To: <514A767B.7000307@huawei.com>
From: Li Zefan <lizefan@huawei.com>
Date: Thu, 21 Mar 2013 10:54:51 +0800
> The cgroup code has been surrounded by ifdef CONFIG_NET_CLS_CGROUP
> and CONFIG_NETPRIO_CGROUP.
>
> Signed-off-by: Li Zefan <lizefan@huawei.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH v2 1/3 net-next] tcp: refactor F-RTO
From: David Miller @ 2013-03-21 15:48 UTC (permalink / raw)
To: ycheng; +Cc: ncardwell, edumazet, nanditad, ilpo.jarvinen, netdev
In-Reply-To: <1363822380-16687-1-git-send-email-ycheng@google.com>
I've given Ilpo more than enough time to give some kind of
even minimal feedback, and he has been silent instead.
So I'm going to apply this series to net-next, thanks a lot
for doing this work!
^ permalink raw reply
* Re: [PATCH net-next] gro: relax ID check in inet_gro_receive()
From: David Miller @ 2013-03-21 15:46 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev, dmitry, eilong, pshelar, hkchu, maze
In-Reply-To: <1363841553.3333.47.camel@edumazet-glaptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 20 Mar 2013 21:52:33 -0700
> GRE TSO support doesn't increment the ID in the inner IP header.
Is this a fundamental limitation of doing TSO over GRO or
were the Broadcom folks just being lazy with their firmware
implementation?
I really don't want to apply this patch, because ipv4 frames
even with DF set should have an incrementing ID field, in
order to accomodate various header compression schemes.
We go out of our way to do this for normal unencapsulated TCP stream
packets, rather than set the ID field to zero (which we did for some
time until the compression issue was pointed out to us).
^ permalink raw reply
* Re: [PATCH net-next] filter: add minimal BPF JIT image disassembler
From: David Miller @ 2013-03-21 15:36 UTC (permalink / raw)
To: dborkman; +Cc: netdev
In-Reply-To: <1363817507-7499-1-git-send-email-dborkman@redhat.com>
From: Daniel Borkmann <dborkman@redhat.com>
Date: Wed, 20 Mar 2013 23:11:47 +0100
> This is a minimal stand-alone user space helper, that allows for debugging or
> verification of emitted BPF JIT images. This is in particular useful for
> emitted opcode debugging, since minor bugs in the JIT compiler can be fatal.
> The disassembler is architecture generic and uses libopcodes and libbfd.
...
> Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
> ---
> I have added a 'net' target for current and future misc tools. I decided not
> to add an extra man-page, since it's just a very small helper, with an option
> -o, that is accessible through -h, nothing more. Let me know if that's okay
> for you, thanks.
>
> v1 -> v2: change location of file from scripts/ to tools/net/
> v2 -> v3: add a Makefile and 'net' target under tools
Applied, thanks Daniel.
^ permalink raw reply
* Re: [PATCH] net: reduce net_rx_action() latency to 2 HZ
From: Eric Dumazet @ 2013-03-21 15:27 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: David Miller, netdev, stable, Willy Tarreau, Tom Herbert
In-Reply-To: <CAP=VYLrvXREA=HGnnUCi2N77yRdktQDop1PpzJkveXDihJ3DOw@mail.gmail.com>
On Thu, 2013-03-21 at 11:03 -0400, Paul Gortmaker wrote:
> [CC'ing stable & Willy - for the older releases not fed by
> http://patchwork.ozlabs.org/bundle/davem/stable/ ]
>
> On Tue, Mar 5, 2013 at 12:15 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> > From: Eric Dumazet <edumazt@google.com>
> >
> > We should use time_after_eq() to get maximum latency of two ticks,
> > instead of three.
> >
> > Bug added in commit 24f8b2385 (net: increase receive packet quantum)
>
> I'm not sure what applications would notice the extra tick, but 24f8b takes
> us back to 2.6.29. It cherry picks cleanly onto 2.6.34, so it probably also
> does the same for Willy's 2.6.32 longterm too.
>
> Commit is now mainline d114a3338747255518 - v3.9-rc3~36^2~34.
BQL (Bytes Queue Limit) relies on TX completion being run often, and
Qdisc being serviced often as well. If net_rx_action() hogs the cpu,
net_tx_action() is delayed and NIC can stall.
I wrote this patch because I was investigating a regression when a
Google application began using BQL enabled kernels.
About the latency in itself, following commit is way more interesting.
commit c10d73671ad30f5 (softirq: reduce latencies)
As without it, I could trigger more than 50ms latencies for the poor
user thread interrupted by softirq processing.
^ permalink raw reply
* Re: [PATCH] net: fix *_DIAG_MAX constants
From: Thomas Graf @ 2013-03-21 15:25 UTC (permalink / raw)
To: David Miller
Cc: avagin, linux-kernel, netdev, xemul, edumazet, paulmck, dhowells
In-Reply-To: <20130321.111437.2012746070698745131.davem@davemloft.net>
On 03/21/13 at 11:14am, David Miller wrote:
> So you're ACK'ing a patch that makes changes to files that don't even
> exist in the repository?
I have been ACK'ing the patch in the context of the previous
patch that I reviewed in the first place which in summary is
now OK. But you are obviously right that a fixed version of
the initial patch should be submitted instead.
^ permalink raw reply
* Re: [BUG NFQUEUE] NFQUEUE readers get -PERM from sys_sendto() if !root
From: Holger Eitzenberger @ 2013-03-21 15:19 UTC (permalink / raw)
To: netfilter-devel, netdev, Eric W. Biederman
In-Reply-To: <20130321143643.GH13505@imap.eitzenberger.org>
Turns out that this is some broken interaction with some
internal patches. Sorry for the noise.
/Holger
^ permalink raw reply
* Re: [PATCH] net: fix *_DIAG_MAX constants
From: David Miller @ 2013-03-21 15:14 UTC (permalink / raw)
To: tgraf; +Cc: avagin, linux-kernel, netdev, xemul, edumazet, paulmck, dhowells
In-Reply-To: <20130321144218.GF9046@casper.infradead.org>
From: Thomas Graf <tgraf@suug.ch>
Date: Thu, 21 Mar 2013 14:42:18 +0000
> On 03/21/13 at 06:18pm, Andrey Vagin wrote:
>> Follow the common pattern and define *_DIAG_MAX like:
>>
>> [...]
>> __XXX_DIAG_MAX,
>> };
>>
>> Because everyone is used to do:
>>
>> struct nlattr *attrs[XXX_DIAG_MAX+1];
>>
>> nla_parse([...], XXX_DIAG_MAX, [...]
>>
>> Reported-by: Thomas Graf <tgraf@suug.ch>
>> Cc: "David S. Miller" <davem@davemloft.net>
>> Cc: Pavel Emelyanov <xemul@parallels.com>
>> Cc: Eric Dumazet <edumazet@google.com>
>> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
>> Cc: David Howells <dhowells@redhat.com>
>> Signed-off-by: Andrey Vagin <avagin@openvz.org>
>
> Acked-by: Thomas Graf <tgraf@suug.ch>
So you're ACK'ing a patch that makes changes to files that don't even
exist in the repository?
Andrey, post a clean patch against 'net' that fixes these constants
for existing code, don't just assume that your original patch set is
applied and post changes relative to that. That's not how we work.
After the bug fix for the existing cases goes in, you have to repost
your original patch set on top of that.
^ permalink raw reply
* Re: [PATCH] net: reduce net_rx_action() latency to 2 HZ
From: Paul Gortmaker @ 2013-03-21 15:03 UTC (permalink / raw)
To: Eric Dumazet; +Cc: David Miller, netdev, stable, Willy Tarreau
In-Reply-To: <1362503713.15793.121.camel@edumazet-glaptop>
[CC'ing stable & Willy - for the older releases not fed by
http://patchwork.ozlabs.org/bundle/davem/stable/ ]
On Tue, Mar 5, 2013 at 12:15 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> From: Eric Dumazet <edumazt@google.com>
>
> We should use time_after_eq() to get maximum latency of two ticks,
> instead of three.
>
> Bug added in commit 24f8b2385 (net: increase receive packet quantum)
I'm not sure what applications would notice the extra tick, but 24f8b takes
us back to 2.6.29. It cherry picks cleanly onto 2.6.34, so it probably also
does the same for Willy's 2.6.32 longterm too.
Commit is now mainline d114a3338747255518 - v3.9-rc3~36^2~34.
Paul.
--
>
> Signed-off-by: Eric Dumazet <edumazt@google.com>
> ---
> net/core/dev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/core/dev.c b/net/core/dev.c
> index 18d8b5a..461b315 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -4107,7 +4107,7 @@ static void net_rx_action(struct softirq_action *h)
> * Allow this to run for 2 jiffies since which will allow
> * an average latency of 1.5/HZ.
> */
> - if (unlikely(budget <= 0 || time_after(jiffies, time_limit)))
> + if (unlikely(budget <= 0 || time_after_eq(jiffies, time_limit)))
> goto softnet_break;
>
> local_irq_enable();
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [resent x2][iputils][patch 01-07] setuid/capabilities fixups
From: David Miller @ 2013-03-21 14:59 UTC (permalink / raw)
To: yumkam; +Cc: netdev
In-Reply-To: <kieres$l3m$1@ger.gmane.org>
Well, if you don't CC the iputils maintainer, your patch is less
likely to get looked at.
^ permalink raw reply
* Re: [PATCH net-next] gro: relax ID check in inet_gro_receive()
From: David Miller @ 2013-03-21 14:56 UTC (permalink / raw)
To: maze; +Cc: eric.dumazet, netdev, dmitry, eilong, pshelar, hkchu
In-Reply-To: <CANP3RGfWh1PVavxd-5gy1KvocgRiTNcm-bYZ=aMG6N6vPgyWnw@mail.gmail.com>
From: Maciej Żenczykowski <maze@google.com>
Date: Thu, 21 Mar 2013 02:59:49 -0700
> TCP packets are DF.
> AFAICT, the IP identifier field does not really serve a useful purpose
> for non-fragment-ed/able packets.
Not incrementing it by one each frame breaks serial line TCP header
compression.
^ permalink raw reply
* Re: [PATCH 2/2] thermal: shorten too long mcast group name
From: David Miller @ 2013-03-21 14:53 UTC (permalink / raw)
To: yamato; +Cc: netdev
In-Reply-To: <20130321.164623.197949072785579777.yamato@redhat.com>
From: Masatake YAMATO <yamato@redhat.com>
Date: Thu, 21 Mar 2013 16:46:23 +0900 (JST)
>> From: Masatake YAMATO <yamato@redhat.com>
>> Date: Tue, 19 Mar 2013 20:47:28 +0900
>>
>>> The original name is too long.
>>>
>>> Signed-off-by: Masatake YAMATO <yamato@redhat.com>
>>
>> This change needs to go in via the Thermal driver maintainers.
>
> Thanks. I've submitted the patch to linux-acpi ML.
I already applied the patch to my tree, didn't you read
the rest of this thread?
And in the future, order your patches such that you fix the bug before
adding the assertion.
^ permalink raw reply
* Re: [PATCH] net: fix *_DIAG_MAX constants
From: Thomas Graf @ 2013-03-21 14:42 UTC (permalink / raw)
To: Andrey Vagin
Cc: linux-kernel, netdev, David S. Miller, Pavel Emelyanov,
Eric Dumazet, Paul E. McKenney, David Howells
In-Reply-To: <1363875500-14574-1-git-send-email-avagin@openvz.org>
On 03/21/13 at 06:18pm, Andrey Vagin wrote:
> Follow the common pattern and define *_DIAG_MAX like:
>
> [...]
> __XXX_DIAG_MAX,
> };
>
> Because everyone is used to do:
>
> struct nlattr *attrs[XXX_DIAG_MAX+1];
>
> nla_parse([...], XXX_DIAG_MAX, [...]
>
> Reported-by: Thomas Graf <tgraf@suug.ch>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Pavel Emelyanov <xemul@parallels.com>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
> Cc: David Howells <dhowells@redhat.com>
> Signed-off-by: Andrey Vagin <avagin@openvz.org>
Acked-by: Thomas Graf <tgraf@suug.ch>
^ permalink raw reply
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