From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.JacobKollanukkaran@cavium.com>
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on0073.outbound.protection.outlook.com [104.47.36.73])
 by dpdk.org (Postfix) with ESMTP id 4F64D2C28
 for <dev@dpdk.org>; Sun,  7 Oct 2018 08:20:03 +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:X-MS-Exchange-SenderADCheck;
 bh=SnN7IB8+0dzr1k4HKg1MeZ0eQm0Jtq9kJneCXWMLJaM=;
 b=fqdMVkSbUoeWG1BLGFLsPVbjknc7dqMy4GDqrU8/XHTRwqjZDj1fkdcqbJ61yHvGrpQFJFMxZ9OpmkDMqDYqy8cjiwM1LkLpapZ2lHtUX1hnNNZLb85NFu/1sNRHfroaNo4Qk9H5PRoLyCpCFyoW2PFGVLQAeOSJ3zNmbz13J4k=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; 
Received: from jerin.8.8.4.4 (122.167.112.78) by
 BYAPR07MB5000.namprd07.prod.outlook.com (2603:10b6:a03:5b::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.1207.23; Sun, 7 Oct 2018 06:19:57 +0000
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Chao Zhu <chaozhu@linux.vnet.ibm.com>
Cc: dev@dpdk.org, thomas@monjalon.net, gowrishankar.m@linux.vnet.ibm.com,
 ola.liljedahl@arm.com, Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Sun,  7 Oct 2018 11:48:57 +0530
Message-Id: <20181007061857.29451-1-jerin.jacob@caviumnetworks.com>
X-Mailer: git-send-email 2.19.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [122.167.112.78]
X-ClientProxiedBy: BM1PR01CA0081.INDPRD01.PROD.OUTLOOK.COM
 (2603:1096:b00:1::21) To BYAPR07MB5000.namprd07.prod.outlook.com
 (2603:10b6:a03:5b::25)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d32745d7-e205-421f-7a72-08d62c1ce906
X-Microsoft-Antispam: BCL:0; PCL:0;
 RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020);
 SRVR:BYAPR07MB5000; 
X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB5000;
 3:TVpzL/883HZITAD59kq3m31n06x9l+f9fSxXaxBgbOp5vF+OpvimjnM/fXBq3ag6G7DTdJ5GyJKQhL3W4G9NjasXm5ggF0blj2fx3lozZvM5scUfu2MW+rWlrs8koWvbjvjKSOvkx68mO6jQ+zW0jitnsqLacDb0ZtKIkAdC+tIpDWc+R0EnOKqrSqOYtbJ6mKOAgSrUFU3jhVL0c0IWlcktATR3rcqt9GLuxQS7X9WdMQuIv+P0L+AKp65dW4qr;
 25:K6y9+JI3MJD6fGngiu9jXSuUGYYK6/G23Gqt1o4fG1ouDNMXM+sWD9FsFlC77Bww+A3YZEP5adFnYEZvRVXnpa0zYP1QcXeIpjIA2fQZVRvaN0W14GRGuTIn6DTvqMb/RA+PmRRH/wqBu8JF6skE6COCNXGGoQfvYKkUhJlms7tlkkgD1lLy83OE4yViLLWJb9bL0W93jfyyfiSTUGItZIfD0+7e1y6xF2PVkUQwptHkq3R/iZio9wgoTYpMIMfJFvZeqBhrlqIJ19T2wIT9XUEcdq7gIqtEs9iMPaX1tL0xV/4sDiweIy8X2vXtcxHZ5fzZiaDH7423TmPswbDDgA==;
 31:f9XGdh9QJoGrxH+fHn5vnUaRkthsE3rs5IPZtv1quNKj8yHDC/9sVS+rSGRZ6NfkD/ZfJlVsMwXSue7jiEzIqysmtlDIQ995tqDOUIc5pONwLgtmB5moHu/B8RNH70SovuAzLt8alDcRJSqsuf67bUXFkCpY1B+iVg/J9lET73f+73A0xMUA8oHIDHLT528+QqQwffKSE6sAwCjiN+ndlWrxmV5JNYACT9nTu8nHx2k=
X-MS-TrafficTypeDiagnostic: BYAPR07MB5000:
X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB5000;
 20:ITPS/kQLZc9m6JseuJu7QEYCFrdaE86zgEIXvYgpqaAUF7gnT4Y0KPfu4KubNOYUSOKpcc5kmK1dtkrgE3IzmuCoECocE56PPt8eZYfn56jd9shDv6RJr3ZT7pLYi55jnhW1yWaVTLXhVDUK/uyN+XrdY0NVAOwcXaKV4p7bjm/nsWNFuH/VgY65fu3B2vKMwAUJZOoaQyuykFlBpJSQy0oOBHUyQ2hyCWHKoWmDU2OiH6rAoikupg3aPiF++apLa2D30t2gMlMDYUhua8n6/xpql0QFpuQC+AfxJlx/3wxCSmmwPPB42H1iGpJshBfw75LHyCT6MqIpvt4dOLLo3TO0WvzbJprKanYNYWColGK+hjvVvZUyoGopwxSOcG6KLpf0LKBEQ/dzgN+S1DT8eod7l/Nkm5DN53imM+n5GIjKhnWmg6dAcciUwNwUYFESmbRxWfEWf+KGiqnTai+KLZbNqeaXKgEndHLmfe5d9qNhhr1HDwn4LYbj4CIoQu+7nwtFF+EuIcoH08nWEad8XAblk7tRKVJAJrdrsjkQMipfK9UR6lpfBJ8bg8jB/Pu8H04ziS5SvhmziiApRxopOMd5OwNWrD8hstPRpxffimI=;
 4:JCX+LhV4hwgSoPhI/o6KFqjVuIANVj+G3FBcA6XFQXW55HHAik16oQggqcVEUgpr0PFslZo6oZWNGFP08MaBcV+sGWocjCyjw31Xnt3284UkxKyHrdQRPv3CsiKMbgRANbMKzJKUMI+z60n4Mbo3iU65gTbkoLKAoPx0J08ZV0zZLratOKypc4NHYMHGVQ8+SYOp2o2IGeFEwbTq9wCl30RZc0Bs1MBobMKA/CPeML500JRtqt71mCkuSTNBQHGeBKPL2GSeFMLzmiMKwPSegg==
X-Microsoft-Antispam-PRVS: <BYAPR07MB50009969AAE5C477AB82F7CCE3E50@BYAPR07MB5000.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-MS-Exchange-SenderADCheck: 1
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(3231355)(944501410)(52105095)(149066)(150057)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123558120)(201708071742011)(7699051);
 SRVR:BYAPR07MB5000; BCL:0; PCL:0; RULEID:; SRVR:BYAPR07MB5000; 
X-Forefront-PRVS: 0818724663
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(6049001)(136003)(396003)(366004)(39860400002)(346002)(376002)(189003)(199004)(50226002)(81156014)(107886003)(1076002)(25786009)(81166006)(3846002)(6116002)(53936002)(26005)(47776003)(478600001)(105586002)(106356001)(2870700001)(97736004)(48376002)(316002)(8676002)(7736002)(4326008)(68736007)(50466002)(305945005)(6306002)(8936002)(52116002)(51416003)(6916009)(956004)(386003)(5660300001)(72206003)(966005)(42882007)(36756003)(6486002)(486006)(2906002)(186003)(44832011)(66066001)(16526019)(2616005)(1857600001)(476003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR07MB5000; H:jerin.8.8.4.4; FPR:; SPF:None;
 LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
Received-SPF: None (protection.outlook.com: cavium.com does not designate
 permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BYAPR07MB5000;
 23:g2GlMjVxVMYj/YNid1QY/3bxr0coUdLf57/80sYuz?=
 =?us-ascii?Q?wPsDBCnksEgDgOprJXOardqIJLTVeCxAjbWIKPQ26j9y8K1aqoM7CJy3CwhJ?=
 =?us-ascii?Q?VOHy4EOEH/QUQXveE7aax0/OEB+tbE+peVAcLa8e9jrvGfusrBbhHpmKkCdh?=
 =?us-ascii?Q?LhDNy5kY9g5VTJmkU8ibnKvthiXq84b0k6qTXQ7uIa7K+DwWwGPBq3GkYLtR?=
 =?us-ascii?Q?unFqQBOAAQnChcLd1o9TDOfBMybIy2/f4K8e+JpO2iH6P04/sUdX27wkavWQ?=
 =?us-ascii?Q?GaF55cXG03QqNTFhSHEJyPJz2OFwJkmHmlO6/1czbUJIT8IVH/u4Ax/s5NHZ?=
 =?us-ascii?Q?fjgpOKNgr8Z8FZVO84/OUTizwNf0PkKNsJVWVOwoYknB9Fan9Xibvdc3Jld/?=
 =?us-ascii?Q?JotpCHxeTbVCU/4pjbnqqcechaOLcswizIVgWGNl+3F3xSD0UPdQUDJ/INRZ?=
 =?us-ascii?Q?t1siAusmn119SDLyiP+vKD9V/ww3oHnbDQh2A+5VfmR5vn65fX1ErpbMAcu2?=
 =?us-ascii?Q?BRPlHEYv3mWMPN9TZ27LwnkUtR3ef2M1+Hot5eC/xmxbo34Hu5lGr2Y6w1x5?=
 =?us-ascii?Q?2NjFmu0LWmYLD9+g6tiATzOlKf4YiTwm391N3idtxIhkstNTlg8Cuu91t2r3?=
 =?us-ascii?Q?zURl6vZuPFlf7bCLENwwggPI69mVnFFao2RKztE7cy+Tz1pkhmJVLtvwJ9w3?=
 =?us-ascii?Q?aY37YfZaN9s4pooCMKS7BXuHD6S0jA19U/lfTO7P3J32Hjmxz8iihydUuLYc?=
 =?us-ascii?Q?TypSctj5agLuI20/4VASYiLqfQHsENLAltBg2Y2MZXCbHCaul/54S50JU+Ru?=
 =?us-ascii?Q?wGNAktXBMYls9QJu+pPNMBtZ65+0qrKaNeDATvTfuAl0vceMjydANorX9lFE?=
 =?us-ascii?Q?Y0j2yK33VGrchhkHfkU43kn+hbpkO+QEhVgWlSOQQ8iJce4emX7b2V0UPgTG?=
 =?us-ascii?Q?T9+Gggg/gSYYISSq7JqCaDk7J50Nk3Ppxy0MO0RXxvD74A2EjOYOJ3nYb8a9?=
 =?us-ascii?Q?V3UW4tQM6m433F+svI3Op3JBL74lc9NW2jRiD/zXUPLuj9Y1TYUjYeebS+9E?=
 =?us-ascii?Q?8V5fu0eLs4owuT9PJKS7fPYGKRwC0DLJ5sihMLvBoKVrNe864oDJXYk8PeRc?=
 =?us-ascii?Q?ixZZDKlGaNvqJNcMo0J5K6+EyP+v2aaMC40OZZ8wXOreMCTJ4MkCGiFpmyKg?=
 =?us-ascii?Q?CwQsVjuXpzvSh9y1cl95PdUxxaQnXcJP81hDV/brFYTpJPt8vseOHbc0A=3D?=
 =?us-ascii?Q?=3D?=
X-Microsoft-Antispam-Message-Info: jMwvaUQ5bI+bMopPWV6FQinFeT8uounOCk5+1yjeplKhJDFSN63fQlMKOVK1JHVmXP6UMchystdahhsK1XJB5CDufV9SwOdXLpDb1870QUeEflm3UjK5xZwiUatD9Kqf1Ao+cjbIOs+xfvlY3o9gF6yzQMYqXevS4ha1yfG3bRu60w42fw0gzLDVxT3f4J02SsXO5jWNBMI2bz2jpMPZA1GrFBrUxXmjQ4sbdRZLCIjcRkNWZ1/xE2dRH0rz3RjS0koSiYPKB0/yBZzpKvgtaSEpPsSn15Bl4++rhHsmqvEAET9ZR4HFVuNhrYneSox8V7TijbZRNifAQo4QOyelACtVmlmovjj/KO/D88hkzJs=
X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB5000;
 6:aAQQPGT0BZ0vE6rulru7/1d8FAgC8HzMcABirPZu15YxgCWvSc3iHgK5nZusAwcwgTZ86VBJLl/S0YEa5j1kUDLM0RgfNQ1sGOuoYIB//0NXTtdIF18LFEMo5hj0V1a2e8O3EuZ7XxWdPqYib8OByLCfW0ehf5+zOmkw9S+4w4w/ikd9PJVcHgx4dnfII12MyCAiFZyHIrrHvZcfHTL8ZzEk3pcV6xwHkjH6W1swksqD3ZLoblBQovJPSHayqbdjmKqY4utpIVh4QD9u3LNgIeUhsevoetHWDx/L59SAVWP7+UjwTfj9cuP2+B+rR6nlijperLVGCKMIbnChlI39LGjlZSc+XRhIDx3UNuvAgub1fUezhoqvXyDmVCe1ictjSuqvIRTidGgq63i9h4FRdKtGoUJKxhHE7KboTZL7afKdCICYswGpTPiAgiMF4tXCoTU1Q22Z7R52nejChyoJFg==;
 5:KQsmtpldY4rmW9zJRaNTHpBid6udUxycnvhEWNSSKI8ZN9Ib7NVXUXWuZfS2btaKH3Oz0wIrZJ4kVEoLHz5P6R5zxLg5NVShz5nwKGx6w/2bSHtIvSp/eeW8Tm25+5xCusHcVN855rOm0yeeV062TbY1x+TysQprrgHZHH+6Wms=;
 7:BduzIhST8vtXbvX2/SHigEi+561xUwA44wC+kxDnl0gJVOH/5EyQCKcUCMKa40vYXOElNQKgFt9W6DWGL2Akr1ftzapDQ+bDVISgQsacSQl9Ko2r4Fb9Dlqlnx5CH9V95LxvSNUPWACaa/g+YZWJS1CqjaKKH88YX1dJGvDY5i+DYaZn1+QkLScRogWzN8Gvm7+W1TfHGOGYaeiXAPKy5stfyT9/ZW3HXSbtyX8G+aadqo5jCk2WQEbp96PBQVDU
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2018 06:19:57.4413 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d32745d7-e205-421f-7a72-08d62c1ce906
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR07MB5000
Subject: [dpdk-dev]  [PATCH] eal/ppc64: add support for rte pause
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Sun, 07 Oct 2018 06:20:03 -0000

Add support for rte_pause() implementation for ppc64.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---

The reference implementation for Linux's cpu_relax() for ppc64 is at
https://elixir.bootlin.com/linux/latest/source/arch/powerpc/include/asm/processor.h#L440

---
 lib/librte_eal/common/include/arch/ppc_64/rte_pause.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
index 8bd835764..16e47ce22 100644
--- a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
+++ b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
@@ -9,10 +9,17 @@
 extern "C" {
 #endif
 
+#include "rte_atomic.h"
+
 #include "generic/rte_pause.h"
 
 static inline void rte_pause(void)
 {
+	/* Set hardware multi-threading low priority */
+	asm volatile("or 1,1,1");
+	/* Set hardware multi-threading medium priority */
+	asm volatile("or 2,2,2");
+	rte_compiler_barrier();
 }
 
 #ifdef __cplusplus
-- 
2.19.0