diff mbox series

[net] ice: Re-organizes reqstd/avail {R,T}XQ check/code for efficiency+readability

Message ID 20210411014530.25060-1-salil.mehta@huawei.com
State Superseded
Headers show
Series [net] ice: Re-organizes reqstd/avail {R,T}XQ check/code for efficiency+readability | expand

Commit Message

Salil Mehta April 11, 2021, 1:45 a.m. UTC
If user has explicitly requested the number of {R,T}XQs, then it is unnecessary
to get the count of already available {R,T}XQs from the PF avail_{r,t}xqs
bitmap. This value will get overriden by user specified value in any case.

This patch does minor re-organization of the code for improving the flow and
readabiltiy. This scope of improvement was found during the review of the ICE
driver code.

FYI, I could not test this change due to unavailability of the hardware. It
would helpful if somebody can test this and provide Tested-by Tag. Many thanks!

Fixes: 11b7551e096d ("ice: Implement ethtool ops for channels")
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>

---
 drivers/net/ethernet/intel/ice/ice_lib.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

-- 
2.17.1

Comments

Tony Nguyen April 12, 2021, 10:40 p.m. UTC | #1
On Sun, 2021-04-11 at 02:45 +0100, Salil Mehta wrote:
> If user has explicitly requested the number of {R,T}XQs, then it is

> unnecessary

> to get the count of already available {R,T}XQs from the PF

> avail_{r,t}xqs

> bitmap. This value will get overriden by user specified value in any 


s/overriden/overridden

> case.

> 

> This patch does minor re-organization of the code for improving the

> flow and

> readabiltiy. This scope of improvement was found during the review of

> the ICE

> driver code.


The changes themselves look ok, but there are some checkpatch issues.
Also, could you include intel-wired-lan@lists.osuosl.org

> FYI, I could not test this change due to unavailability of the

> hardware. It

> would helpful if somebody can test this and provide Tested-by Tag.

> Many thanks!

> 

> Fixes: 11b7551e096d ("ice: Implement ethtool ops for channels")


This commit id doesn't exist.

> Signed-off-by: Salil Mehta <salil.mehta@huawei.com>

> ---

>  drivers/net/ethernet/intel/ice/ice_lib.c | 14 ++++++++------

>  1 file changed, 8 insertions(+), 6 deletions(-)

> 

> diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c

> b/drivers/net/ethernet/intel/ice/ice_lib.c

> index d13c7fc8fb0a..161e8dfe548c 100644

> --- a/drivers/net/ethernet/intel/ice/ice_lib.c

> +++ b/drivers/net/ethernet/intel/ice/ice_lib.c

> @@ -161,12 +161,13 @@ static void ice_vsi_set_num_qs(struct ice_vsi

> *vsi, u16 vf_id)

>  

>  	switch (vsi->type) {

>  	case ICE_VSI_PF:

> -		vsi->alloc_txq = min3(pf->num_lan_msix,

> -				      ice_get_avail_txq_count(pf),

> -				      (u16)num_online_cpus());

>  		if (vsi->req_txq) {

>  			vsi->alloc_txq = vsi->req_txq;

>  			vsi->num_txq = vsi->req_txq;

> +		} else {

> +			vsi->alloc_txq = min3(pf->num_lan_msix,

> +					 ice_get_avail_txq_count(pf),

> +					 (u16)num_online_cpus());


Alignment is incorrect.

>  		}

>  

>  		pf->num_lan_tx = vsi->alloc_txq;

> @@ -175,12 +176,13 @@ static void ice_vsi_set_num_qs(struct ice_vsi

> *vsi, u16 vf_id)

>  		if (!test_bit(ICE_FLAG_RSS_ENA, pf->flags)) {

>  			vsi->alloc_rxq = 1;

>  		} else {

> -			vsi->alloc_rxq = min3(pf->num_lan_msix,

> -					      ice_get_avail_rxq_count(p

> f),

> -					      (u16)num_online_cpus());

>  			if (vsi->req_rxq) {

>  				vsi->alloc_rxq = vsi->req_rxq;

>  				vsi->num_rxq = vsi->req_rxq;

> +			} else {

> +				vsi->alloc_rxq = min3(pf->num_lan_msix,

> +						 ice_get_avail_rxq_coun

> t(pf),

> +						 (u16)num_online_cpus()


Same, alignment is incorrect.

> );

>  			}

>  		}

>
Salil Mehta April 13, 2021, 8:25 a.m. UTC | #2
Hi Anthony,
Thanks for reviewing!

> From: Nguyen, Anthony L [mailto:anthony.l.nguyen@intel.com]

> Sent: Monday, April 12, 2021 11:41 PM

> To: davem@davemloft.net; kuba@kernel.org; Salil Mehta <salil.mehta@huawei.com>

> Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Brandeburg, Jesse

> <jesse.brandeburg@intel.com>; linuxarm@openeuler.org; Tieman, Henry W

> <henry.w.tieman@intel.com>; Linuxarm <linuxarm@huawei.com>

> Subject: Re: [PATCH net] ice: Re-organizes reqstd/avail {R,T}XQ check/code for

> efficiency+readability

> 

> On Sun, 2021-04-11 at 02:45 +0100, Salil Mehta wrote:

> > If user has explicitly requested the number of {R,T}XQs, then it is

> > unnecessary

> > to get the count of already available {R,T}XQs from the PF

> > avail_{r,t}xqs

> > bitmap. This value will get overriden by user specified value in any

> 

> s/overriden/overridden


Ok.

> 

> > case.

> >

> > This patch does minor re-organization of the code for improving the

> > flow and

> > readabiltiy. This scope of improvement was found during the review of

> > the ICE

> > driver code.

> 

> The changes themselves look ok, but there are some checkpatch issues.

> Also, could you include intel-wired-lan@lists.osuosl.org


Sure. will fix them.

> 

> > FYI, I could not test this change due to unavailability of the

> > hardware. It

> > would helpful if somebody can test this and provide Tested-by Tag.

> > Many thanks!

> >

> > Fixes: 11b7551e096d ("ice: Implement ethtool ops for channels")

> 

> This commit id doesn't exist.


Will fix. Sorry about this.

> 

> > Signed-off-by: Salil Mehta <salil.mehta@huawei.com>

> > ---

> >  drivers/net/ethernet/intel/ice/ice_lib.c | 14 ++++++++------

> >  1 file changed, 8 insertions(+), 6 deletions(-)

> >

> > diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c

> > b/drivers/net/ethernet/intel/ice/ice_lib.c

> > index d13c7fc8fb0a..161e8dfe548c 100644

> > --- a/drivers/net/ethernet/intel/ice/ice_lib.c

> > +++ b/drivers/net/ethernet/intel/ice/ice_lib.c

> > @@ -161,12 +161,13 @@ static void ice_vsi_set_num_qs(struct ice_vsi

> > *vsi, u16 vf_id)

> >

> >  	switch (vsi->type) {

> >  	case ICE_VSI_PF:

> > -		vsi->alloc_txq = min3(pf->num_lan_msix,

> > -				      ice_get_avail_txq_count(pf),

> > -				      (u16)num_online_cpus());

> >  		if (vsi->req_txq) {

> >  			vsi->alloc_txq = vsi->req_txq;

> >  			vsi->num_txq = vsi->req_txq;

> > +		} else {

> > +			vsi->alloc_txq = min3(pf->num_lan_msix,

> > +					 ice_get_avail_txq_count(pf),

> > +					 (u16)num_online_cpus());

> 

> Alignment is incorrect.


Ok. Will check, perhaps the cause of the checkpatch.pl errors.

> 

> >  		}

> >

> >  		pf->num_lan_tx = vsi->alloc_txq;

> > @@ -175,12 +176,13 @@ static void ice_vsi_set_num_qs(struct ice_vsi

> > *vsi, u16 vf_id)

> >  		if (!test_bit(ICE_FLAG_RSS_ENA, pf->flags)) {

> >  			vsi->alloc_rxq = 1;

> >  		} else {

> > -			vsi->alloc_rxq = min3(pf->num_lan_msix,

> > -					      ice_get_avail_rxq_count(p

> > f),

> > -					      (u16)num_online_cpus());

> >  			if (vsi->req_rxq) {

> >  				vsi->alloc_rxq = vsi->req_rxq;

> >  				vsi->num_rxq = vsi->req_rxq;

> > +			} else {

> > +				vsi->alloc_rxq = min3(pf->num_lan_msix,

> > +						 ice_get_avail_rxq_coun

> > t(pf),

> > +						 (u16)num_online_cpus()

> 

> Same, alignment is incorrect.


Ok. Will fix.

Thanks
Salil.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
index d13c7fc8fb0a..161e8dfe548c 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -161,12 +161,13 @@  static void ice_vsi_set_num_qs(struct ice_vsi *vsi, u16 vf_id)
 
 	switch (vsi->type) {
 	case ICE_VSI_PF:
-		vsi->alloc_txq = min3(pf->num_lan_msix,
-				      ice_get_avail_txq_count(pf),
-				      (u16)num_online_cpus());
 		if (vsi->req_txq) {
 			vsi->alloc_txq = vsi->req_txq;
 			vsi->num_txq = vsi->req_txq;
+		} else {
+			vsi->alloc_txq = min3(pf->num_lan_msix,
+					 ice_get_avail_txq_count(pf),
+					 (u16)num_online_cpus());
 		}
 
 		pf->num_lan_tx = vsi->alloc_txq;
@@ -175,12 +176,13 @@  static void ice_vsi_set_num_qs(struct ice_vsi *vsi, u16 vf_id)
 		if (!test_bit(ICE_FLAG_RSS_ENA, pf->flags)) {
 			vsi->alloc_rxq = 1;
 		} else {
-			vsi->alloc_rxq = min3(pf->num_lan_msix,
-					      ice_get_avail_rxq_count(pf),
-					      (u16)num_online_cpus());
 			if (vsi->req_rxq) {
 				vsi->alloc_rxq = vsi->req_rxq;
 				vsi->num_rxq = vsi->req_rxq;
+			} else {
+				vsi->alloc_rxq = min3(pf->num_lan_msix,
+						 ice_get_avail_rxq_count(pf),
+						 (u16)num_online_cpus());
 			}
 		}