From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753123AbcBCT6M (ORCPT ); Wed, 3 Feb 2016 14:58:12 -0500 Received: from mail-bl2on0089.outbound.protection.outlook.com ([65.55.169.89]:43392 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752274AbcBCT6L (ORCPT ); Wed, 3 Feb 2016 14:58:11 -0500 X-Greylist: delayed 872 seconds by postgrey-1.27 at vger.kernel.org; Wed, 03 Feb 2016 14:58:10 EST Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=caviumnetworks.com; From: To: , CC: , Subject: [PATCH] irqchip-gicv3: wait for ack from redistributer after read_iar Date: Wed, 3 Feb 2016 11:43:08 -0800 Message-ID: <1454528588-32721-1-git-send-email-tchalamarla@caviumnetworks.com> X-Mailer: git-send-email 2.1.0 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.2.3.194] X-ClientProxiedBy: BY1PR0201CA0036.namprd02.prod.outlook.com (25.160.191.174) To BY1PR0701MB1784.namprd07.prod.outlook.com (25.162.141.22) X-Microsoft-Exchange-Diagnostics: 1;BY1PR0701MB1784;2:Dl6m8Hb9PhfNrmzAsgU7Nh5ZrdgCGL5IMlSreWB7iy7vSB461kbNuyxHyzDpNHPYe+dnEpWmxQmK4W4Ek9L18mVyIYVM/6PhxAVZj8mbaYzK90V+G5JD4BNcwDH1w2FN7oaxFGI6fU4YUWWjmrIX8w==;3:PHh9oPqXmHHxUw47pfbrNuao7jlpaZJGvFlAiIn8asI3iRyltlfYJW74QKvJh2wv33Ta9R/DUI3NAOOWt3mbEu++5znEGF65x7emXVVmY2o8Du29y1Xi+cpqPwcjkcMH;25:GxkKnXaNq+6FwvSE9BlYgab1YdmF9ihxDoLfZIRaV2B75RRfTmxNwvnO2eazs4KmdSNE4duig8g0gQhNyUz8GueWKvOAathcna2/6kt2Ctt0DYl05b8lcpd3mn25c8zw1eBYP8o3mA9CpcZ/wTEHE9yGy4mEeGViM9DgphAivKttRfq4UXemmLshwWIxWe2GvxRT7q3w+EZl8cvp0zPelOeNITDHIz1MzdMC7SrmrPnywV/H2oFVH4CeqDCFZSIT X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0701MB1784; X-MS-Office365-Filtering-Correlation-Id: 12d649b4-1f6e-4fb7-9f17-08d32cd24eea X-Microsoft-Exchange-Diagnostics: 1;BY1PR0701MB1784;20:dNmQvYvmbDmdHdIpKc+SU44Qi9mTcXLORsHIm4u+74ecmgrd6p9NU/17CXoRG5UcfCWr7nLvT1hnJyq7VuqipfRxg3cYRMO1FagK6CpO0AbNwH7hfascwTU93CKEFH7m6d0sZNUsBHRHyD4kUT1VNeVTIIjgeen1uXhqFxfIR5yTQUKJFovlF3y1cFpzh3RRSD2AKS8MahfnbVBTlyutPtHhRlyrdWcnp6EM9wB1dPYDChd24KiX2WeWyCAyo2ERfeoKkbedPKohBJdMECJDB3flBpuz4ImHVMC8Po0rzLu17UR7Dm10gme/YLWE5WnXOlPMjw7Qv8IK0EBrbaZS9h7yfLZq4XvInp7Xx9u5qwFQNPDpopCK60Rq8Jo1lIh7JTUbxkMAjvGxCdLluolYoo4Zf4XEHMafQf4hWwspjULCzP6SrlRwiuEHWYSVhbbZ9tpl+f30q8wSzx2sZ6E7/2jX2UNvE/8FkOkycJ8/Y16muDh4c6/bXMNMrmsk2uHvfoaV22+0hGLXjGyjp8xq114+nTY6KnfXHLH1fiALLqjHWaB0F2Z4jbm0kcXn8jxdCFHbR0zz+1f62I7P9uywbPQbmvK1TMMU/7QV260Rv6g= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001);SRVR:BY1PR0701MB1784;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0701MB1784; X-Microsoft-Exchange-Diagnostics: 1;BY1PR0701MB1784;4:NRlyy6wAUSjXIC5L2z0+5vDmL79pOr9IiYM2fr6Fz5XkUlr2M+lYpuXeOGXDQPrAVsSjJ7lbp3PctklilseU2JmAUoqF5vDbf0s2mdhoPqY8lATD+ZqtWcNDZAv9TJJS80fcwirnWu65Zl7k8WRovEiRXPTXXa67omMN4bE+MuTuwuZJ+dzpYCbtL2ct3GfDgXYPjDlVvTpBTozJQk1/x81am/eWMfPZU8QLFquv3LBpqYqNFiKKpPovFMH5+J0RXVAEEnzRapcSzIUIE0oYoSitxxeModVxeZL5XMQb5mXfQl9C8N8padBLmIS8AAS7fX+HKuipzP3RuAmbKk9lVBhKeRoJhr2nPJLQccVNHEhMYRBdWrdAXQQKZNhaTy+u X-Forefront-PRVS: 08417837C5 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(3846002)(107886002)(586003)(40100003)(5001960100002)(77096005)(36756003)(122386002)(42186005)(1096002)(33646002)(4001430100002)(50986999)(189998001)(86152002)(66066001)(53416004)(6116002)(5008740100001)(50226001)(229853001)(48376002)(2906002)(5003940100001)(50466002)(92566002)(19580395003)(19580405001)(5004730100002)(4326007)(87976001)(2876002)(47776003)(5001770100001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR0701MB1784;H:tiru-pc.caveonetworks.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY1PR0701MB1784;23:+rogVdLazUcSvy3CKqZIn5hWqA+Zgze/zY8Hd9h?= =?us-ascii?Q?lJ0SicgfdBBcT725DN6SMhBzNzZnRzgK2TqkFwO6M+TK6SJO5jvHEcZ92Po/?= =?us-ascii?Q?y4dIaD9rli6c5HcSNYywsB71n78I9LQa9rpVupr1dSKh7nAZQQtYs0hg9YUX?= =?us-ascii?Q?x40+zgIAJgwlzTMwpFZMRl79+cM55V5yX2kCWBZn+hzU/9yfdmxRXhAmc0KQ?= =?us-ascii?Q?P8Npgj1U32Vs4HSt4MNC4HwehT7gqr7/xlUGSq3NigAZS3ibiPiBWVBH307u?= =?us-ascii?Q?2ucv1gnX3ZstZYV3DMIowrnfk03TC2qZigwclFi8UKVlZy1wpcFyLz0P0Anr?= =?us-ascii?Q?9w74PajuO6A4wFcjAUd5zpbeFr+qOIKDx0O0vl7/0E0NfKS2smAxpuzvIErd?= =?us-ascii?Q?Pw6twMqUadozQNU52gIzmqeJgiQXOS6+1fLiMQM2eKFp6bPOM3RcMlAeEDkQ?= =?us-ascii?Q?KCKewNtKThKzIK+gEq0Y/hJjLrCoB1RdYPBnuGNh431Z0xcQFemWRcxhksRk?= =?us-ascii?Q?NgXNA9urvPDv0hPGjru46i3r5EeAc4Q7Ub3auozzmYBN9blVMdIua5wHtMis?= =?us-ascii?Q?Aerhk4DX4Y7Yw6pgnmCljTrQuhSswcKgW/73Z+8lQrNAPEEdL1qxb752Uc3U?= =?us-ascii?Q?MpVZfNXJL71BiZKEEc1QabY17o0WVcBidqCByeTv/tUtdgN874E7glXQUtAS?= =?us-ascii?Q?jJGzxONrvqHeQj2zkoXTZroDx7qqnphsmT65uDzSoINxSUdCsDveB5paFqr/?= =?us-ascii?Q?3NrD7mc7+4uhTbOkguxk7thiLcdvih/0EwUzb+K+pSAQYh9AFOxNTBU9kD+8?= =?us-ascii?Q?qNOjkcw03X+lnmCAzF4kBcKOaWqlDwZqi68Sa0BwR0+CW9i8zlzmzHKHfZ/+?= =?us-ascii?Q?ANgg4srVN5zutzvJGGoqCK37fSaQw5foZSkRLv9J3fgPJ8mjL77SZ5V/8eI6?= =?us-ascii?Q?wQ22eqiLBcM7MhKNcF+mQoV+dHdiiF//Z4RV2jAn7Cw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR0701MB1784;5:ozbJJwCyfRcPzWyFOo7M7HqU0R4+ljoaDXMwhMrtYJVlwUTt1EhVTuFoWR5KeBnVbnzGTuBmPya8px4KVJhiJNKJKf5RdV1OMUea5XITaBs8LOK4rC+EG0DhNqb+p6mY4dsJRFxgWSxUtrlsvP9o3g==;24:/6LFcoAItn+mo2Ddo5Xz8x7IDE58V9p1Nu95cuWBRMrjCp4wH8apyyxLOYgBwZGNY4nRh8uHoqeulEj570dT6+lDR9iIBvXLavnX+I+TL+k= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2016 19:43:36.7656 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1784 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tirumalesh Chalamarla Systems with high number of cores and sufficiently loaded, there exists a small window where it is possible for re-distributor to illegally merge two LPI and cuases missing interrupts. Solution is, wait for ack from the redistributor after read_iar. A "dsb sy" after IAR read ensures there is no illegal merge windows. giv3 spec version 32 also warns this, see section 4.4.13 Signed-off-by: Tirumalesh Chalamarla --- arch/arm64/include/asm/arch_gicv3.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/include/asm/arch_gicv3.h b/arch/arm64/include/asm/arch_gicv3.h index 2731d3b..8ec88e5 100644 --- a/arch/arm64/include/asm/arch_gicv3.h +++ b/arch/arm64/include/asm/arch_gicv3.h @@ -103,6 +103,7 @@ static inline u64 gic_read_iar_common(void) u64 irqstat; asm volatile("mrs_s %0, " __stringify(ICC_IAR1_EL1) : "=r" (irqstat)); + dsb(sy); return irqstat; } -- 2.1.0