From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) by dpdk.org (Postfix) with ESMTP id CEE83C442 for ; Fri, 24 Jul 2015 16:59:58 +0200 (CEST) Received: by wibxm9 with SMTP id xm9so32768568wib.0 for ; Fri, 24 Jul 2015 07:59:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:content-type:content-transfer-encoding; bh=rZIsb7Fx4rgBSsOqhd4NPB/iV8sjKz+IkTVXYenIEXM=; b=jWKAoYjdE3j69KO3XdqiBbIWyg9MAGgB3BFBiz46Qr6KoKrwKGrjB4f5VRYbhJ4Qm8 RDJZWaY9qIMDFXGcdx7wYzqklur6jIYM/yn3o+Q8clnxoFbGCmEdYP0QVjxDYfR86AV6 VceGhhnLiw00vrkHZ6DwBdlnyhHWJyYRE64K4qbqfg9bvq8I89X7z3ITs8pT1bXWKlPB r7kJhsJwULvMYDRP7g8JuNOrReV6nwjl+Iqj1JOoIKJuSYCc2hN3iaRVlFGIzx0c30CM TaM3QChEXEoXpPfe2B/V+/eF0MNetABnJv7FvBzLXTBxz3tkr4Edpsg147/nH7OnkQqB h9iA== X-Gm-Message-State: ALoCoQmy9Yo1mOid1BJQ32+wrBxtd7g85CRj/3FQVPnBo2TbemEzMQsGHP899v4UBIJFgFBycvZP X-Received: by 10.180.76.232 with SMTP id n8mr8342645wiw.72.1437749998517; Fri, 24 Jul 2015 07:59:58 -0700 (PDT) Received: from [192.168.0.101] ([90.152.119.35]) by smtp.googlemail.com with ESMTPSA id v20sm13060794wjw.17.2015.07.24.07.59.57 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jul 2015 07:59:57 -0700 (PDT) Message-ID: <55B252EE.9060306@linaro.org> Date: Fri, 24 Jul 2015 15:59:58 +0100 From: Zoltan Kiss User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: "Richardson, Bruce" , "dev@dpdk.org" Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: [dpdk-dev] ixgbe vPMD RX functions and buffer number minimum requirement X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jul 2015 14:59:59 -0000 Hi, I was thinking how to handle the situation when you call rte_eth_rx_burst with less than RTE_IXGBE_VPMD_RX_BURST buffers. In ODP-DPDK unfortunately we can't force this requirement onto the calling application. One idea I had to check in ixgbe_recv_pkts_vec() if nb_pkts < RTE_IXGBE_VPMD_RX_BURST, and call ixgbe_recv_pkts_bulk_alloc in that case. Accordingly, in ixgbe_recv_scattered_pkts_vec() we could call ixgbe_recv_scattered_pkts() in this case. A branch predictor can easily eliminate the performance penalty of this, and applications can use whatever burst size feasible for them. The obvious problem could be whether you can mix the receive functions this way. I have a feeling it wouldn't fly, but I wanted to ask first before spending time investigate this option further. Regards, Zoltan