From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6240EA0350; Mon, 29 Jun 2020 18:39:51 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7CC511BFC3; Mon, 29 Jun 2020 18:39:50 +0200 (CEST) Received: from mail-il1-f195.google.com (mail-il1-f195.google.com [209.85.166.195]) by dpdk.org (Postfix) with ESMTP id 93FB91BFB2; Mon, 29 Jun 2020 18:39:49 +0200 (CEST) Received: by mail-il1-f195.google.com with SMTP id q3so4333193ilt.8; Mon, 29 Jun 2020 09:39:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=CtDHKbNqlaebpwOIog3AIdu/lSJOQfwfODqCSzHCEFg=; b=CVVwm79kmbVBaHuh9euKqvCsTIChbPwzPoa54nXzqITjq5Sdzj9A6XlhZNvxjv1qMt +Ejs6O3HlCe3Geb38+tp6OKpjg3IRTVc7KH7fmmAYPZAvw8bDKBndEaRBD7U7H7mtPBB avxGsBAP7ZIXPfq8JTTLwzEcVNqe8kCn7NMsX38N3zHgKmWPGGM2250SAAULczk1C1Mm X7sVmJNvMlGDRGiNJ5xguQ7DBmPj6yT3+1Z5b1ZRoHy/XmFj1uAdetQ1aGgHRkql3cXn GUb+YuGUrPlgNbi86PwvL0ExrBLoyWk6KDXDzwUL2Ch5MeFtOuYpEPuMRiK/JExHMWVV fszQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=CtDHKbNqlaebpwOIog3AIdu/lSJOQfwfODqCSzHCEFg=; b=c0m+EF36BiJ/Q87YeNeP03C0JGw6VURglgjYeNZYqFLwmcBn4nVbvb1G5QDLlWvv6r FNvgMla/A5D4Jc+PNggODAXe4V8m5ltZcJnVTRZTCchPMp6Ct9fOmx+rHK2rxka1lQNF IpsVUpn0Qq42SaAkbfDNEFX9eY+3dmb14EpBAWHUfBXIw0/6kz2g2UDiGp8PV/eKm26M jqkyBySlJvNjRkgfRhg74pDpNyRpbIOW5JB1Tzngm3+iTIaPLXdGKJciVXL1KNve4cMf 1+UJ0ot02XPnXPQbbg8QA+PVF3p3HNhgrKy2ZXmtEqU5l3ZdL5kAVw+rv3h7E9+ScAW6 ajEQ== X-Gm-Message-State: AOAM530H8m3PG9E1ObQf/LZwynKsbUdNcz/vVlasTDBK2/8Ic20DDrOS iMb65c05kcIv7GKafwXM7xvZJ6U6k1t3pXIt4iY= X-Google-Smtp-Source: ABdhPJy83ynPi5ap7vzbjc1o2n77BM2wW02yQiHcMe8v5bsJCs3Wpiatbfq5FiwRI3k6cQDA/01Q3TZiS70I/sWe2us= X-Received: by 2002:a92:d01:: with SMTP id 1mr16283613iln.294.1593448788807; Mon, 29 Jun 2020 09:39:48 -0700 (PDT) MIME-Version: 1.0 References: <20200616165603.61456-1-harry.van.haaren@intel.com> In-Reply-To: <20200616165603.61456-1-harry.van.haaren@intel.com> From: Jerin Jacob Date: Mon, 29 Jun 2020 22:09:32 +0530 Message-ID: To: Harry van Haaren Cc: dpdk-dev , junx.w.zhou@intel.com, maox.jiang@intel.com, dpdk stable Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH] examples/eventdev_pipeline: fix 32-bit coremask logic X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, Jun 16, 2020 at 10:24 PM Harry van Haaren wrote: > > This commit fixes a bug in 32-bit environments when a core mask greater > than 32-bits is requested. The fix is to convert the bitmask logic to > 64 bits, aligning 64 and 32 bit implementations. > > Fixes: adb5d548 ("examples/eventdev_pipeline_sw_pmd: add sample app") > Cc: stable@dpdk.org > > Reported-by: Jun Zhou > Suggested-by: Mao Jiang > Signed-off-by: Harry van Haaren Applied to dpdk-next-eventdev/master. Thanks. > --- > examples/eventdev_pipeline/main.c | 10 +++++----- > examples/eventdev_pipeline/pipeline_common.h | 8 ++++---- > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/examples/eventdev_pipeline/main.c b/examples/eventdev_pipeline/main.c > index 21958269f..4ac582153 100644 > --- a/examples/eventdev_pipeline/main.c > +++ b/examples/eventdev_pipeline/main.c > @@ -81,7 +81,7 @@ parse_coremask(const char *coremask) > val = xdigit2val(c); > for (j = 0; j < BITS_HEX && idx < MAX_NUM_CORE; j++, idx++) { > if ((1 << j) & val) { > - mask |= (1UL << idx); > + mask |= (1ULL << idx); > count++; > } > } > @@ -232,10 +232,10 @@ parse_app_args(int argc, char **argv) > usage(); > > for (i = 0; i < MAX_NUM_CORE; i++) { > - fdata->rx_core[i] = !!(rx_lcore_mask & (1UL << i)); > - fdata->tx_core[i] = !!(tx_lcore_mask & (1UL << i)); > - fdata->sched_core[i] = !!(sched_lcore_mask & (1UL << i)); > - fdata->worker_core[i] = !!(worker_lcore_mask & (1UL << i)); > + fdata->rx_core[i] = !!(rx_lcore_mask & (1ULL << i)); > + fdata->tx_core[i] = !!(tx_lcore_mask & (1ULL << i)); > + fdata->sched_core[i] = !!(sched_lcore_mask & (1ULL << i)); > + fdata->worker_core[i] = !!(worker_lcore_mask & (1ULL << i)); > > if (fdata->worker_core[i]) > cdata.num_workers++; > diff --git a/examples/eventdev_pipeline/pipeline_common.h b/examples/eventdev_pipeline/pipeline_common.h > index c7245f7f0..6a4287602 100644 > --- a/examples/eventdev_pipeline/pipeline_common.h > +++ b/examples/eventdev_pipeline/pipeline_common.h > @@ -51,10 +51,10 @@ struct fastpath_data { > bool rx_single; > bool tx_single; > bool sched_single; > - unsigned int rx_core[MAX_NUM_CORE]; > - unsigned int tx_core[MAX_NUM_CORE]; > - unsigned int sched_core[MAX_NUM_CORE]; > - unsigned int worker_core[MAX_NUM_CORE]; > + uint64_t rx_core[MAX_NUM_CORE]; > + uint64_t tx_core[MAX_NUM_CORE]; > + uint64_t sched_core[MAX_NUM_CORE]; > + uint64_t worker_core[MAX_NUM_CORE]; > struct setup_data cap; > } __rte_cache_aligned; > > -- > 2.17.1 >