Message ID | 20170905141057.8998-1-gprathyusha@caviumnetworks.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 040772C17; Tue, 5 Sep 2017 16:11:26 +0200 (CEST) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0089.outbound.protection.outlook.com [104.47.37.89]) by dpdk.org (Postfix) with ESMTP id E44D62C15 for <dev@dpdk.org>; Tue, 5 Sep 2017 16:11:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=+SKuCYPaBhSprY5PnMPxsKkdrR6kXJnp2P6lqm/tAWI=; b=CgEJjhbWv1Uu6dqZr4gFiMVD5Gfmz1mNh9e3gUEJUhQ6WNaPXP05bgH2DFreIlEUL75T1okmA4UQ20+jYRrGdNqCvQE8Wpp9gGjbjskxSIQM6UBDOiWRAN1z8LHP8Cl8jzVY/6+mTX7DlHOGn5sf1YWqLOuqztdntuI14k8r92M= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Guduri.Prathyusha@cavium.com; Received: from prathyusha-Precision-Tower-5810.caveonetworks.com (111.93.218.67) by BLUPR0701MB2098.namprd07.prod.outlook.com (10.163.122.156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Tue, 5 Sep 2017 14:11:20 +0000 From: Guduri Prathyusha <gprathyusha@caviumnetworks.com> To: harry.van.haaren@intel.com Cc: dev@dpdk.org, Guduri Prathyusha <gprathyusha@caviumnetworks.com> Date: Tue, 5 Sep 2017 19:40:56 +0530 Message-Id: <20170905141057.8998-1-gprathyusha@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MA1PR01CA0103.INDPRD01.PROD.OUTLOOK.COM (10.174.56.147) To BLUPR0701MB2098.namprd07.prod.outlook.com (10.163.122.156) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3e0789fa-902b-4b0b-718e-08d4f467fc2c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BLUPR0701MB2098; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2098; 3:66WTALDtMkXS//y2s73PaONe8zG32NeU54PNY9DHMKb9F3FPru3w2amFURFaSKALPX3+TpI3YxLFuC7utX084vIqGGaH73XzzX+69znm2NWgcoBQLKJK8g5YTgSOVStjLsoGBEPWy+FlACtBWTZqiHqr+8/Vd6Fo2P5nk3LmLygjSyq1izBYxNnHRN+6cj1XqgBBv1T4EWPN/CTrCCD0Hk0Yu/NTOYsLgGbFQrfWDzF3HRLZqpMYtMhJmuOsthHT; 25:Ho8WxCV/5/OnsH7Vo5fIRrqyKKPKEnfQXQwqD63IeYCcbPYjmsTJeQzeRIvTDAJO0qqlDiEE/aekoti9poHU+K5rHKzWcbi0M/sElYg1lLub3PCZAaBvAC9FL+tIAD6zZj4dnJ5Yqlts8dPhKTFB6qtR5AqMptl+TqKuRrbJvmxgpxguIaIIkJOPULd0pswYhEWVKgn1aTisfl+AIcYMhoaM65aeGW5h0R+tIykp677dYwgbsfP1sTiTcKgQLI589/G85mD4nZKg82cLdKx6iIvnsFCqLek1cw9+pGxw+6F1q4jeX4HFtW65vRpx80mvcl/5Tvz7TGEWd3Ej1/cvug==; 31:KwN/Po4OMaTKWGifEY7bdq6jwelakTImkBr+Qnl7Lm6FICA6DXdikm+HFcLIQMx2lhejUjJ0D8fMUgun99Pwf4IoiKt2cV5ATLW8gT7nobKP+BAGRfLDhTa2RFKaA39fqlRbTB+L212COQzrhzTE2fphbfXKpStiJ8uqk03FO4oZYWXdqnbr01s1Zp/t44IbWviwJVO3a2z3GVZav40ks+yqreIDWHkvCURH2fQZL4U= X-MS-TrafficTypeDiagnostic: BLUPR0701MB2098: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2098; 20:mfyyniU6EGnWB4cUt7mdtrtOevzGlOtjmBlVrMaPZ7cmGHCP7Adaaqejc3N2Nkp9tUDBSPABeE+yZEkchw4QDF4ddFTAkz3vWiiQXb85jQAxXvJ10Phf+nxC627BRK2chPrgDqk8qFhc4slpadjL8BhrD8edZx7cpxv9MRsm9qr4flYNjfleIiQyxi6Ec4A042/iODvvWQWvjt4AHxleoYHo9DQGSCTP8RI9kkZtndYChUsphjIJD+45iSyykq6T9Sn6fKV4G70404wqR1Dd1GTGt9AAzwE5cQuAc0tblqnIYT7vSluXxXAzlKD1nu6ff5nNiCFmOc9hX/6cgdYkJpUNZ7CqREJuQ4p8odZOSh5TVmIWluJQLDTJvp/erewkuR+rJ/Y1g2HdkMLeC+s77cMVOIhoFVCZz6uHAxqOxw5M0yzaFjmqZZxb/mGZ+2dZ4uyTC7pVX8o9c7uwKo7O2sXpWd7W0SoWCCDEWC+pIT0HfsKbLIn2ohjPKarAXfhb9D6PWIX2pVTStQP7U6FBYXSWFFy4siUKsDYEHJ4xNrr5/sGhUUCAgBjUhffixh8jegXsZYoQumkC6uIZBVLpAyUuePyBnA7UNnec2A4+LKg=; 4:6K3jVxz1aAl3g7IlMdk1+PKhunNFoKj3cdwE8iFC9jYuamKjBI9HqddQqQAh4ZZX7bEypVCDIHDTNrEaT9drN0AcRLmhgwAMoNv3WoWjHTEUThM0xD6kjmBVUTtkZZMk2gtP4ME1RjIVWLQIA09nR5RIUfGz3XDt5NUrccwRW/zbjVGn2G0qL3jKrUBW5T8zkiAbgFi/506mgaTDHY0WX0EcmIfngPcP3LmqORbiXkT2b8EjTWcUmsYQW1lQugM5 X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: <BLUPR0701MB209887F9CB608DB27CE7430A8F960@BLUPR0701MB2098.namprd07.prod.outlook.com> X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(10201501046)(93006095)(6041248)(20161123558100)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BLUPR0701MB2098; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BLUPR0701MB2098; X-Forefront-PRVS: 0421BF7135 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(189002)(199003)(33646002)(6506006)(6486002)(107886003)(110136004)(189998001)(66066001)(2906002)(101416001)(47776003)(72206003)(68736007)(2351001)(7736002)(50466002)(48376002)(305945005)(105586002)(42186005)(106356001)(50986999)(53936002)(53416004)(2361001)(50226002)(25786009)(6512007)(36756003)(8936002)(8676002)(81166006)(6666003)(97736004)(81156014)(42882006)(6916009)(69596002)(478600001)(5660300001)(5003940100001)(5009440100003)(1076002)(4326008)(3846002)(6116002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB2098; H:prathyusha-Precision-Tower-5810.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB2098; 23:rRT/f+IQPCNspFTWj+6kos1eAYkZZitbSvAde5J?= ldl54SsL+hxdnBDezG165zZjoucvo1KrkbAhj/2ed91B+2ry8C/k2erkmjCH0Gos+mGlRR5nlUMhSF3G8TjCZNs8e+5M5Pff7CcA/hGcuVpP+NhDvG+DfUHzMPEf8mFCAiMNHlnZHG7+Kmzufsdvcs04pLFEpbkvsacSHlEshY4S/NRRyXMnfUyX+F7gyG0jiTTJRGRXZlevS8itKQtWioGRUzjtZj0AGX42HVDKdIz6ElJKMqi4fSlqF9d1L/+q+cXykVANT0BFClFSwfOYlVTy0Q8RUoUnJY5xBBGbzKCqtwVGCq/t170pzVB3gV8GeSxCIaTCsRjHDZmg+sWCDuhrIDUMh6Jh8oPqPyoNWFMolbzKLGxjP7APthoIYHP3NeS83SSLcoeDV5hqIawFuqGqyfNWJOqfeo836PoSEtqnKPK9j2jMdtWq7yaNKmLBUkV6kox4yLbR0aNvQRcXV/WLsnPrAnli3hdqtm91aNSFcfohyW+1KSZ9JTdhLQ7P8p5Tjh/VKcVUXfY7miH29eRFzL4JvDbrqq+qm23jUz04Rg64K8EPH01VhRFMIQvF/AulkAshS9Np3oxutzlXBZv1A/W61SxkTTErMxHFjBHpFvanrZ25/YoHUbfP+e2H4W3A+VbskVy1tEPjCOG9zXl2YpWOK7SwJ9u94mCLMMoypC/b6hshuDD7Q29HKg+d61RPFln737vIjuTOOGKNSRDXbS0gQv3EJouq291UC8ovQqBC/no4m1nlm99/hD49JoaAJOMI6uf/0d0dFR/KnUyERn44HRhk7QT0uvAkN3INaPNnUHS5qLwsdZGirfPaL4PsuU7kfxEKKgpIcGbKmu0IAFNmFyjDcAxzEQpgfa3M+kc9wyz+hcqpVZ4J8KSdfpvAp0q5KWBtM4lhNMARCSAIQiClW5/2iKlNmJYXUCXmZJhi77I+F9xlPcXHzox72oIAJWimj67TokotuDIBcTwHpW5Qg6+NSpR/VNXO96mdzEtLJSfDQKSIOZDSFqzLmEHyKDl2tK9Jm6bkmHfsQR+s7DvrjG4sC8ZdeBLjvpjh4govhxld2lVugy9U+fZOwZkO1UbrDl17H4AFDgV2/R/D7 X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2098; 6:RBO5DrqMrDBt/421zGxPZUBaZ8TTbFCNMWGf5+K/5MIxOIoaZoWs3QVWswbhUytKn3gCQzkasaZIfcJd9wilYEoCHMr8nvloMk2h2cJtXbVIW8NOhfQ6npsqJ3XdK/aHFN6F7KzM78RtkjE8eSaonHgtzg+QVSxS23m3SgQCxozx0Ii3FPUYpC/CmNnnNnOa/eSQl8OJg8SywbuQbuT1XuF3yEC/yBBLWozP/AniDisGW1ak3DRncLW2ToNCNfU93KfIRtx1YPzYH2g17YKbR8BaHVts6AtrMg6OLVy6MdriO0Qr2z/5Mwx/Gj8Mz0iPza5wW1rv+BSrd5Ui8VXzsQ==; 5:7G/1AK5K7ppSE39Gcl1kg1H6cDmRnDvGvRqxD/Ly27AzV3rwL0113x4hZAIgHH40miRrMNQEIqRdzXm/pQ1xz8IgOD4WzJb7lJktuJEx+TgEFP+Xs3l4x1vcdcm89yA6y2iLl0OBnH9GBWuo0bU9tg==; 24:R9Ohjrs5qrRPPnOOn7bmzeH8JsWLxEHPniHP94XxoOXEpQlWOH+DeAE+lsGb0YwaajGifPXyyR+k0hpwk3sKfFdxCSmSwsoStQHxHYT2EDE=; 7:90IdtbRnNp0j6ox9ezkTMe86y3u2e0BgVptQZQgW0/ohBbjk9ltB9HlEpBwBpzQ5j98rRyXf97w4ydGQQLswBVPQO/GDF93KEJPA8WeMe1KCIxXLbyWz9WZIWyh9LXVu4ZRNUwjgN4G3ceSf9DqIvVx3xDyJchpeXlkWrzDTv1PyGtEVUhiYu9dcVG/IuzRNV3z8n35CgHczK3r/UD3mW86M8+MPmykUIH/vGn/Hqcg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2017 14:11:20.3004 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB2098 Subject: [dpdk-dev] [PATCH 1/2] service: fix service lcore stop function X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Checks
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
Commit Message
Guduri Prathyusha
Sept. 5, 2017, 2:10 p.m. UTC
lcore_states store the state of the lcore. Fixing the invalid
dereference of lcore_states with service number
Fixes: 21698354c832 ("service: introduce service cores concept")
Signed-off-by: Guduri Prathyusha <gprathyusha@caviumnetworks.com>
---
lib/librte_eal/common/rte_service.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
> From: Guduri Prathyusha [mailto:gprathyusha@caviumnetworks.com] > Sent: Tuesday, September 5, 2017 3:11 PM > To: Van Haaren, Harry <harry.van.haaren@intel.com> > Cc: dev@dpdk.org; Guduri Prathyusha <gprathyusha@caviumnetworks.com> > Subject: [dpdk-dev] [PATCH 1/2] service: fix service lcore stop function > > lcore_states store the state of the lcore. Fixing the invalid > dereference of lcore_states with service number > > Fixes: 21698354c832 ("service: introduce service cores concept") > > Signed-off-by: Guduri Prathyusha <gprathyusha@caviumnetworks.com> Hi Guduri, This looks like a genuine bug-fix - thanks for looking into it and providing a patch. Typically, DPDK tries to fix the unit-tests and a bug at the same time - this ensures that the unit tests continue to pass at every test. So, patch 2/2 of this series can be merged into this patch, and include both Fixes: lines. Secondly, does this patchset apply to the current dpdk (17.08), or to the future service-cores patches? If it doesn't apply cleanly on the future patches, it is probably better to A) include it in that patchset, or B) rebase this fix patch onto the service cores patches. Hope that makes sense, and let me know if you'd prefer A) or B) above. Thanks, -Harry > --- > lib/librte_eal/common/rte_service.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c > index 7efb76dc8..2ac77cc2a 100644 > --- a/lib/librte_eal/common/rte_service.c > +++ b/lib/librte_eal/common/rte_service.c > @@ -609,7 +609,7 @@ rte_service_lcore_stop(uint32_t lcore) > uint32_t i; > for (i = 0; i < RTE_SERVICE_NUM_MAX; i++) { > int32_t enabled = > - lcore_states[i].service_mask & (UINT64_C(1) << i); > + lcore_states[lcore].service_mask & (UINT64_C(1) << i); > int32_t service_running = rte_services[i].runstate != > RUNSTATE_STOPPED; > int32_t only_core = rte_services[i].num_mapped_cores == 1; > -- > 2.14.1
On Tue, Sep 05, 2017 at 02:34:44PM +0000, Van Haaren, Harry wrote: > > From: Guduri Prathyusha [mailto:gprathyusha@caviumnetworks.com] > > Sent: Tuesday, September 5, 2017 3:11 PM > > To: Van Haaren, Harry <harry.van.haaren@intel.com> > > Cc: dev@dpdk.org; Guduri Prathyusha <gprathyusha@caviumnetworks.com> > > Subject: [dpdk-dev] [PATCH 1/2] service: fix service lcore stop function > > > > lcore_states store the state of the lcore. Fixing the invalid > > dereference of lcore_states with service number > > > > Fixes: 21698354c832 ("service: introduce service cores concept") > > > > Signed-off-by: Guduri Prathyusha <gprathyusha@caviumnetworks.com> > > Hi Guduri, Hi Harry > > This looks like a genuine bug-fix - thanks for looking into it and providing a patch. Typically, DPDK tries to fix the unit-tests and a bug at the same time - this ensures that the unit tests continue to pass at every test. So, patch 2/2 of this series can be merged into this patch, and include both Fixes: lines. Sure, thanks for a quick review > > Secondly, does this patchset apply to the current dpdk (17.08), or to the future service-cores patches? If it doesn't apply cleanly on the future patches, it is probably better to A) include it in that patchset, or B) rebase this fix patch onto the service cores patches. > > Hope that makes sense, and let me know if you'd prefer A) or B) above. Thanks, -Harry > > This series is based on the current 17.08 dpdk master branch. I will rebase the patches to the future service core patches and send a v2 mentioning the patch is dependent on the future service core patches. Is that fine? Thanks, Prathyusha > > --- > > lib/librte_eal/common/rte_service.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c > > index 7efb76dc8..2ac77cc2a 100644 > > --- a/lib/librte_eal/common/rte_service.c > > +++ b/lib/librte_eal/common/rte_service.c > > @@ -609,7 +609,7 @@ rte_service_lcore_stop(uint32_t lcore) > > uint32_t i; > > for (i = 0; i < RTE_SERVICE_NUM_MAX; i++) { > > int32_t enabled = > > - lcore_states[i].service_mask & (UINT64_C(1) << i); > > + lcore_states[lcore].service_mask & (UINT64_C(1) << i); > > int32_t service_running = rte_services[i].runstate != > > RUNSTATE_STOPPED; > > int32_t only_core = rte_services[i].num_mapped_cores == 1; > > -- > > 2.14.1 >
diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c index 7efb76dc8..2ac77cc2a 100644 --- a/lib/librte_eal/common/rte_service.c +++ b/lib/librte_eal/common/rte_service.c @@ -609,7 +609,7 @@ rte_service_lcore_stop(uint32_t lcore) uint32_t i; for (i = 0; i < RTE_SERVICE_NUM_MAX; i++) { int32_t enabled = - lcore_states[i].service_mask & (UINT64_C(1) << i); + lcore_states[lcore].service_mask & (UINT64_C(1) << i); int32_t service_running = rte_services[i].runstate != RUNSTATE_STOPPED; int32_t only_core = rte_services[i].num_mapped_cores == 1;