From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 7F17D2BAB for ; Tue, 15 Jan 2019 18:33:37 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D24D31E33A; Tue, 15 Jan 2019 17:33:36 +0000 (UTC) Received: from ktraynor.remote.csb (ovpn-116-163.ams2.redhat.com [10.36.116.163]) by smtp.corp.redhat.com (Postfix) with ESMTP id F29BA1001947; Tue, 15 Jan 2019 17:33:35 +0000 (UTC) To: Zhirun Yan , dev@dpdk.org, qi.z.zhang@intel.com References: <20190115145717.84697-1-zhirun.yan@intel.com> From: Kevin Traynor Organization: Red Hat Message-ID: <1c8bba3d-b205-c629-73de-6dca2dfc998f@redhat.com> Date: Tue, 15 Jan 2019 17:33:34 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <20190115145717.84697-1-zhirun.yan@intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Tue, 15 Jan 2019 17:33:36 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH v1] net/i40e: support request any number of queues X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jan 2019 17:33:37 -0000 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 > --- > 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; >