From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Gonzalez Monroy, Sergio" Subject: Re: Issue observed with execution of Reorder test app Date: Thu, 20 Aug 2015 13:05:25 +0100 Message-ID: <55D5C285.7060306@intel.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org To: Mukesh Dua 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) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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