* [PATCH net-next 1/3] net: mvpp2: avoid checking for free aggregated descriptors twice @ 2018-02-26 14:14 Antoine Tenart 2018-02-26 14:14 ` [PATCH net-next 2/3] net: mvpp2: adjust gso stop wake thresholds Antoine Tenart 2018-02-26 14:14 ` [PATCH net-next 3/3] net: mvpp2: align the ethtool ops definition Antoine Tenart 0 siblings, 2 replies; 6+ messages in thread From: Antoine Tenart @ 2018-02-26 14:14 UTC (permalink / raw) To: davem Cc: Yan Markman, mw, stefanc, thomas.petazzoni, gregory.clement, miquel.raynal, nadavh, maxime.chevallier, netdev, linux-kernel, Antoine Tenart From: Yan Markman <ymarkman@marvell.com> Avoid repeating the check for free aggregated descriptors when it already failed at the beginning of the function. Signed-off-by: Yan Markman <ymarkman@marvell.com> [Antoine: commit message] Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> --- drivers/net/ethernet/marvell/mvpp2.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/marvell/mvpp2.c b/drivers/net/ethernet/marvell/mvpp2.c index 5a1668cdb461..55300b1fe6c0 100644 --- a/drivers/net/ethernet/marvell/mvpp2.c +++ b/drivers/net/ethernet/marvell/mvpp2.c @@ -5224,11 +5224,10 @@ static int mvpp2_aggr_desc_num_check(struct mvpp2 *priv, u32 val = mvpp2_read(priv, MVPP2_AGGR_TXQ_STATUS_REG(cpu)); aggr_txq->count = val & MVPP2_AGGR_TXQ_PENDING_MASK; - } - - if ((aggr_txq->count + num) > MVPP2_AGGR_TXQ_SIZE) - return -ENOMEM; + if ((aggr_txq->count + num) > MVPP2_AGGR_TXQ_SIZE) + return -ENOMEM; + } return 0; } -- 2.14.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next 2/3] net: mvpp2: adjust gso stop wake thresholds 2018-02-26 14:14 [PATCH net-next 1/3] net: mvpp2: avoid checking for free aggregated descriptors twice Antoine Tenart @ 2018-02-26 14:14 ` Antoine Tenart 2018-02-27 16:13 ` David Miller 2018-02-26 14:14 ` [PATCH net-next 3/3] net: mvpp2: align the ethtool ops definition Antoine Tenart 1 sibling, 1 reply; 6+ messages in thread From: Antoine Tenart @ 2018-02-26 14:14 UTC (permalink / raw) To: davem Cc: Yan Markman, mw, stefanc, thomas.petazzoni, gregory.clement, miquel.raynal, nadavh, maxime.chevallier, netdev, linux-kernel From: Yan Markman <ymarkman@marvell.com> Adjust MVPP2_MAX_TSO_SEGS and stop_threshold/wake_threshold for better TXQ utilization and performance. Signed-off-by: Yan Markman <ymarkman@marvell.com> --- drivers/net/ethernet/marvell/mvpp2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/marvell/mvpp2.c b/drivers/net/ethernet/marvell/mvpp2.c index 55300b1fe6c0..1a893ef70eab 100644 --- a/drivers/net/ethernet/marvell/mvpp2.c +++ b/drivers/net/ethernet/marvell/mvpp2.c @@ -498,7 +498,7 @@ * skb. As we need a maxium of two descriptors per fragments (1 header, 1 data), * multiply this value by two to count the maximum number of skb descs needed. */ -#define MVPP2_MAX_TSO_SEGS 300 +#define MVPP2_MAX_TSO_SEGS 100 #define MVPP2_MAX_SKB_DESCS (MVPP2_MAX_TSO_SEGS * 2 + MAX_SKB_FRAGS) /* Dfault number of RXQs in use */ @@ -5810,7 +5810,7 @@ static int mvpp2_txq_init(struct mvpp2_port *port, txq_pcpu->tso_headers = NULL; txq_pcpu->stop_threshold = txq->size - MVPP2_MAX_SKB_DESCS; - txq_pcpu->wake_threshold = txq_pcpu->stop_threshold / 2; + txq_pcpu->wake_threshold = txq_pcpu->stop_threshold - 100; txq_pcpu->tso_headers = dma_alloc_coherent(port->dev->dev.parent, -- 2.14.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH net-next 2/3] net: mvpp2: adjust gso stop wake thresholds 2018-02-26 14:14 ` [PATCH net-next 2/3] net: mvpp2: adjust gso stop wake thresholds Antoine Tenart @ 2018-02-27 16:13 ` David Miller 2018-02-27 17:13 ` Antoine Tenart 0 siblings, 1 reply; 6+ messages in thread From: David Miller @ 2018-02-27 16:13 UTC (permalink / raw) To: antoine.tenart Cc: ymarkman, mw, stefanc, thomas.petazzoni, gregory.clement, miquel.raynal, nadavh, maxime.chevallier, netdev, linux-kernel From: Antoine Tenart <antoine.tenart@bootlin.com> Date: Mon, 26 Feb 2018 15:14:26 +0100 > From: Yan Markman <ymarkman@marvell.com> > > Adjust MVPP2_MAX_TSO_SEGS and stop_threshold/wake_threshold > for better TXQ utilization and performance. > > Signed-off-by: Yan Markman <ymarkman@marvell.com> > --- > drivers/net/ethernet/marvell/mvpp2.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/marvell/mvpp2.c b/drivers/net/ethernet/marvell/mvpp2.c > index 55300b1fe6c0..1a893ef70eab 100644 > --- a/drivers/net/ethernet/marvell/mvpp2.c > +++ b/drivers/net/ethernet/marvell/mvpp2.c > @@ -498,7 +498,7 @@ > * skb. As we need a maxium of two descriptors per fragments (1 header, 1 data), > * multiply this value by two to count the maximum number of skb descs needed. > */ > -#define MVPP2_MAX_TSO_SEGS 300 > +#define MVPP2_MAX_TSO_SEGS 100 > #define MVPP2_MAX_SKB_DESCS (MVPP2_MAX_TSO_SEGS * 2 + MAX_SKB_FRAGS) > > /* Dfault number of RXQs in use */ > @@ -5810,7 +5810,7 @@ static int mvpp2_txq_init(struct mvpp2_port *port, > txq_pcpu->tso_headers = NULL; > > txq_pcpu->stop_threshold = txq->size - MVPP2_MAX_SKB_DESCS; > - txq_pcpu->wake_threshold = txq_pcpu->stop_threshold / 2; > + txq_pcpu->wake_threshold = txq_pcpu->stop_threshold - 100; > This number 100 is a magic constant. If it is related to MVPP2_MAX_TSO_SEGS, please use that define. Otherwise define a new one which is descriptive. Thank you. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH net-next 2/3] net: mvpp2: adjust gso stop wake thresholds 2018-02-27 16:13 ` David Miller @ 2018-02-27 17:13 ` Antoine Tenart 2018-02-27 17:48 ` Yan Markman 0 siblings, 1 reply; 6+ messages in thread From: Antoine Tenart @ 2018-02-27 17:13 UTC (permalink / raw) To: David Miller Cc: antoine.tenart, ymarkman, mw, stefanc, thomas.petazzoni, gregory.clement, miquel.raynal, nadavh, maxime.chevallier, netdev, linux-kernel Hi David, On Tue, Feb 27, 2018 at 11:13:06AM -0500, David Miller wrote: > From: Antoine Tenart <antoine.tenart@bootlin.com> > > From: Yan Markman <ymarkman@marvell.com> > > -#define MVPP2_MAX_TSO_SEGS 300 > > +#define MVPP2_MAX_TSO_SEGS 100 > > #define MVPP2_MAX_SKB_DESCS (MVPP2_MAX_TSO_SEGS * 2 + MAX_SKB_FRAGS) > > > > /* Dfault number of RXQs in use */ > > @@ -5810,7 +5810,7 @@ static int mvpp2_txq_init(struct mvpp2_port *port, > > txq_pcpu->tso_headers = NULL; > > > > txq_pcpu->stop_threshold = txq->size - MVPP2_MAX_SKB_DESCS; > > - txq_pcpu->wake_threshold = txq_pcpu->stop_threshold / 2; > > + txq_pcpu->wake_threshold = txq_pcpu->stop_threshold - 100; > > > > This number 100 is a magic constant. If it is related to > MVPP2_MAX_TSO_SEGS, please use that define. Otherwise > define a new one which is descriptive. I agree. I'll ask Yan about it and update if possible. Thanks! Antoine -- Antoine Ténart, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH net-next 2/3] net: mvpp2: adjust gso stop wake thresholds 2018-02-27 17:13 ` Antoine Tenart @ 2018-02-27 17:48 ` Yan Markman 0 siblings, 0 replies; 6+ messages in thread From: Yan Markman @ 2018-02-27 17:48 UTC (permalink / raw) To: Antoine Tenart, David Miller Cc: mw, Stefan Chulski, thomas.petazzoni, gregory.clement, miquel.raynal, Nadav Haklai, maxime.chevallier, netdev, linux-kernel I will make this tomorrow. Thanks for attention! Best regards Yan Markman Tel. 05-44732819 -----Original Message----- From: Antoine Tenart [mailto:antoine.tenart@bootlin.com] Sent: Tuesday, February 27, 2018 7:14 PM To: David Miller <davem@davemloft.net> Cc: antoine.tenart@bootlin.com; Yan Markman <ymarkman@marvell.com>; mw@semihalf.com; Stefan Chulski <stefanc@marvell.com>; thomas.petazzoni@free-electrons.com; gregory.clement@free-electrons.com; miquel.raynal@free-electrons.com; Nadav Haklai <nadavh@marvell.com>; maxime.chevallier@bootlin.com; netdev@vger.kernel.org; linux-kernel@vger.kernel.org Subject: Re: [PATCH net-next 2/3] net: mvpp2: adjust gso stop wake thresholds Hi David, On Tue, Feb 27, 2018 at 11:13:06AM -0500, David Miller wrote: > From: Antoine Tenart <antoine.tenart@bootlin.com> > > From: Yan Markman <ymarkman@marvell.com> > > -#define MVPP2_MAX_TSO_SEGS 300 > > +#define MVPP2_MAX_TSO_SEGS 100 > > #define MVPP2_MAX_SKB_DESCS (MVPP2_MAX_TSO_SEGS * 2 + MAX_SKB_FRAGS) > > > > /* Dfault number of RXQs in use */ > > @@ -5810,7 +5810,7 @@ static int mvpp2_txq_init(struct mvpp2_port *port, > > txq_pcpu->tso_headers = NULL; > > > > txq_pcpu->stop_threshold = txq->size - MVPP2_MAX_SKB_DESCS; > > - txq_pcpu->wake_threshold = txq_pcpu->stop_threshold / 2; > > + txq_pcpu->wake_threshold = txq_pcpu->stop_threshold - 100; > > > > This number 100 is a magic constant. If it is related to > MVPP2_MAX_TSO_SEGS, please use that define. Otherwise define a new > one which is descriptive. I agree. I'll ask Yan about it and update if possible. Thanks! Antoine -- Antoine Ténart, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH net-next 3/3] net: mvpp2: align the ethtool ops definition 2018-02-26 14:14 [PATCH net-next 1/3] net: mvpp2: avoid checking for free aggregated descriptors twice Antoine Tenart 2018-02-26 14:14 ` [PATCH net-next 2/3] net: mvpp2: adjust gso stop wake thresholds Antoine Tenart @ 2018-02-26 14:14 ` Antoine Tenart 1 sibling, 0 replies; 6+ messages in thread From: Antoine Tenart @ 2018-02-26 14:14 UTC (permalink / raw) To: davem Cc: Antoine Tenart, mw, stefanc, ymarkman, thomas.petazzoni, gregory.clement, miquel.raynal, nadavh, maxime.chevallier, netdev, linux-kernel Cosmetic patch to align the ethtool functions to ops definitions. This patch does not change in any way the driver's behaviour. Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> --- drivers/net/ethernet/marvell/mvpp2.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/net/ethernet/marvell/mvpp2.c b/drivers/net/ethernet/marvell/mvpp2.c index 1a893ef70eab..babbb1ceba2a 100644 --- a/drivers/net/ethernet/marvell/mvpp2.c +++ b/drivers/net/ethernet/marvell/mvpp2.c @@ -7435,18 +7435,18 @@ static const struct net_device_ops mvpp2_netdev_ops = { }; static const struct ethtool_ops mvpp2_eth_tool_ops = { - .nway_reset = phy_ethtool_nway_reset, - .get_link = ethtool_op_get_link, - .set_coalesce = mvpp2_ethtool_set_coalesce, - .get_coalesce = mvpp2_ethtool_get_coalesce, - .get_drvinfo = mvpp2_ethtool_get_drvinfo, - .get_ringparam = mvpp2_ethtool_get_ringparam, - .set_ringparam = mvpp2_ethtool_set_ringparam, - .get_strings = mvpp2_ethtool_get_strings, - .get_ethtool_stats = mvpp2_ethtool_get_stats, - .get_sset_count = mvpp2_ethtool_get_sset_count, - .get_link_ksettings = phy_ethtool_get_link_ksettings, - .set_link_ksettings = phy_ethtool_set_link_ksettings, + .nway_reset = phy_ethtool_nway_reset, + .get_link = ethtool_op_get_link, + .set_coalesce = mvpp2_ethtool_set_coalesce, + .get_coalesce = mvpp2_ethtool_get_coalesce, + .get_drvinfo = mvpp2_ethtool_get_drvinfo, + .get_ringparam = mvpp2_ethtool_get_ringparam, + .set_ringparam = mvpp2_ethtool_set_ringparam, + .get_strings = mvpp2_ethtool_get_strings, + .get_ethtool_stats = mvpp2_ethtool_get_stats, + .get_sset_count = mvpp2_ethtool_get_sset_count, + .get_link_ksettings = phy_ethtool_get_link_ksettings, + .set_link_ksettings = phy_ethtool_set_link_ksettings, }; /* Used for PPv2.1, or PPv2.2 with the old Device Tree binding that -- 2.14.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-02-27 17:48 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-02-26 14:14 [PATCH net-next 1/3] net: mvpp2: avoid checking for free aggregated descriptors twice Antoine Tenart 2018-02-26 14:14 ` [PATCH net-next 2/3] net: mvpp2: adjust gso stop wake thresholds Antoine Tenart 2018-02-27 16:13 ` David Miller 2018-02-27 17:13 ` Antoine Tenart 2018-02-27 17:48 ` Yan Markman 2018-02-26 14:14 ` [PATCH net-next 3/3] net: mvpp2: align the ethtool ops definition Antoine Tenart
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).