* [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection @ 2015-10-27 11:41 Kevin Traynor 2015-10-27 11:50 ` Bruce Richardson 2015-10-27 13:56 ` Mcnamara, John 0 siblings, 2 replies; 7+ messages in thread From: Kevin Traynor @ 2015-10-27 11:41 UTC (permalink / raw) To: dev Simple and vector are different tx code paths. If vector is selected, change logging from: PMD: ixgbe_set_tx_function(): Using simple tx code path PMD: ixgbe_set_tx_function(): Vector tx enabled. to: PMD: ixgbe_set_tx_function(): Using vector tx code path or, if simple selected: PMD: ixgbe_set_tx_function(): Using simple tx code path The dangling else in the #ifdef makes readability difficult, so resolving in way that seems most readable. Signed-off-by: Kevin Traynor <kevin.traynor@intel.com> --- drivers/net/ixgbe/ixgbe_rxtx.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c index a598a72..11d7feb 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/ixgbe/ixgbe_rxtx.c @@ -1963,16 +1963,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq) /* Use a simple Tx queue (no offloads, no multi segs) if possible */ if (((txq->txq_flags & IXGBE_SIMPLE_FLAGS) == IXGBE_SIMPLE_FLAGS) && (txq->tx_rs_thresh >= RTE_PMD_IXGBE_TX_MAX_BURST)) { - PMD_INIT_LOG(DEBUG, "Using simple tx code path"); #ifdef RTE_IXGBE_INC_VECTOR if (txq->tx_rs_thresh <= RTE_IXGBE_TX_MAX_FREE_BUF_SZ && (rte_eal_process_type() != RTE_PROC_PRIMARY || ixgbe_txq_vec_setup(txq) == 0)) { - PMD_INIT_LOG(DEBUG, "Vector tx enabled."); + PMD_INIT_LOG(DEBUG, "Using vector tx code path"); dev->tx_pkt_burst = ixgbe_xmit_pkts_vec; } else #endif - dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; + { + PMD_INIT_LOG(DEBUG, "Using simple tx code path"); + dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; + } } else { PMD_INIT_LOG(DEBUG, "Using full-featured tx code path"); PMD_INIT_LOG(DEBUG, -- 1.7.4.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection 2015-10-27 11:41 [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection Kevin Traynor @ 2015-10-27 11:50 ` Bruce Richardson 2015-10-27 12:12 ` Ananyev, Konstantin 2015-10-27 13:56 ` Mcnamara, John 1 sibling, 1 reply; 7+ messages in thread From: Bruce Richardson @ 2015-10-27 11:50 UTC (permalink / raw) To: Kevin Traynor; +Cc: dev On Tue, Oct 27, 2015 at 11:41:08AM +0000, Kevin Traynor wrote: > Simple and vector are different tx code paths. If vector > is selected, change logging from: > PMD: ixgbe_set_tx_function(): Using simple tx code path > PMD: ixgbe_set_tx_function(): Vector tx enabled. > > to: > PMD: ixgbe_set_tx_function(): Using vector tx code path > > or, if simple selected: > PMD: ixgbe_set_tx_function(): Using simple tx code path > > The dangling else in the #ifdef makes readability difficult, > so resolving in way that seems most readable. > > Signed-off-by: Kevin Traynor <kevin.traynor@intel.com> > --- > drivers/net/ixgbe/ixgbe_rxtx.c | 8 +++++--- > 1 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c > index a598a72..11d7feb 100644 > --- a/drivers/net/ixgbe/ixgbe_rxtx.c > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c > @@ -1963,16 +1963,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq) > /* Use a simple Tx queue (no offloads, no multi segs) if possible */ > if (((txq->txq_flags & IXGBE_SIMPLE_FLAGS) == IXGBE_SIMPLE_FLAGS) > && (txq->tx_rs_thresh >= RTE_PMD_IXGBE_TX_MAX_BURST)) { > - PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > #ifdef RTE_IXGBE_INC_VECTOR > if (txq->tx_rs_thresh <= RTE_IXGBE_TX_MAX_FREE_BUF_SZ && > (rte_eal_process_type() != RTE_PROC_PRIMARY || > ixgbe_txq_vec_setup(txq) == 0)) { > - PMD_INIT_LOG(DEBUG, "Vector tx enabled."); > + PMD_INIT_LOG(DEBUG, "Using vector tx code path"); > dev->tx_pkt_burst = ixgbe_xmit_pkts_vec; > } else > #endif > - dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > + { > + PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > + dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > + } > } else { > PMD_INIT_LOG(DEBUG, "Using full-featured tx code path"); > PMD_INIT_LOG(DEBUG, > -- > 1.7.4.1 > Hi Kevin, can I suggest a slight alternative here that might help make things easier. Instead of printing the message as we pick the code path, why not have a "logmsg" pointer variable that is assigned in the code, and then print out the log path at the end. This would have a number of advantages: 1. there are no issues with changing our mind, so we can assign one path type, and then later change it to something different without cluttering up the debug output with the history of our code's flow. 2. it means that you don't have a problem with smaller else legs as you can easily do multiple assignments in the one line using a comma as: dev->tx_pkt_burst = ixgbe_xmit_pkts_simple, logmsg = "Using simple ..."; Regards, /Bruce ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection 2015-10-27 11:50 ` Bruce Richardson @ 2015-10-27 12:12 ` Ananyev, Konstantin 2015-10-27 12:37 ` Bruce Richardson 2015-10-27 17:31 ` Traynor, Kevin 0 siblings, 2 replies; 7+ messages in thread From: Ananyev, Konstantin @ 2015-10-27 12:12 UTC (permalink / raw) To: Richardson, Bruce, Traynor, Kevin; +Cc: dev > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson > Sent: Tuesday, October 27, 2015 11:50 AM > To: Traynor, Kevin > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection > > On Tue, Oct 27, 2015 at 11:41:08AM +0000, Kevin Traynor wrote: > > Simple and vector are different tx code paths. If vector > > is selected, change logging from: > > PMD: ixgbe_set_tx_function(): Using simple tx code path > > PMD: ixgbe_set_tx_function(): Vector tx enabled. > > > > to: > > PMD: ixgbe_set_tx_function(): Using vector tx code path > > > > or, if simple selected: > > PMD: ixgbe_set_tx_function(): Using simple tx code path > > > > The dangling else in the #ifdef makes readability difficult, > > so resolving in way that seems most readable. > > > > Signed-off-by: Kevin Traynor <kevin.traynor@intel.com> > > --- > > drivers/net/ixgbe/ixgbe_rxtx.c | 8 +++++--- > > 1 files changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c > > index a598a72..11d7feb 100644 > > --- a/drivers/net/ixgbe/ixgbe_rxtx.c > > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c > > @@ -1963,16 +1963,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq) > > /* Use a simple Tx queue (no offloads, no multi segs) if possible */ > > if (((txq->txq_flags & IXGBE_SIMPLE_FLAGS) == IXGBE_SIMPLE_FLAGS) > > && (txq->tx_rs_thresh >= RTE_PMD_IXGBE_TX_MAX_BURST)) { > > - PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > > #ifdef RTE_IXGBE_INC_VECTOR > > if (txq->tx_rs_thresh <= RTE_IXGBE_TX_MAX_FREE_BUF_SZ && > > (rte_eal_process_type() != RTE_PROC_PRIMARY || > > ixgbe_txq_vec_setup(txq) == 0)) { > > - PMD_INIT_LOG(DEBUG, "Vector tx enabled."); > > + PMD_INIT_LOG(DEBUG, "Using vector tx code path"); > > dev->tx_pkt_burst = ixgbe_xmit_pkts_vec; > > } else > > #endif > > - dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > > + { > > + PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > > + dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > > + } > > } else { > > PMD_INIT_LOG(DEBUG, "Using full-featured tx code path"); > > PMD_INIT_LOG(DEBUG, > > -- > > 1.7.4.1 > > > Hi Kevin, > > can I suggest a slight alternative here that might help make things easier. > Instead of printing the message as we pick the code path, why not have a "logmsg" > pointer variable that is assigned in the code, and then print out the log path > at the end. > > This would have a number of advantages: > 1. there are no issues with changing our mind, so we can assign one path type, > and then later change it to something different without cluttering up the debug > output with the history of our code's flow. > 2. it means that you don't have a problem with smaller else legs as you can > easily do multiple assignments in the one line using a comma as: > dev->tx_pkt_burst = ixgbe_xmit_pkts_simple, logmsg = "Using simple ..."; While I like approach with logmsg, please avoid commas here. It will make this peace of code even more hard to read (at least for me). Konstantin > > Regards, > /Bruce ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection 2015-10-27 12:12 ` Ananyev, Konstantin @ 2015-10-27 12:37 ` Bruce Richardson 2015-10-27 17:31 ` Traynor, Kevin 1 sibling, 0 replies; 7+ messages in thread From: Bruce Richardson @ 2015-10-27 12:37 UTC (permalink / raw) To: Ananyev, Konstantin; +Cc: dev On Tue, Oct 27, 2015 at 12:12:39PM +0000, Ananyev, Konstantin wrote: > > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson > > Sent: Tuesday, October 27, 2015 11:50 AM > > To: Traynor, Kevin > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection > > > > On Tue, Oct 27, 2015 at 11:41:08AM +0000, Kevin Traynor wrote: > > > Simple and vector are different tx code paths. If vector > > > is selected, change logging from: > > > PMD: ixgbe_set_tx_function(): Using simple tx code path > > > PMD: ixgbe_set_tx_function(): Vector tx enabled. > > > > > > to: > > > PMD: ixgbe_set_tx_function(): Using vector tx code path > > > > > > or, if simple selected: > > > PMD: ixgbe_set_tx_function(): Using simple tx code path > > > > > > The dangling else in the #ifdef makes readability difficult, > > > so resolving in way that seems most readable. > > > > > > Signed-off-by: Kevin Traynor <kevin.traynor@intel.com> > > > --- > > > drivers/net/ixgbe/ixgbe_rxtx.c | 8 +++++--- > > > 1 files changed, 5 insertions(+), 3 deletions(-) > > > > > > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c > > > index a598a72..11d7feb 100644 > > > --- a/drivers/net/ixgbe/ixgbe_rxtx.c > > > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c > > > @@ -1963,16 +1963,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq) > > > /* Use a simple Tx queue (no offloads, no multi segs) if possible */ > > > if (((txq->txq_flags & IXGBE_SIMPLE_FLAGS) == IXGBE_SIMPLE_FLAGS) > > > && (txq->tx_rs_thresh >= RTE_PMD_IXGBE_TX_MAX_BURST)) { > > > - PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > > > #ifdef RTE_IXGBE_INC_VECTOR > > > if (txq->tx_rs_thresh <= RTE_IXGBE_TX_MAX_FREE_BUF_SZ && > > > (rte_eal_process_type() != RTE_PROC_PRIMARY || > > > ixgbe_txq_vec_setup(txq) == 0)) { > > > - PMD_INIT_LOG(DEBUG, "Vector tx enabled."); > > > + PMD_INIT_LOG(DEBUG, "Using vector tx code path"); > > > dev->tx_pkt_burst = ixgbe_xmit_pkts_vec; > > > } else > > > #endif > > > - dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > > > + { > > > + PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > > > + dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > > > + } > > > } else { > > > PMD_INIT_LOG(DEBUG, "Using full-featured tx code path"); > > > PMD_INIT_LOG(DEBUG, > > > -- > > > 1.7.4.1 > > > > > Hi Kevin, > > > > can I suggest a slight alternative here that might help make things easier. > > Instead of printing the message as we pick the code path, why not have a "logmsg" > > pointer variable that is assigned in the code, and then print out the log path > > at the end. > > > > This would have a number of advantages: > > 1. there are no issues with changing our mind, so we can assign one path type, > > and then later change it to something different without cluttering up the debug > > output with the history of our code's flow. > > 2. it means that you don't have a problem with smaller else legs as you can > > easily do multiple assignments in the one line using a comma as: > > dev->tx_pkt_burst = ixgbe_xmit_pkts_simple, logmsg = "Using simple ..."; > > While I like approach with logmsg, please avoid commas here. > It will make this peace of code even more hard to read (at least for me). > Konstantin > Sure, it's a matter of taste. I'd much prefer a single line with commas to the awkwardness above trying to manage braces around an ifdef. I'll leave it to Kevin to see what he comes up with. :-) /Bruce ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection 2015-10-27 12:12 ` Ananyev, Konstantin 2015-10-27 12:37 ` Bruce Richardson @ 2015-10-27 17:31 ` Traynor, Kevin 2015-10-28 10:54 ` Bruce Richardson 1 sibling, 1 reply; 7+ messages in thread From: Traynor, Kevin @ 2015-10-27 17:31 UTC (permalink / raw) To: Ananyev, Konstantin, Richardson, Bruce; +Cc: dev > -----Original Message----- > From: Ananyev, Konstantin > Sent: Tuesday, October 27, 2015 12:13 PM > To: Richardson, Bruce; Traynor, Kevin > Cc: dev@dpdk.org > Subject: RE: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path > selection > > > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson > > Sent: Tuesday, October 27, 2015 11:50 AM > > To: Traynor, Kevin > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code > path selection > > > > On Tue, Oct 27, 2015 at 11:41:08AM +0000, Kevin Traynor wrote: > > > Simple and vector are different tx code paths. If vector > > > is selected, change logging from: > > > PMD: ixgbe_set_tx_function(): Using simple tx code path > > > PMD: ixgbe_set_tx_function(): Vector tx enabled. > > > > > > to: > > > PMD: ixgbe_set_tx_function(): Using vector tx code path > > > > > > or, if simple selected: > > > PMD: ixgbe_set_tx_function(): Using simple tx code path > > > > > > The dangling else in the #ifdef makes readability difficult, > > > so resolving in way that seems most readable. > > > > > > Signed-off-by: Kevin Traynor <kevin.traynor@intel.com> > > > --- > > > drivers/net/ixgbe/ixgbe_rxtx.c | 8 +++++--- > > > 1 files changed, 5 insertions(+), 3 deletions(-) > > > > > > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c > b/drivers/net/ixgbe/ixgbe_rxtx.c > > > index a598a72..11d7feb 100644 > > > --- a/drivers/net/ixgbe/ixgbe_rxtx.c > > > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c > > > @@ -1963,16 +1963,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, > struct ixgbe_tx_queue *txq) > > > /* Use a simple Tx queue (no offloads, no multi segs) if possible */ > > > if (((txq->txq_flags & IXGBE_SIMPLE_FLAGS) == IXGBE_SIMPLE_FLAGS) > > > && (txq->tx_rs_thresh >= RTE_PMD_IXGBE_TX_MAX_BURST)) { > > > - PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > > > #ifdef RTE_IXGBE_INC_VECTOR > > > if (txq->tx_rs_thresh <= RTE_IXGBE_TX_MAX_FREE_BUF_SZ && > > > (rte_eal_process_type() != RTE_PROC_PRIMARY || > > > ixgbe_txq_vec_setup(txq) == 0)) { > > > - PMD_INIT_LOG(DEBUG, "Vector tx enabled."); > > > + PMD_INIT_LOG(DEBUG, "Using vector tx code path"); > > > dev->tx_pkt_burst = ixgbe_xmit_pkts_vec; > > > } else > > > #endif > > > - dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > > > + { > > > + PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > > > + dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > > > + } > > > } else { > > > PMD_INIT_LOG(DEBUG, "Using full-featured tx code path"); > > > PMD_INIT_LOG(DEBUG, > > > -- > > > 1.7.4.1 > > > > > Hi Kevin, > > > > can I suggest a slight alternative here that might help make things easier. > > Instead of printing the message as we pick the code path, why not have a > "logmsg" > > pointer variable that is assigned in the code, and then print out the log > path > > at the end. > > > > This would have a number of advantages: > > 1. there are no issues with changing our mind, so we can assign one path > type, > > and then later change it to something different without cluttering up the > debug > > output with the history of our code's flow. > > 2. it means that you don't have a problem with smaller else legs as you can > > easily do multiple assignments in the one line using a comma as: > > dev->tx_pkt_burst = ixgbe_xmit_pkts_simple, logmsg = "Using simple > ..."; > > While I like approach with logmsg, please avoid commas here. > It will make this peace of code even more hard to read (at least for me). > Konstantin yeah, sure. I agree with changing for 1. I also agree with Konstantin re commas. The code under the dangling else is aligned incorrectly/correctly depending on whether the #ifdef is true or not, so I think adding multiple statements with {} now will make it obvious for the next person who modifies. > > > > > Regards, > > /Bruce ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection 2015-10-27 17:31 ` Traynor, Kevin @ 2015-10-28 10:54 ` Bruce Richardson 0 siblings, 0 replies; 7+ messages in thread From: Bruce Richardson @ 2015-10-28 10:54 UTC (permalink / raw) To: Traynor, Kevin; +Cc: dev On Tue, Oct 27, 2015 at 05:31:59PM +0000, Traynor, Kevin wrote: > > > -----Original Message----- > > From: Ananyev, Konstantin > > Sent: Tuesday, October 27, 2015 12:13 PM > > To: Richardson, Bruce; Traynor, Kevin > > Cc: dev@dpdk.org > > Subject: RE: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path > > selection > > > > > > > > > -----Original Message----- > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson > > > Sent: Tuesday, October 27, 2015 11:50 AM > > > To: Traynor, Kevin > > > Cc: dev@dpdk.org > > > Subject: Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code > > path selection > > > > > > On Tue, Oct 27, 2015 at 11:41:08AM +0000, Kevin Traynor wrote: > > > > Simple and vector are different tx code paths. If vector > > > > is selected, change logging from: > > > > PMD: ixgbe_set_tx_function(): Using simple tx code path > > > > PMD: ixgbe_set_tx_function(): Vector tx enabled. > > > > > > > > to: > > > > PMD: ixgbe_set_tx_function(): Using vector tx code path > > > > > > > > or, if simple selected: > > > > PMD: ixgbe_set_tx_function(): Using simple tx code path > > > > > > > > The dangling else in the #ifdef makes readability difficult, > > > > so resolving in way that seems most readable. > > > > > > > > Signed-off-by: Kevin Traynor <kevin.traynor@intel.com> > > > > --- > > > > drivers/net/ixgbe/ixgbe_rxtx.c | 8 +++++--- > > > > 1 files changed, 5 insertions(+), 3 deletions(-) > > > > > > > > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c > > b/drivers/net/ixgbe/ixgbe_rxtx.c > > > > index a598a72..11d7feb 100644 > > > > --- a/drivers/net/ixgbe/ixgbe_rxtx.c > > > > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c > > > > @@ -1963,16 +1963,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, > > struct ixgbe_tx_queue *txq) > > > > /* Use a simple Tx queue (no offloads, no multi segs) if possible */ > > > > if (((txq->txq_flags & IXGBE_SIMPLE_FLAGS) == IXGBE_SIMPLE_FLAGS) > > > > && (txq->tx_rs_thresh >= RTE_PMD_IXGBE_TX_MAX_BURST)) { > > > > - PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > > > > #ifdef RTE_IXGBE_INC_VECTOR > > > > if (txq->tx_rs_thresh <= RTE_IXGBE_TX_MAX_FREE_BUF_SZ && > > > > (rte_eal_process_type() != RTE_PROC_PRIMARY || > > > > ixgbe_txq_vec_setup(txq) == 0)) { > > > > - PMD_INIT_LOG(DEBUG, "Vector tx enabled."); > > > > + PMD_INIT_LOG(DEBUG, "Using vector tx code path"); > > > > dev->tx_pkt_burst = ixgbe_xmit_pkts_vec; > > > > } else > > > > #endif > > > > - dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > > > > + { > > > > + PMD_INIT_LOG(DEBUG, "Using simple tx code path"); > > > > + dev->tx_pkt_burst = ixgbe_xmit_pkts_simple; > > > > + } > > > > } else { > > > > PMD_INIT_LOG(DEBUG, "Using full-featured tx code path"); > > > > PMD_INIT_LOG(DEBUG, > > > > -- > > > > 1.7.4.1 > > > > > > > Hi Kevin, > > > > > > can I suggest a slight alternative here that might help make things easier. > > > Instead of printing the message as we pick the code path, why not have a > > "logmsg" > > > pointer variable that is assigned in the code, and then print out the log > > path > > > at the end. > > > > > > This would have a number of advantages: > > > 1. there are no issues with changing our mind, so we can assign one path > > type, > > > and then later change it to something different without cluttering up the > > debug > > > output with the history of our code's flow. > > > 2. it means that you don't have a problem with smaller else legs as you can > > > easily do multiple assignments in the one line using a comma as: > > > dev->tx_pkt_burst = ixgbe_xmit_pkts_simple, logmsg = "Using simple > > ..."; > > > > While I like approach with logmsg, please avoid commas here. > > It will make this peace of code even more hard to read (at least for me). > > Konstantin > > yeah, sure. I agree with changing for 1. I also agree with Konstantin re commas. > The code under the dangling else is aligned incorrectly/correctly depending on > whether the #ifdef is true or not, so I think adding multiple statements with {} > now will make it obvious for the next person who modifies. > Final alternative is to have a switch statement at the end of the block for printing based on what the final function selection is. That way there is only a single assignment needed and no awkward braces. :-) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection 2015-10-27 11:41 [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection Kevin Traynor 2015-10-27 11:50 ` Bruce Richardson @ 2015-10-27 13:56 ` Mcnamara, John 1 sibling, 0 replies; 7+ messages in thread From: Mcnamara, John @ 2015-10-27 13:56 UTC (permalink / raw) To: Traynor, Kevin, dev > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Kevin Traynor > Sent: Tuesday, October 27, 2015 11:41 AM > To: dev@dpdk.org > Subject: [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path > selection > > Simple and vector are different tx code paths. If vector is selected, > change logging from: > PMD: ixgbe_set_tx_function(): Using simple tx code path > PMD: ixgbe_set_tx_function(): Vector tx enabled. > > to: > PMD: ixgbe_set_tx_function(): Using vector tx code path > > or, if simple selected: > PMD: ixgbe_set_tx_function(): Using simple tx code path > > The dangling else in the #ifdef makes readability difficult, so resolving > in way that seems most readable. > > Signed-off-by: Kevin Traynor <kevin.traynor@intel.com> Acked-by: John McNamara <john.mcnamara@intel.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-10-28 10:54 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-10-27 11:41 [dpdk-dev] [PATCH] ixgbe: change logging for ixgbe tx code path selection Kevin Traynor 2015-10-27 11:50 ` Bruce Richardson 2015-10-27 12:12 ` Ananyev, Konstantin 2015-10-27 12:37 ` Bruce Richardson 2015-10-27 17:31 ` Traynor, Kevin 2015-10-28 10:54 ` Bruce Richardson 2015-10-27 13:56 ` Mcnamara, John
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).