From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cos-us-iron02k.cos.keysight.com (cos-us-iron02k.cos.keysight.com [192.25.5.36]) by dpdk.org (Postfix) with ESMTP id 349E53777 for ; Tue, 2 Aug 2016 11:53:26 +0200 (CEST) X-IPAS-Result: A2CJAABlbKBXfRYYjJxcHAEBglmBJIECjSWrfYF9hh0CgWsUAQEBAQEBARIBARYrL4RiAycGTBIBKlYmAQQODYgpwRsBAQEBAQEEAQEBAQEBASCPOYMqgi8FmTOQaoRaiHqQJx6CSByBTIgGAX4BAQE X-IronPort-AV: E=Sophos;i="5.28,459,1464674400"; d="scan'208,217";a="35413254" Received: from wcosexch03k.cos.is.keysight.com (HELO 2k10hubs.keysight.com) ([156.140.24.22]) by cos-us-iron02k.cos.keysight.com with ESMTP/TLS/AES128-SHA256; 02 Aug 2016 03:53:24 -0600 Received: from wcosexch02k.cos.is.keysight.com ([169.254.2.183]) by wcosexch03k.cos.is.keysight.com ([169.254.1.174]) with mapi id 14.03.0279.002; Tue, 2 Aug 2016 03:53:23 -0600 From: To: CC: Thread-Topic: X710/i40e and vector pmd rx 2.2.0 in an rx only mode Thread-Index: AdHsoEzDSARUS84oTSOevQN8l9sbSg== Date: Tue, 2 Aug 2016 09:53:23 +0000 Message-ID: <22C95CA62CBADB498D32A348F0F073BC11A1320E@wcosexch02k.cos.is.keysight.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [156.140.13.71] x-tm-as-product-ver: SMEX-11.0.0.4283-8.000.1202-22488.006 x-tm-as-result: No--45.557800-8.000000-31 x-tm-as-matchedid: 144069-147014-152016-139704-113220-708196-111604-700362-7 05718-700345-701796-701827-700264-702497-700450-700537-700732-701306-709859 -111605-700074-303242-188124-705861-703529-701465-105250-105630-705584-7050 69-709584-186003-708797-706249-188019-703491-705706-700438-106230-700104-70 5450-708218-701433-701604-701837-121581-702358-703428-700107-303317-106420- 121133-712248-188093-148004-148050-42000 x-tm-as-user-approved-sender: No x-tm-as-user-blocked-sender: No MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-users] X710/i40e and vector pmd rx 2.2.0 in an rx only mode X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2016 09:53:27 -0000 Hi, So I found my issue with vector mode not being enabled was due to a linking= issue in my build environment, it was picking up the stub that returned -1= on the check of conditions, even though I had enabled vector mode in the c= onfig before I built the environment. However now I have vector mode working, I never seem to free any mbufs, so = my app works great for about a second, then of course everything coming in = gets dropped. Is there something different I have to do to get my mbufs free'd if the vec= tor rx function is being used rather than the bulk_alloc rx function? I can run the l2fwd function fine, and it is using vector mode, but L2fwd output Initializing port 0... PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc = Preconditions are satisfied. Rx Burst Bulk Alloc function will be used on p= ort=3D0, queue=3D0. PMD: i40e_set_tx_function_flag(): Vector tx can be enabled on this txq. PMD: i40e_set_tx_function(): Vector tx finally be used. PMD: i40e_set_rx_function(): Vector rx enabled, please make sure RX burst s= ize no less than 4 (port=3D0). done: Port 0, MAC address: 68:05:CA:27:F1:BC My output PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are satis= fied. Rx Burst Bulk Alloc function will be used on port=3D0, queue=3D0. PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are satis= fied. Rx Burst Bulk Alloc function will be used on port=3D0, queue=3D1. PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are satis= fied. Rx Burst Bulk Alloc function will be used on port=3D0, queue=3D2. PMD: i40e_dev_rx_queue_setup(): Rx Burst Bulk Alloc Preconditions are satis= fied. Rx Burst Bulk Alloc function will be used on port=3D0, queue=3D3. PMD: i40e_set_tx_function(): Xmit tx finally be used. PMD: i40e_pf_config_rss(): Max of contiguous 4 PF queues are configured PMD: i40e_set_rx_function(): Vector rx enabled, please make sure RX burst s= ize no less than 4 (port=3D0). So the code in i40e_rxtx.c seems to imply I should be either using vector o= r bulk dev->rx_pkt_burst =3D i40e_recv_pkts_vec; or dev->rx_pkt_burst =3D i40e_recv_pkts_bulk_alloc; I seem to be going through this function twice? But so does l2fwd... however l2fwd I think has the transmit function free up the buffers after they are = sent? I use explicit calls to rte_mempool_put_bulk to free up buffers I've finish= ed with? I can see a report in the release notes for 16.04.0 about an issue with ixg= be and releasing mbufs, did/does the i40e suffer from similar problems? Any suggestions gratefully received thanks Martin martin _ curran - gray @ keysight . com (remove the spaces) Martin Curran-Gray HW/FPGA/SW Engineer Keysight Technologies UK Ltd