From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.ud15.udmedia.de (ud15.udmedia.de [194.117.254.55]) by dpdk.org (Postfix) with ESMTP id A42CF7CA9 for ; Mon, 4 Sep 2017 10:36:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=mail.ud15.udmedia.de; h= subject:to:references:from:message-id:date:mime-version :in-reply-to:content-type:content-transfer-encoding; s=k1; bh=LQ PavB10yRpX5jAWy/ofpBm0KPFDoUnVpHqW/aSYfqI=; b=TVucixpnMpQWnFxOD9 SWDpc1G0YrD5Cz7xLXE708ncwd8rYtAoKa+ecWvqP1T92u4oPawsVfXCqoS2W4zh XA3IOmjukBwZvjlFYf/WpR/HA4v52VbACHKLeUobLFs5i8BIj2hvn0JI7aWaRLLC RYjEyeUq0nuHLsHBmxyvPSJO0= Received: (qmail 12885 invoked from network); 4 Sep 2017 10:36:36 +0200 Received: from unknown (HELO ?IPv6:2a02:8106:1:f900:2e0:4cff:fe68:158b?) (ud15?2p5@2a02:8106:1:f900:2e0:4cff:fe68:158b) by mail.ud15.udmedia.de with ESMTPSA (ECDHE-RSA-AES128-GCM-SHA256 encrypted, authenticated); 4 Sep 2017 10:36:36 +0200 To: "users@dpdk.org" References: From: Dirk-Holger Lenz Message-ID: Date: Mon, 4 Sep 2017 10:36:26 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-users] virtio doesn't work on some virtual machines X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Sep 2017 08:36:36 -0000 After we fixed a second problem with virtio we didn't see the described behaviour anymore. We will tell you when it occurs again. To the second problem: Our application dynamically opens and closes ethernet ports on request. This means it calls rte_eth_dev_configure(), rte_eth_tx_queue_setup(), rte_eth_rx_queue_setup(), rte_eth_dev_start and (later) rte_eth_dev_stop() in a sequence when it opens an ethernet port and closes it again. For virtio the rte_eth_rx_queue_setup() doesn't take a new buffer pool when it already has one. Beside this the buffers taken from the rx side are also not freed. Our work around it to call rte_eth_dev_close() and eth_virtio_dev_init() for the case that the port works on virtio. Best regards Dirk On 08/07/2017 04:07 PM, Dirk-Holger Lenz wrote: > with dpdk 17.08rc4 using shared libriaries and primary/secondary process > virtio doesn't work on some of our virtual machines. > The reason for this seems to be the different sequence the mempool > drivers > register to dpdk. > While on the primary process the mempool drivers register in this > sequence: > ring_mp_mc -> 0 > ring_sp_sc ->1 > ring_mp_sc -> 2 > ring_sp_mc -> 3 > stack -> 4 > on some of our virtual machines they register in the same sequence while > other machines register in this sequence: > stack -> 0 > ring_mp_mc -> 1 > ring_sp_sc ->2 > ring_mp_sc -> 3 > ring_sp_mc -> 4 > This leads to the effect that the pool which is created by the primary > process > with mempool index 0 is used in the secondary process with a different > kind > of drivers and different driver specific functions which makes in our > case the > system block at the symlock that never goes to zero. > > >