On 01/15/2019 02:57 PM, Zhirun Yan wrote: > Before this patch, VF must request a specific queues(1/2/4/8/16) with > DPDK PF. This patch align the number of requested queues to next power > of 2. So VF can request any number queues from 1 to 16. > > Signed-off-by: Zhirun Yan <zhirun....@intel.com> > --- > drivers/net/i40e/i40e_pf.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c > index 092e0d3e9..d110dffb7 100644 > --- a/drivers/net/i40e/i40e_pf.c > +++ b/drivers/net/i40e/i40e_pf.c > @@ -1271,7 +1271,10 @@ i40e_pf_host_process_cmd_request_queues(struct > i40e_pf_vf *vf, uint8_t *msg) > } else { > i40e_vc_notify_vf_reset(vf); > vf->vsi->nb_qps = req_pairs; > - pf->vf_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;
Shouldn't you do this before you validate against the number of free queue pairs? or it is somehow handled > i40e_pf_host_process_cmd_reset_vf(vf); > > return 0; >