From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-f179.google.com (mail-io0-f179.google.com [209.85.223.179]) by dpdk.org (Postfix) with ESMTP id A59B78DAE for ; Thu, 20 Aug 2015 19:36:04 +0200 (CEST) Received: by iodb91 with SMTP id b91so54172012iod.1 for ; Thu, 20 Aug 2015 10:36:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=DbtINkk8yDCiM6McarJBV/IxSmm0cR2kaLarREeEiEg=; b=v2L/meulpj+PZCdbtcy8wUsamdbQuS1cYq+hYMC7GqRLxniPAZUOo1Ae5CfRdJ8n2k ltpKpLu5s0qY5WWjNTHY/sc+6p0UDKdp3zr+jkiPuwoq5a6AiL6B1ByMPOJh2Onfe9aT aJUZLkVYMpdrxXOBdSH4g+V6eqYc6V4o6Yfseu7TZ90N8UK/Q5WFAnaLg0ODKSqdLvo0 JnF8eRIbWkcgd1a5vNNOIlRCbr01n1irh2cBLrP2luPlOsaHCosMmGYLtTCSf2u2gLlM /dKmIO724o998NzZhDP88KPzWxyb2N3J6WSW4NEPEF9pf6h+LZy6wUWWU3zDKbnlC7UW qe1Q== MIME-Version: 1.0 X-Received: by 10.107.154.199 with SMTP id c190mr3587117ioe.154.1440092164045; Thu, 20 Aug 2015 10:36:04 -0700 (PDT) Received: by 10.107.179.135 with HTTP; Thu, 20 Aug 2015 10:36:03 -0700 (PDT) In-Reply-To: <55D5C285.7060306@intel.com> References: <55D5C285.7060306@intel.com> Date: Thu, 20 Aug 2015 23:06:03 +0530 Message-ID: From: Mukesh Dua To: "Gonzalez Monroy, Sergio" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 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 17:36:05 -0000 Hi, Thanks for sharing the details. On the basis of my understanding, have made the following changes. The test is now passing with the changes. diff -rupN a/app/test/test_reorder.c b/app/test/test_reorder.c --- a/app/test/test_reorder.c 2015-08-20 13:59:55.000000000 -0400 +++ b/app/test/test_reorder.c 2015-08-21 00:19:10.305447948 -0400 @@ -181,10 +181,10 @@ test_reorder_insert(void) ret = rte_mempool_get_bulk(p, (void *)bufs, num_bufs); TEST_ASSERT_SUCCESS(ret, "Error getting mbuf from pool"); - /* late packet */ + /* late packet - registers the min_seqn */ bufs[0]->seqn = 3 * size; ret = rte_reorder_insert(b, bufs[0]); - if (!((ret == -1) && (rte_errno == ERANGE))) { + if (ret != 0) { printf("%s:%d: No error inserting late packet with seqn:" " 3 * size\n", __func__, __LINE__); ret = -1; @@ -192,7 +192,7 @@ test_reorder_insert(void) } for (i = 0; i < num_bufs; i++) - bufs[i]->seqn = i; + bufs[i]->seqn = bufs[0]->seqn + i; /* This should fill up order buffer: * reorder_seq = 0 @@ -223,7 +223,7 @@ test_reorder_insert(void) } /* early packet from current sequence window - full ready buffer */ - bufs[5]->seqn = 2 * size; + bufs[5]->seqn = 5 * size; ret = rte_reorder_insert(b, bufs[5]); if (!((ret == -1) && (rte_errno == ENOSPC))) { printf("%s:%d: No error inserting early packet with full ready buffer\n", @@ -276,29 +276,30 @@ test_reorder_drain(void) /* Insert packet with seqn 1: * reorder_seq = 0 * RB[] = {NULL, NULL, NULL, NULL} - * OB[] = {NULL, 1, NULL, NULL} + * OB[] = {1, NULL, NULL, NULL} Regards, Mukesh On Thu, Aug 20, 2015 at 5:35 PM, Gonzalez Monroy, Sergio < sergio.gonzalez.monroy@intel.com> wrote: > 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 >