DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/2] net/i40e: fix negative check on unsigned queue pairs
@ 2019-03-05 16:30 Kevin Traynor
  2019-03-05 16:30 ` [dpdk-dev] [RFC 2/2] net/i40e: update requested queue pair num check for rounding Kevin Traynor
  2019-03-07 13:42 ` [dpdk-dev] [PATCH 1/2] net/i40e: fix negative check on unsigned queue pairs Zhang, Qi Z
  0 siblings, 2 replies; 6+ messages in thread
From: Kevin Traynor @ 2019-03-05 16:30 UTC (permalink / raw)
  To: qi.z.zhang; +Cc: dev, Kevin Traynor, stable, zhirun.yan

Fix the check and associated log. Also, fix a typo in other log.

Fixes: 03d478e9609d ("net/i40e: support PF respond VF request more queues")
Cc: stable@dpdk.org

Cc: zhirun.yan@intel.com
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
 drivers/net/i40e/i40e_pf.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index 585b21cbc..0c4bdbcd1 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -1251,9 +1251,7 @@ i40e_pf_host_process_cmd_request_queues(struct i40e_pf_vf *vf, uint8_t *msg)
 	pf = vf->pf;
 
-	if (req_pairs <= 0) {
-		PMD_DRV_LOG(ERR,
-			    "VF %d tried to request %d queues. Ignoring.\n",
-			    vf->vf_idx,
-			    I40E_MAX_QP_NUM_PER_VF);
+	if (req_pairs == 0) {
+		PMD_DRV_LOG(ERR, "VF %d tried to request 0 queues. Ignoring.\n",
+			    vf->vf_idx);
 	} else if (req_pairs > I40E_MAX_QP_NUM_PER_VF) {
 		PMD_DRV_LOG(ERR,
@@ -1264,5 +1262,5 @@ i40e_pf_host_process_cmd_request_queues(struct i40e_pf_vf *vf, uint8_t *msg)
 	} else if (req_pairs > cur_pairs + pf->qp_pool.num_free) {
 		PMD_DRV_LOG(ERR,
-			    "VF %d requested %d more queues, but noly %d left\n",
+			    "VF %d requested %d more queues, but only %d left\n",
 			    vf->vf_idx,
 			    req_pairs - cur_pairs,
-- 
2.20.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [RFC 2/2] net/i40e: update requested queue pair num check for rounding
  2019-03-05 16:30 [dpdk-dev] [PATCH 1/2] net/i40e: fix negative check on unsigned queue pairs Kevin Traynor
@ 2019-03-05 16:30 ` Kevin Traynor
  2019-03-11  2:18   ` Zhang, Qi Z
  2019-03-07 13:42 ` [dpdk-dev] [PATCH 1/2] net/i40e: fix negative check on unsigned queue pairs Zhang, Qi Z
  1 sibling, 1 reply; 6+ messages in thread
From: Kevin Traynor @ 2019-03-05 16:30 UTC (permalink / raw)
  To: qi.z.zhang; +Cc: dev, Kevin Traynor, zhirun.yan

Since rounding up the requested queue pairs to allow the vf to
request a non-aligned number was added, it may happen that the
requested number is less than the available num of queues but the
rounded up number is greater. In this case, it is not caught with
the usual checks but later when there is a reset and failed setup.

By rounding earlier the checks can be done before a failed reset
occurs, and a rounded max amount of available queues can be returned
to the vf.

Cc: zhirun.yan@intel.com
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
 drivers/net/i40e/i40e_pf.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index 0c4bdbcd1..651c56bb2 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -1251,4 +1251,7 @@ i40e_pf_host_process_cmd_request_queues(struct i40e_pf_vf *vf, uint8_t *msg)
 	pf = vf->pf;
 
+	if (!rte_is_power_of_2(req_pairs))
+		req_pairs = i40e_align_floor(req_pairs) << 1;
+
 	if (req_pairs == 0) {
 		PMD_DRV_LOG(ERR, "VF %d tried to request 0 queues. Ignoring.\n",
@@ -1261,17 +1264,16 @@ i40e_pf_host_process_cmd_request_queues(struct i40e_pf_vf *vf, uint8_t *msg)
 		vfres->num_queue_pairs = I40E_MAX_QP_NUM_PER_VF;
 	} else if (req_pairs > cur_pairs + pf->qp_pool.num_free) {
-		PMD_DRV_LOG(ERR,
-			    "VF %d requested %d more queues, but only %d left\n",
+		PMD_DRV_LOG(ERR, "VF %d requested %d queues (rounded to %d) "
+			         "but only %d available\n",
 			    vf->vf_idx,
-			    req_pairs - cur_pairs,
-			    pf->qp_pool.num_free);
-		vfres->num_queue_pairs = pf->qp_pool.num_free + cur_pairs;
+			    vfres->num_queue_pairs,
+			    req_pairs,
+			    cur_pairs + pf->qp_pool.num_free);
+		vfres->num_queue_pairs = i40e_align_floor(pf->qp_pool.num_free +
+			                                  cur_pairs);
 	} else {
 		i40e_vc_notify_vf_reset(vf);
 		vf->vsi->nb_qps = req_pairs;
-		if (rte_is_power_of_2(req_pairs))
-			pf->vf_nb_qps = req_pairs;
-		else
-			pf->vf_nb_qps = i40e_align_floor(req_pairs) << 1;
+		pf->vf_nb_qps = req_pairs;
 		i40e_pf_host_process_cmd_reset_vf(vf);
 
-- 
2.20.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] net/i40e: fix negative check on unsigned queue pairs
  2019-03-05 16:30 [dpdk-dev] [PATCH 1/2] net/i40e: fix negative check on unsigned queue pairs Kevin Traynor
  2019-03-05 16:30 ` [dpdk-dev] [RFC 2/2] net/i40e: update requested queue pair num check for rounding Kevin Traynor
@ 2019-03-07 13:42 ` Zhang, Qi Z
  1 sibling, 0 replies; 6+ messages in thread
From: Zhang, Qi Z @ 2019-03-07 13:42 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: dev, stable, Yan,  Zhirun



> -----Original Message-----
> From: Kevin Traynor [mailto:ktraynor@redhat.com]
> Sent: Wednesday, March 6, 2019 12:31 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Kevin Traynor <ktraynor@redhat.com>; stable@dpdk.org;
> Yan, Zhirun <zhirun.yan@intel.com>
> Subject: [PATCH 1/2] net/i40e: fix negative check on unsigned queue pairs
> 
> Fix the check and associated log. Also, fix a typo in other log.
> 
> Fixes: 03d478e9609d ("net/i40e: support PF respond VF request more queues")
> Cc: stable@dpdk.org
> 
> Cc: zhirun.yan@intel.com
> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [RFC 2/2] net/i40e: update requested queue pair num check for rounding
  2019-03-05 16:30 ` [dpdk-dev] [RFC 2/2] net/i40e: update requested queue pair num check for rounding Kevin Traynor
@ 2019-03-11  2:18   ` Zhang, Qi Z
  2019-03-11 12:35     ` Ferruh Yigit
  0 siblings, 1 reply; 6+ messages in thread
From: Zhang, Qi Z @ 2019-03-11  2:18 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: dev, Yan, Zhirun



> -----Original Message-----
> From: Kevin Traynor [mailto:ktraynor@redhat.com]
> Sent: Wednesday, March 6, 2019 12:31 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Kevin Traynor <ktraynor@redhat.com>; Yan, Zhirun
> <zhirun.yan@intel.com>
> Subject: [RFC 2/2] net/i40e: update requested queue pair num check for
> rounding
> 
> Since rounding up the requested queue pairs to allow the vf to request a
> non-aligned number was added, it may happen that the requested number is
> less than the available num of queues but the rounded up number is greater. In
> this case, it is not caught with the usual checks but later when there is a reset and
> failed setup.
> 
> By rounding earlier the checks can be done before a failed reset occurs, and a
> rounded max amount of available queues can be returned to the vf.
> 
> Cc: zhirun.yan@intel.com
> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [RFC 2/2] net/i40e: update requested queue pair num check for rounding
  2019-03-11  2:18   ` Zhang, Qi Z
@ 2019-03-11 12:35     ` Ferruh Yigit
  2019-03-11 18:38       ` Kevin Traynor
  0 siblings, 1 reply; 6+ messages in thread
From: Ferruh Yigit @ 2019-03-11 12:35 UTC (permalink / raw)
  To: Zhang, Qi Z, Kevin Traynor; +Cc: dev, Yan, Zhirun

On 3/11/2019 2:18 AM, Zhang, Qi Z wrote:
> 
> 
>> -----Original Message-----
>> From: Kevin Traynor [mailto:ktraynor@redhat.com]
>> Sent: Wednesday, March 6, 2019 12:31 AM
>> To: Zhang, Qi Z <qi.z.zhang@intel.com>
>> Cc: dev@dpdk.org; Kevin Traynor <ktraynor@redhat.com>; Yan, Zhirun
>> <zhirun.yan@intel.com>
>> Subject: [RFC 2/2] net/i40e: update requested queue pair num check for
>> rounding
>>
>> Since rounding up the requested queue pairs to allow the vf to request a
>> non-aligned number was added, it may happen that the requested number is
>> less than the available num of queues but the rounded up number is greater. In
>> this case, it is not caught with the usual checks but later when there is a reset and
>> failed setup.
>>
>> By rounding earlier the checks can be done before a failed reset occurs, and a
>> rounded max amount of available queues can be returned to the vf.
>>
>> Cc: zhirun.yan@intel.com
>> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> 
> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
> 
> Applied to dpdk-next-net-intel.
> 

These were checkpatch warnings because of whitespace (spaces before tabs), fixed
while merging to next-net.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [RFC 2/2] net/i40e: update requested queue pair num check for rounding
  2019-03-11 12:35     ` Ferruh Yigit
@ 2019-03-11 18:38       ` Kevin Traynor
  0 siblings, 0 replies; 6+ messages in thread
From: Kevin Traynor @ 2019-03-11 18:38 UTC (permalink / raw)
  To: Ferruh Yigit, Zhang, Qi Z; +Cc: dev, Yan, Zhirun

On 11/03/2019 12:35, Ferruh Yigit wrote:
> On 3/11/2019 2:18 AM, Zhang, Qi Z wrote:
>>
>>
>>> -----Original Message-----
>>> From: Kevin Traynor [mailto:ktraynor@redhat.com]
>>> Sent: Wednesday, March 6, 2019 12:31 AM
>>> To: Zhang, Qi Z <qi.z.zhang@intel.com>
>>> Cc: dev@dpdk.org; Kevin Traynor <ktraynor@redhat.com>; Yan, Zhirun
>>> <zhirun.yan@intel.com>
>>> Subject: [RFC 2/2] net/i40e: update requested queue pair num check for
>>> rounding
>>>
>>> Since rounding up the requested queue pairs to allow the vf to request a
>>> non-aligned number was added, it may happen that the requested number is
>>> less than the available num of queues but the rounded up number is greater. In
>>> this case, it is not caught with the usual checks but later when there is a reset and
>>> failed setup.
>>>
>>> By rounding earlier the checks can be done before a failed reset occurs, and a
>>> rounded max amount of available queues can be returned to the vf.
>>>
>>> Cc: zhirun.yan@intel.com
>>> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
>>
>> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
>>
>> Applied to dpdk-next-net-intel.
>>
> 
> These were checkpatch warnings because of whitespace (spaces before tabs), fixed
> while merging to next-net.
> 

Thanks Ferruh. Not spaces before tabs, but using spaces for alignment
where there was room for an additional tab. I misinterpreted "spaces for
alignment" in the CS note. Maybe it's clear for others, but I'll send a
small clarification so I'll remember next time :-)

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-03-11 18:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-05 16:30 [dpdk-dev] [PATCH 1/2] net/i40e: fix negative check on unsigned queue pairs Kevin Traynor
2019-03-05 16:30 ` [dpdk-dev] [RFC 2/2] net/i40e: update requested queue pair num check for rounding Kevin Traynor
2019-03-11  2:18   ` Zhang, Qi Z
2019-03-11 12:35     ` Ferruh Yigit
2019-03-11 18:38       ` Kevin Traynor
2019-03-07 13:42 ` [dpdk-dev] [PATCH 1/2] net/i40e: fix negative check on unsigned queue pairs Zhang, Qi Z

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).