From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 9A4495A6F for ; Mon, 19 Jan 2015 11:57:59 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 19 Jan 2015 02:57:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,426,1418112000"; d="scan'208";a="672168872" Received: from bricha3-mobl3.ger.corp.intel.com ([10.243.20.34]) by orsmga002.jf.intel.com with SMTP; 19 Jan 2015 02:57:56 -0800 Received: by (sSMTP sendmail emulation); Mon, 19 Jan 2015 10:57:55 +0025 Date: Mon, 19 Jan 2015 10:57:55 +0000 From: Bruce Richardson To: XU Liang Message-ID: <20150119105754.GA12244@bricha3-MOBL3> References: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Organization: Intel Shannon Ltd. User-Agent: Mutt/1.5.23 (2014-03-12) Cc: dev Subject: Re: [dpdk-dev] Should the other queues at same port work when one queue is full ? 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: Mon, 19 Jan 2015 10:58:00 -0000 On Sun, Jan 18, 2015 at 07:12:31PM +0800, XU Liang wrote: > I configured the 82599 ports to work in multi-queue mode and flow director to assign different TCP connections to different queues. A multi-process application receive packets from queues and each process reads a queue. When I kill one process, the process's queue is full, all descriptors of the queue is used. Then I send packets to other queues, but no packet is received by other processes from other queues. And no ierrors at the port stats.  I'm not sure it's a bug or designed that way.  > I expect that when a process exits abnormally affect only part of the connections, but now all the connections are not working properly. How can I just turn off the exception queue, so that other processes / queues work properly. You need to turn on the "drop enable" bit in your NIC configuration to allow packets for full queues to be dropped, allowing other queues to continue as normal. In DPDK this is set by the value "rx_drop_en" in the rx configuration. In the latest DPDK tree, you can see this value being set for the symmetric mp example application in: examples/multi_process/symmetric_mp/main.c Regards, /Bruce