From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 7D5497EEF for ; Thu, 20 Aug 2015 14:05:28 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP; 20 Aug 2015 05:05:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,714,1432623600"; d="scan'208";a="752161384" Received: from smonroyx-mobl.ger.corp.intel.com (HELO [10.237.220.88]) ([10.237.220.88]) by orsmga001.jf.intel.com with ESMTP; 20 Aug 2015 05:05:26 -0700 Message-ID: <55D5C285.7060306@intel.com> Date: Thu, 20 Aug 2015 13:05:25 +0100 From: "Gonzalez Monroy, Sergio" User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Mukesh Dua References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org Subject: Re: [dpdk-dev] Issue observed with execution of Reorder test app 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: Thu, 20 Aug 2015 12:05:28 -0000 On 20/08/2015 12:38, Mukesh Dua wrote: > I see issue with reorder test app failing on x86 environment due to changes > made between release 2.0.0 and 2.1.0: > > App reorder_test (app/test/test_reorder.c) > ============ > Function failing: test_reorder_insert > > There had been some changes with respect to addition of parameter > is_initialized to the structure rte_reorder_buffer. In parallel the changes > were made to initialize some of the parameters in function > rte_reorder_insert > > rte_reorder_insert(struct rte_reorder_buffer *b, struct rte_mbuf *mbuf) > { > uint32_t offset, position; > struct cir_buffer *order_buf = &b->order_buf; > > * if (!b->is_initialized) {* > * b->min_seqn = mbuf->seqn;* > *b->is_initialized = 1;* > * }* > > => I don't see any reason to set b->min_seqn to mbuf->seqn and if that has > to be done, the conditional checks should have been modified in function > test_reorder_insert soon after a call to rte_reorder_insert. Additionally, > the next seqn number being populated should have been changed in function > test_reorder_insert: > > ret = rte_reorder_insert(b, bufs[0]); > * if (!((ret == -1) && (rte_errno == ERANGE))) {* > * printf("%s:%d: No error inserting late packet with seqn:"* > * " 3 * size\n", __func__, __LINE__);* > * ret = -1;* > * goto exit;* > * }* > > for (i = 0; i < num_bufs; i++) > bufs[i]->seqn = i; > > On the other hand, changing the code in function rte_reorder_insert: > rte_reorder_insert(struct rte_reorder_buffer *b, struct rte_mbuf *mbuf) > { > uint32_t offset, position; > struct cir_buffer *order_buf = &b->order_buf; > > if (!b->is_initialized) { > * b->min_seqn = 0; //Removed initialization from mbuf->seqn* > b->is_initialized = 1; > } > fixes the issues and the test case passes. > > Regards, > Mukesh Hi Mukesh, The reason for that change is explained in its commit message and also in this thread: http://dpdk.org/ml/archives/dev/2015-May/017930.html Hope this info helps to clarify your concern. Sergio