Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1se4jr-003edR-9F for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Aug 2024 03:31:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1se4jo-007s36-ER for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Aug 2024 03:31:52 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1se4jn-007s2y-9p for pgsql-hackers@lists.postgresql.org; Wed, 14 Aug 2024 03:31:51 +0000 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1se4jj-004doT-N9 for pgsql-hackers@postgresql.org; Wed, 14 Aug 2024 03:31:49 +0000 Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 47E27Mmu026281; Wed, 14 Aug 2024 03:31:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:date:message-id:references:in-reply-to:content-type :mime-version:subject; s=pp1; bh=TMMvjjemxwHOW+VYCHc6pxtT9rqART+ W2NyCb3d1Wnk=; b=OxNZ/p4RyJRsm6Y2aHOKiefkLXJWJX56DAC5PYgnIdE/Ckw d5VbimQDjBXKUS7LpbRpjIbZn5qze2BYNxHSsKHfdl3eZPhvW6JppAN3aCMYPlbA 2a3nyz7DjIFS8P776GBJSxbagvPqGT/Iz5WhQzr7BADhmWFM+rlKO65y9u4iG5kY vt0wsY9O2HeNeGI1X2hQNG8LvXA1PAbtK2mHsccUFH7o+dmpSls4uyZGLEtbJ3aJ AV/86SALFOvLB80+wq8E+0/vaNl3RH11wNX0hN8F4yRg3dhQUhl+oy0rebL7LagB 0TNIirhno9Z4K6/47+yuNBbATEglTgbAS3xfqeg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 410jj3ggae-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 14 Aug 2024 03:31:38 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 47E3Vb3S018005; Wed, 14 Aug 2024 03:31:37 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2041.outbound.protection.outlook.com [104.47.57.41]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 410jj3ggaa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 14 Aug 2024 03:31:37 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xwEyecQJ8adhI3G+sOz7cH4IBQqFMaCHHaDZ79lbCinMhfxf6goqb6HPvYvz7oHKvRx4CQjtXVkYcHi+nf42v3e3+VWYGkLcqcgpzRXmr6BTE9DWMys6O6ecfsdfHqWPJcD7Uzd4rRHrwtNaY37aNk05Ekljc4OEo5qDOYVoH9y0400ELG18XruAxMp+dwmh2TzVsvXE9+NsSwel2798hHo5ai4pHNoa94Gk0JkyKhfMOLlF/uHUsElEWfEdBEsS8TqNtskt+NYJ4OajgQj5DNDfjBWryCboItBWTWmsmd1B5+3qiOEeBabT4+ndrQX0VtDClb/mGsxUh2TifqrPjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TMMvjjemxwHOW+VYCHc6pxtT9rqART+W2NyCb3d1Wnk=; b=sBbep4+3HbrYqvrrmUrDMOH/63zAjxYi9Fi+1bAxarhwnwb9x1iLk6ROqoWDMP/1ayGtb8H2VmxJWcBPalM2Q1WioUz6u5Ee/FMtCLDdT26t5103dUnu/6PIvZ3wqktU8/Y2F5ruSI1Up/akWAKXc1SUMz+nzl1NLE5sDE0c1uh8NeJjM94pp2BAES0Azr2BE+T8jcdq0LitIvJaGdRsGCPwJqt8mmhEmBh1G1ijkdchcKr++wDkn8U4eXaHXeLJZw7gl1MU9YiLbCaDuNVqgAjkaLJ2GDONqx1kbiGzQc8tBBp1Yqq7hP+q49mPmfA6kihflgcn/Z5JOKOiR1SOYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=in.ibm.com; dmarc=pass action=none header.from=in.ibm.com; dkim=pass header.d=in.ibm.com; arc=none Received: from CY8PR15MB5602.namprd15.prod.outlook.com (2603:10b6:930:9a::21) by DM4PR15MB5543.namprd15.prod.outlook.com (2603:10b6:8:110::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.22; Wed, 14 Aug 2024 03:31:35 +0000 Received: from CY8PR15MB5602.namprd15.prod.outlook.com ([fe80::e975:185c:340f:70ae]) by CY8PR15MB5602.namprd15.prod.outlook.com ([fe80::e975:185c:340f:70ae%5]) with mapi id 15.20.7849.021; Wed, 14 Aug 2024 03:31:34 +0000 From: Srirama Kucherlapati To: Heikki Linnakangas , Laurenz Albe , Bruce Momjian , Heikki Linnakangas CC: Peter Eisentraut , Alvaro Herrera , "pgsql-hackers@postgresql.org" , Noah Misch , Michael Paquier , Andres Freund , Tom Lane , Thomas Munro , "tvk1271@gmail.com" , "postgres-ibm-aix@wwpdl.vnet.ibm.com" Thread-Topic: [EXTERNAL] Re: AIX support Thread-Index: AQHae4rr5/ageaPz8EuxaB+VNKiBu7FCOGKAgAArgSaACn9l2IABLM4AgAADTgCAAAP8gIAABU6AgAvJNWiAAB/ogIATySEqgACu3ACAARripYAB4tSAgAAMOICABwWYgIAAB3wAgAAD0oCAAAcGgIACYnHWgAxC+/6AAz5ikoAC7ZKggAAzhgCAAAZWgIALF3TtgAAGbYCAAAc8toABabZigAAKZACACX4wBIAA83CAgAA8Eh6AAGyZAIAD7Q2AgBOpYxWABEWoAIABtJbFgAm10OGAAxsEAIAACpc/gAM2cX+AU/nKsg== Date: Wed, 14 Aug 2024 03:31:21 +0000 Message-ID: References: <202405161430.ukr5bwspmfdp@alvherre.pgsql> <698dd3efec644b5c0dd6220d73033f8153ae2fde.camel@cybertec.at> In-Reply-To: Accept-Language: en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY8PR15MB5602:EE_|DM4PR15MB5543:EE_ x-ms-office365-filtering-correlation-id: 2f5644f4-9b79-4494-db9b-08dcbc119924 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?qZ6hrD8KJjY0aiACjM4SI6sjLuJ/S6oPeb2JWP4NS+v/1mCSn0g3tvAieFlo?= =?us-ascii?Q?FA7ReX17Bnm1ZMpDjmd7+Z48CWXM10PhL1EplzPxCe0KGYEMy/yV0toWI9uZ?= =?us-ascii?Q?sS781582MvJVULtxwUUZjJ8u/vJlyU8iqV4GWkTHqCokV4tVo49h8LkpeE1y?= =?us-ascii?Q?04Bp1x9s5t+uSD04+ZqPLMwaJMozF1FNPit3YdoJ8h5mOhXSQ62jMziPLNQ9?= =?us-ascii?Q?TarYoti/DthZ7aeC9HgQknDL+5OohGYOLviGB+MBU8Hu2KXiy6JcpbMARlMc?= =?us-ascii?Q?M4PDxAqCfRJthNEhgCSvLkmW4m2Ps6mnKP3GT7nhYdyvXdzeqhtYxuYUNMst?= =?us-ascii?Q?eYywAQeM1nM47hfxzP0OqKskgVqwVOwi7V32mvMTvytMF/pjeSibJJywG92M?= =?us-ascii?Q?xG/oxe11ycRCaP3VaFJGIxDLa/hdK6LOQgpJurUWz8F+rR05U9k2j/R7xF2A?= =?us-ascii?Q?dVuJNzWucVpIUNvARyTwtUz7Mz/f3d49JviNvGUIwry4qLEdR20MDTn0Cwy6?= =?us-ascii?Q?1wJYmxt2Rc9eG944n9c9QTisndF1p/HIippQlPtMyjDqxvdpJxqnlFUeiS/b?= =?us-ascii?Q?FqN2tv3tSQrO2kSuAvpi15jA1SQ+G3s4AU30thIczzAUbE7SxvNbNCY8Jv8l?= =?us-ascii?Q?VPuU/IosaqgBY4oiWtdJ+4z1zEXvv983ZyqIUX/76b6Px1txgBFJDZoHpPne?= =?us-ascii?Q?Q3nDGKLeV4UGN9sHFsrLhT6UFhjs4v1GgnY55kQwlEJ+SJv7Nh/4Oy5ZLRAW?= =?us-ascii?Q?ac4tap4pQsYK7YbM6L98YeMlrghNWsrD/59N2Dn1pfVu6MyqV5HZhcITCU8q?= =?us-ascii?Q?45WEaObwDC3PxAYMvzWQnJbmvHGRmWMHOLz36YwjyuWH6aCNXOxbaLbfCgBY?= =?us-ascii?Q?lfGliVyq+th/BTzGWBJ82amVODfvhzDBUZ73y1d1uJT84xA2ZdbQVwVVneSy?= =?us-ascii?Q?qzFFs9POs2G6QlvtK/wGoWK18yojeMO/EshRSVsfKMrGMIjgzxpRccMApqLw?= =?us-ascii?Q?yBhpM/QJTLrWGXGECqVTt5RaWFNe1bRj52fdSW/XA300+40OAPKT4AnhxzRN?= =?us-ascii?Q?d5yGAZYjLLN55IM06G6XTWl38yyWilKS9gT74NBYM6KzRsqLp27jDcoLKlbw?= =?us-ascii?Q?2hlxBeom7Ubujql3BYWs8KflO+euDA3sUASk3oQJDT0xBBMnt3Ki3MVdOZmA?= =?us-ascii?Q?LR6GDH6Va6jd2+s/9JWL134eUeKk8FNvgHEDWYb3FhKN+mBflOarNuro2ZzT?= =?us-ascii?Q?pGSDpYGQLqt+Kl+2ZI3nKTtkMJl1kt7ubFGBJRdjDpicP4nTSm8lHL+sHeNX?= =?us-ascii?Q?wXHPBi3oGlDGi9PGTG2kpLX8fI12+YKYmWCvXoazvxwJpnuT+PXo4sACUZSl?= =?us-ascii?Q?jybg7zBM9/bUjOE9PPNdcRoRMNcQ/v+XOZ1JSypGSPcAmtFStA=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR15MB5602.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?NeY/857NS+EImmym6cNyVzy0Bv7F2v0zZVLKDHMst2aQXsr0FIf7+6uPKN3E?= =?us-ascii?Q?PC/Z/MEma2GEqh7PbIXQDZUSpo3EjdR/yfNw4ot94njjoS4yXBYz/7nf/vZe?= =?us-ascii?Q?wTWyHrdM1MJ/v0TMvOWE3M7jomrh9jPOwvpT3mLCo6Uqz8z3GFIr/i+M5YGC?= =?us-ascii?Q?SuajnFzTmVVB6tI/jgJhhc3vc4LKn+ZJpouePGOu8eYn2D0LXf/06neMImf5?= =?us-ascii?Q?60kpbvWx3FveTVNRMET0RowKt5Lau/0htSPYUu4jTHIAgB2UhlG0CKF3yJc3?= =?us-ascii?Q?moYQBm19KHua6I70cHzOMtwczvXU5Lo+w+Vc1xRZaorkhtGiAl38VlrfpDhC?= =?us-ascii?Q?RMKpoktzVJjRfUB8gORhP0+gq44WkjIGBgjPteIwse2a7wVz4W1Tasv28nLI?= =?us-ascii?Q?Q/G7hU4d/qI8hQrGio8iIHMbftA4d1V/Ui9l1j6bdhJDMiflDsrS1vBqE7gv?= =?us-ascii?Q?sdpgZpcP58VU7Gei0xBs5w0Fuk81kaOuXGsRQvDfaVkWZLaXHtN1iQ2uRS1f?= =?us-ascii?Q?wYtn1F1Z8+lhGuBwTkQvkcLJjJecA0/0312InagroR9GRJbOJIR1+tTzq0EP?= =?us-ascii?Q?VtTzhGIK2So08cTdD0nXvueoNA03j9ix0WvYLUyrtdrbBeU+MifEPAPYmWKK?= =?us-ascii?Q?x/Px4w+2D3JtWIPbZE2q7f47+WFDehXcC3g4qP99EdmzkKre+jBz+bW8m0t1?= =?us-ascii?Q?1DCXk1ePmlNqColkCn1zz70HA+JemHU9hAlas42LV6O55h/Iy3EewF7ZWViP?= =?us-ascii?Q?veJYOR6MEquOuZtBejbiTZP9N3bni1nbuAjiHbhGSvHHinAR6Jig0bR5nk4k?= =?us-ascii?Q?GBg8f3xBGcQpif3cwIhLr0Q8pldmDvwH2CQGvSrFNSCZRgssvScVAOCw+JBx?= =?us-ascii?Q?J8XEJss/fM4T5DEIfBkvEwKRnP4ufxgR8l7HElxfqaz9G5VEPdE3IUrz6KUE?= =?us-ascii?Q?FIaGVUX35XIkjPJQ/RObfAdBRE1L0Z/w8hGhoOPnojYeNg/4ENAJDbHWyyA4?= =?us-ascii?Q?m+qHgkYiCUyxe0pw/OXohgqo0w/80bwu8ZsTogJpgE9p7lS5sDe97m0hh5Dj?= =?us-ascii?Q?X74qyopAVxoe1j0G94Fsa2vPztMgGjNk4AXMyJ2DC+5DKiBBpf3kHUK62udE?= =?us-ascii?Q?IpG+7vyni462QGIPqpe1wRRBeBOgD8nqwwjjV4OOmObxvX3izOMbhTN85CIk?= =?us-ascii?Q?pO3Alr5qclSaG1vzmw2PHsAGRn5rNO1yz6CQa85gspuKMb0ODUPYWAFQHTVa?= =?us-ascii?Q?1eOcrUtNc7vVht4fEfUT7QwUksY0r+7NSYiZYXmVNedj3l9zmDBEyOIbJJ9b?= =?us-ascii?Q?hlD513Ta+HDLwZi/TSGSKyGzq9bi9P+F/T+fDA7TS3XqVBWH2ECU7pu8C5AI?= =?us-ascii?Q?VTfuTdUCYbtT+iaPazRviYSScXs4uZMeOnkj0P7AyfSuzco6wQsZVY/OOZIk?= =?us-ascii?Q?IbsciTAWzrnY6Pt53ZsKIgtEnmFqM7ZjQhfqHGbXzqK1KzOGvqMSLq7zYng3?= =?us-ascii?Q?Ecq5o9hFHwqbC1lmVjdQILKvqQeLCqeaDCgZ/r5W9kLdDqUhqBfWl74FQf+G?= =?us-ascii?Q?+1HgNk2/MBabFSdifeHsevSZIq6GAXH5uj3G0AMAqZhgId08djJ0JmvYwcuI?= =?us-ascii?Q?UNMCheAqZW2v/BKqIXMPXw6rw3VNG82fJfvLN4AVd+C0?= Content-Type: multipart/mixed; boundary="_004_CY8PR15MB5602C6D2B148615EBD7F1AF5DB872CY8PR15MB5602namp_" MIME-Version: 1.0 X-OriginatorOrg: in.ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY8PR15MB5602.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f5644f4-9b79-4494-db9b-08dcbc119924 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Aug 2024 03:31:34.9410 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yDwPaCChcnmWRKW7TGMJWR0Nv+zZ5nkjkZSSeXb8DGHJxvS9Bu5c31O0BYyZ54dfQSZeiO3Gcu0Glrg5exA9lA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR15MB5543 X-Proofpoint-GUID: jeFAsGEMRlebVjdvXGulSBekBAvw3D4F X-Proofpoint-ORIG-GUID: Av_KKMM2VpqkxgWi7QCgfXWZmHk-ltdI Subject: RE: AIX support X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-08-14_02,2024-08-13_02,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 spamscore=0 adultscore=0 clxscore=1011 bulkscore=0 lowpriorityscore=0 phishscore=0 mlxlogscore=811 mlxscore=0 suspectscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2407110000 definitions=main-2408140021 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_CY8PR15MB5602C6D2B148615EBD7F1AF5DB872CY8PR15MB5602namp_ Content-Type: multipart/alternative; boundary="_000_CY8PR15MB5602C6D2B148615EBD7F1AF5DB872CY8PR15MB5602namp_" --_000_CY8PR15MB5602C6D2B148615EBD7F1AF5DB872CY8PR15MB5602namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Heikki & Team, I tried to look at the assembly code changes with our team, in the below fi= le. diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 29ac6cdcd9..69582f4ae7 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h static __inline__ int tas(volatile slock_t *lock) @@ -424,17 +430,15 @@ tas(volatile slock_t *lock) __asm__ __volatile__( " lwarx %0,0,%3,1 \n" " cmpwi %0,0 \n" " bne $+16 \n" /* branch to li %1,= 1 */ " addi %0,%0,1 \n" " stwcx. %0,0,%3 \n" " beq $+12 \n" /* branch to lwsync= */ " li %1,1 \n" " b $+12 \n" /* branch to end of= asm sequence */ " lwsync \n" " li %1,0 \n" : "=3D&b"(_t), "=3Dr"(_res), "+m"(*lock) : "r"(lock) : "memory", "cc"); For the changes in the above file, this code is very specific to power arc= hitecture we need to use the IBM Power specific asm code only, rather than = using the GNU assembler. Also, all these asm specific code is under the mac= ro __ppc__, which should not impact any other platforms. I see there is a G= CC specific implementation (under this macro #if defined(HAVE_GCC__SYNC_INT= 32_TAS)) in the same file as well. +#define TAS(lock) _check_lock((slock_t *) (lock), 0, = 1) +#define S_UNLOCK(lock) _clear_lock((slock_t *) (lock), 0) The above changes are specific to AIX kernel and it operates on fixed kerne= l memory. This is more like a compare_and_swap functionality with sync capa= bility. For all the assemble code I think it would be better to use the IBM= Power specific asm code to gain additional performance. I was trying to understand here wrt to both the assemble changes if you are= looking for anything specific to the architecture. Attached is the patch for the previous comments, kindly please let me know = your comments. Warm regards, Sriram. --_000_CY8PR15MB5602C6D2B148615EBD7F1AF5DB872CY8PR15MB5602namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi Heikki & Team,

 

I tried to look at the assembly cod= e changes with our team, in the below file. 

 

diff --git a/src/include/storage/s_lock.h b/src/include/sto= rage/s_lock.h

index 29ac6cdcd9..69582f4ae7 100644

--- a/src/include/storage/s_lock.h

+++ b/src/include/storage/s_lock.h

static __inline__ int

tas(volatile slock_t *lock)

@@ -424,17 +430,15 @@ tas(volatile slock_t *lock)

__asm__ __volatile__(

"        lwarx=    %0,0,%3,1        \n&qu= ot;

"        cmpwi=    %0,0         &nbs= p;      \n"

"        bne&n= bsp;    $+16        =         \n"   &= nbsp;           &nbs= p;/* branch to li %1,1 */

"        addi&= nbsp;   %0,%0,1        &n= bsp;       \n"

"        stwcx= .  %0,0,%3          =       \n"

"        beq&n= bsp;    $+12        =         \n"   &= nbsp;           &nbs= p;/* branch to lwsync */

"        li&nb= sp;     %1,1       &= nbsp;        \n"

"        b&nbs= p;      $+12      &n= bsp;         \n" &nb= sp;            =   /* branch to end of asm sequence */

"        lwsyn= c            &n= bsp;            = ;       \n"

"        li&nb= sp;     %1,0       &= nbsp;        \n"

 

:        "=3D&= amp;b"(_t), "=3Dr"(_res), "+m"(*lock)

:        "r&qu= ot;(lock)

:        "memo= ry", "cc");

 

For the changes in the above file,&= nbsp; this code is very specific to power architecture we need to use the I= BM Power specific asm code only, rather than using the GNU assembler. Also, all these asm specific code is under the macro __ppc_= _, which should not impact any other platforms. I see there is a GCC specif= ic implementation (under this macro #if defined(HAVE_GCC__SYNC_INT32_TAS)) = in the same file as well.

 

+#define TAS(lock)       = ;            &n= bsp;  _check_lock((slock_t *) (lock), 0, 1)

+#define S_UNLOCK(lock)      =    _clear_lock((slock_t *) (lock), 0)

 

The above changes are specific to A= IX kernel and it operates on fixed kernel memory. This is more like a compa= re_and_swap functionality with sync capability. For all the assemble code I think it would be better to use the IBM Power = specific asm code to gain additional performance.

 

I was trying to understand here wrt = to both the assemble changes if you are looking for anything specific to th= e architecture.

 

Attached is the patch for the previo= us comments, kindly please let me know your comments.

 

Warm regards= ,

Sriram.=

 

--_000_CY8PR15MB5602C6D2B148615EBD7F1AF5DB872CY8PR15MB5602namp_-- --_004_CY8PR15MB5602C6D2B148615EBD7F1AF5DB872CY8PR15MB5602namp_ Content-Type: application/octet-stream; name="0001-AIX-support-revert-changes-from-0b16bb8776bb.v3.patch" Content-Description: 0001-AIX-support-revert-changes-from-0b16bb8776bb.v3.patch Content-Disposition: attachment; filename="0001-AIX-support-revert-changes-from-0b16bb8776bb.v3.patch"; size=5355; creation-date="Wed, 14 Aug 2024 03:28:24 GMT"; modification-date="Wed, 14 Aug 2024 03:28:24 GMT" Content-Transfer-Encoding: base64 RnJvbSAwZDY5YTI2ZmMxYjUyZmIzZTI3NDE3NmE4M2U3NzcyYjA1YmQ3MDI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTcmlyYW0gUksgPHNyaXJhbS5ya0Bpbi5pYm0uY29tPgpEYXRl OiBUdWUsIDEzIEF1ZyAyMDI0IDA4OjE5OjI1IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQUlYIHN1 cHBvcnQgcmV2ZXJ0IGNoYW5nZXMgZnJvbSAwYjE2YmI4Nzc2YmIuIFJldmlldyBjb21tZW50cwog ZnJvbSBIZWlra2kKCi0tLQogY29uZmlndXJlICAgICAgICAgICAgICAgICAgICB8IDE3ICsrLS0t LS0tLS0tLS0tLS0tCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgIHwgIDUgKy0tLS0KIHNy Yy9pbmNsdWRlL3BvcnQvYWl4LmggICAgICAgfCAgOCAtLS0tLS0tLQogc3JjL2luY2x1ZGUvc3Rv cmFnZS9zX2xvY2suaCB8ICA2IC0tLS0tLQogc3JjL3RlbXBsYXRlL2FpeCAgICAgICAgICAgICB8 IDEyIC0tLS0tLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQ1IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCAwMzI3 MWYxODYxLi5mMjE4YjJlMDQwIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJl CkBAIC02ODQ5LDEyICs2ODQ5LDYgQEAgaWYgdGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZs YWdzX19mbm9fc3RyaWN0X2FsaWFzaW5nIiA9IHgieWVzIjsgdGhlbgogICBDWFhGTEFHUz0iJHtD WFhGTEFHU30gLWZuby1zdHJpY3QtYWxpYXNpbmciCiBmaQogCi0KLWVsaWYgdGVzdCAiJFBPUlRO QU1FIiA9ICJhaXgiOyB0aGVuCi0gICMgQUlYJ3MgeGxjIGhhcyB0byBoYXZlIHN0cmljdCBhbGlh c2luZyB0dXJuZWQgb2ZmIHRvbwotICAjIElnb25vcmluZyB0aGUgWExDIGZhbGdzIC1xbm9hbnNp YWxpYXMsIC1xbG9uZ2xvbmcKLXsgJGFzX2VjaG9fbiAiUnVubmluZyBBSVggZ2NjIGZvciBub3cu Li4gIiA+JjY7IH0KLQogZmkKIAogIyBJZiB0aGUgY29tcGlsZXIga25vd3MgaG93IHRvIGhpZGUg c3ltYm9scywgYWRkIHRoZSBzd2l0Y2ggbmVlZGVkIGZvciB0aGF0IHRvCkBAIC03MDA5LDkgKzcw MDMsNiBAQCBpZiB0ZXN0IHgiJHBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX2Z2aXNpYmlsaXR5 X2lubGluZXNfaGlkZGVuIiA9IHgieWVzIjsgdGhlbgogZmkKIAogICBoYXZlX3Zpc2liaWxpdHlf YXR0cmlidXRlPSRwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19mdmlzaWJpbGl0eV9oaWRkZW4KLWVs aWYgdGVzdCAiJFBPUlROQU1FIiA9ICJhaXgiOyB0aGVuCi0gICMgTm90ZSB0aGF0IHhsYyBhY2Nl cHRzIC1mdmlzaWJpbGl0eT1oaWRkZW4gYXMgYSBmaWxlLgotICB7ICRhc19lY2hvX24gIlJ1bm5p bmcgQUlYIGdjYyBmb3Igbm93Li4uICIgPiY2OyB9CiBmaQogCiBpZiB0ZXN0ICIkaGF2ZV92aXNp YmlsaXR5X2F0dHJpYnV0ZSIgPSAieWVzIjsgdGhlbgpAQCAtMTQ3MjgsMTAgKzE0NzE5LDYgQEAg ZmkKICMgc3BlbGxpbmcgaXQgdW5kZXJzdGFuZHMsIGJlY2F1c2UgaXQgY29uZmxpY3RzIHdpdGgK ICMgX19kZWNsc3BlYyhyZXN0cmljdCkuIFRoZXJlZm9yZSB3ZSBkZWZpbmUgcGdfcmVzdHJpY3Qg dG8gdGhlCiAjIGFwcHJvcHJpYXRlIGRlZmluaXRpb24sIHdoaWNoIHByZXN1bWFibHkgd29uJ3Qg Y29uZmxpY3QuCi0jCi0jIEFsbG93IHBsYXRmb3JtcyB3aXRoIGJ1Z2d5IGNvbXBpbGVycyB0byBm b3JjZSByZXN0cmljdCB0byBub3QgYmUKLSMgdXNlZCBieSBzZXR0aW5nICRGT1JDRV9ESVNBQkxF X1JFU1RSSUNUPXllcyBpbiB0aGUgcmVsZXZhbnQKLSMgdGVtcGxhdGUuCiB7ICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBDL0MrKyByZXN0cmljdCBr ZXl3b3JkIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciBDL0MrKyByZXN0cmljdCBrZXl3 b3JkLi4uICIgPiY2OyB9CiBpZiAke2FjX2N2X2NfcmVzdHJpY3QrOn0gZmFsc2U7IHRoZW4gOgpA QCAtMTQ3NzgsNyArMTQ3NjUsNyBAQCBfQUNFT0YKICA7OwogIGVzYWMKIAotaWYgdGVzdCAiJGFj X2N2X2NfcmVzdHJpY3QiID0gIm5vIiAtbyAieCRGT1JDRV9ESVNBQkxFX1JFU1RSSUNUIiA9ICJ4 eWVzIjsgdGhlbgoraWYgdGVzdCAiJGFjX2N2X2NfcmVzdHJpY3QiID0gIm5vIjsgdGhlbgogICBw Z19yZXN0cmljdD0iIgogZWxzZQogICBwZ19yZXN0cmljdD0iJGFjX2N2X2NfcmVzdHJpY3QiCkBA IC0xNzA5NCw3ICsxNzA4MSw3IEBAIGVsc2UKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KIAogLyog VGhpcyBtdXN0IG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGNvZGUgaW4gYy5oOiAqLwotI2lmIGRl ZmluZWQoX19HTlVDX18pIHx8IGRlZmluZWQoX19TVU5QUk9fQykKKyNpZiBkZWZpbmVkKF9fR05V Q19fKSB8fCBkZWZpbmVkKF9fU1VOUFJPX0MpIHx8IGRlZmluZWQoX19JQk1DX18pCiAjZGVmaW5l IHBnX2F0dHJpYnV0ZV9hbGlnbmVkKGEpIF9fYXR0cmlidXRlX18oKGFsaWduZWQoYSkpKQogI2Vs aWYgZGVmaW5lZChfTVNDX1ZFUikKICNkZWZpbmUgcGdfYXR0cmlidXRlX2FsaWduZWQoYSkgX19k ZWNsc3BlYyhhbGlnbihhKSkKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5h YwppbmRleCAyMjA2OTM5NWE2Li5hMDU5NTA5Y2Q5IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMK KysrIGIvY29uZmlndXJlLmFjCkBAIC0xNjQ2LDExICsxNjQ2LDggQEAgUEdBQ19UWVBFX0xPQ0FM RV9UCiAjIF9fZGVjbHNwZWMocmVzdHJpY3QpLiBUaGVyZWZvcmUgd2UgZGVmaW5lIHBnX3Jlc3Ry aWN0IHRvIHRoZQogIyBhcHByb3ByaWF0ZSBkZWZpbml0aW9uLCB3aGljaCBwcmVzdW1hYmx5IHdv bid0IGNvbmZsaWN0LgogIwotIyBBbGxvdyBwbGF0Zm9ybXMgd2l0aCBidWdneSBjb21waWxlcnMg dG8gZm9yY2UgcmVzdHJpY3QgdG8gbm90IGJlCi0jIHVzZWQgYnkgc2V0dGluZyAkRk9SQ0VfRElT QUJMRV9SRVNUUklDVD15ZXMgaW4gdGhlIHJlbGV2YW50Ci0jIHRlbXBsYXRlLgogQUNfQ19SRVNU UklDVAotaWYgdGVzdCAiJGFjX2N2X2NfcmVzdHJpY3QiID0gIm5vIiAtbyAieCRGT1JDRV9ESVNB QkxFX1JFU1RSSUNUIiA9ICJ4eWVzIjsgdGhlbgoraWYgdGVzdCAiJGFjX2N2X2NfcmVzdHJpY3Qi ID0gIm5vIiA7IHRoZW4KICAgcGdfcmVzdHJpY3Q9IiIKIGVsc2UKICAgcGdfcmVzdHJpY3Q9IiRh Y19jdl9jX3Jlc3RyaWN0IgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcG9ydC9haXguaCBiL3Ny Yy9pbmNsdWRlL3BvcnQvYWl4LmgKaW5kZXggYzU0Yzk1ZDRhNS4uMWMyZDE2Njc5MSAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvcG9ydC9haXguaAorKysgYi9zcmMvaW5jbHVkZS9wb3J0L2FpeC5o CkBAIC00LDExICs0LDMgQEAKICNkZWZpbmUgQ0xBU1NfQ09ORkxJQ1QKICNkZWZpbmUgRElTQUJM RV9YT1BFTl9OTFMKIAotLyogQ29tbWVudGluZyBmb3IgWExDCi0gKiAiSUJNIFhMIEMvQysrIGZv ciBBSVgsIFYxMi4xIiBtaXNjb21waWxlcywgZm9yIDMyLWJpdCwgc29tZSBpbmxpbmUKLSAqIGV4 cGFuc2lvbnMgb2YgZ2luQ29tcGFyZUl0ZW1Qb2ludGVycygpICJsb25nIGxvbmciIGFyaXRobWV0 aWMuICBUbyB0YWtlCi0gKiBhZHZhbnRhZ2Ugb2YgaW5saW5pbmcsIGJ1aWxkIGEgNjQtYml0IFBv c3RncmVTUUwuCi0jaWYgZGVmaW5lZChfX0lMUDMyX18pICYmIGRlZmluZWQoX19JQk1DX18pCi0j ZGVmaW5lIFBHX0ZPUkNFX0RJU0FCTEVfSU5MSU5FCi0jZW5kaWYKLSAqLwpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvc3RvcmFnZS9zX2xvY2suaCBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2Nr LmgKaW5kZXggNjk1ODJmNGFlNy4uMmY2ZWI1ZGYyYSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv c3RvcmFnZS9zX2xvY2suaAorKysgYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5oCkBAIC00 MTQsMTIgKzQxNCw2IEBAIHR5cGVkZWYgdW5zaWduZWQgaW50IHNsb2NrX3Q7CiAgKiBhbiBpc3lu YyBpcyBhIHN1ZmZpY2llbnQgc3luY2hyb25pemF0aW9uIGJhcnJpZXIgYWZ0ZXIgYSBsd2FyeC9z dHdjeCBsb29wLgogICogQnV0IGlmIHRoZSBzcGlubG9jayBpcyBpbiBvcmRpbmFyeSBtZW1vcnks IHdlIGNhbiB1c2UgbHdzeW5jIGluc3RlYWQgZm9yCiAgKiBiZXR0ZXIgcGVyZm9ybWFuY2UuCi0g KgotICogT3JkaW5hcmlseSwgd2UnZCBjb2RlIHRoZSBicmFuY2hlcyBoZXJlIHVzaW5nIEdOVS1z dHlsZSBsb2NhbCBzeW1ib2xzLCB0aGF0Ci0gKiBpcyAiMWYiIHJlZmVyZW5jaW5nICIxOiIgYW5k IHNvIG9uLiAgQnV0IHNvbWUgcGVvcGxlIHJ1biBnY2Mgb24gQUlYIHdpdGgKLSAqIElCTSdzIGFz c2VtYmxlciBhcyBiYWNrZW5kLCBhbmQgSUJNJ3MgYXNzZW1ibGVyIGRvZXNuJ3QgZG8gbG9jYWwg c3ltYm9scy4KLSAqIFNvIGhhbmQtY29kZSB0aGUgYnJhbmNoIG9mZnNldHM7IGZvcnR1bmF0ZWx5 LCBhbGwgUFBDIGluc3RydWN0aW9ucyBhcmUKLSAqIGV4YWN0bHkgNCBieXRlcyBlYWNoLCBzbyBp dCdzIG5vdCB0b28gaGFyZCB0byBjb3VudC4KICAqLwogc3RhdGljIF9faW5saW5lX18gaW50CiB0 YXModm9sYXRpbGUgc2xvY2tfdCAqbG9jaykKZGlmZiAtLWdpdCBhL3NyYy90ZW1wbGF0ZS9haXgg Yi9zcmMvdGVtcGxhdGUvYWl4CmluZGV4IDkwM2Y4YThmOGEuLjBhNzg4Njc2YzAgMTAwNjQ0Ci0t LSBhL3NyYy90ZW1wbGF0ZS9haXgKKysrIGIvc3JjL3RlbXBsYXRlL2FpeApAQCAtMSwxNyArMSw1 IEBACiAjIHNyYy90ZW1wbGF0ZS9haXgKIAotIyBDb21tZW50aW5nIGZvciBYTEMKLSMgU2V0IGRl ZmF1bHQgb3B0aW9ucyBpZiB1c2luZyB4bGMuICBUaGlzIGZvcm1lcmx5IGluY2x1ZGVkIC1xc3Jj bXNnLCBidXQgdGhhdAotIyBvcHRpb24gZWxpY2l0cyBpbnRlcm5hbCBjb21waWxlciBlcnJvcnMg ZnJvbSB4bGMgdjE2LjEuMC4gIE5vdGU6IGNvbmZpZ3VyZQotIyB3aWxsIGFkZCAtcW5vYW5zaWFs aWFzIGlmIHRoZSBjb21waWxlciBhY2NlcHRzIGl0LCBldmVuIGlmIHVzZXIgc3BlY2lmaWVzIGEK LSMgbm9uLWRlZmF1bHQgQ0ZMQUdTIHNldHRpbmcuCi0jaWYgdGVzdCAiJEdDQyIgIT0geWVzIDsg dGhlbgotIyAgY2FzZSAkaG9zdF9vcyBpbgotIyAgICAqKQotIyAgICAgIENGTEFHUz0iLU8yIC1x bWF4bWVtPTE2Mzg0IgotIyAgICAgIDs7Ci0jICBlc2FjCi0KICAgIyBEdWUgdG8gYSBjb21waWxl ciBidWcsIHNlZSAyMDE3MTAxMzAyMzUzNi5HQTQ5MjE0NkByZmQubGVhZGJvYXQuY29tIGZvciBk ZXRhaWxzLAogICAjIGZvcmNlIHJlc3RyaWN0IG5vdCB0byBiZSB1c2VkIHdoZW4gY29tcGlsaW5n IHdpdGggeGxjLgogIyAgRk9SQ0VfRElTQUJMRV9SRVNUUklDVD15ZXMKLS0gCjIuNDEuMAoK --_004_CY8PR15MB5602C6D2B148615EBD7F1AF5DB872CY8PR15MB5602namp_--