From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3ED54C433B4 for ; Wed, 14 Apr 2021 07:49:25 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 854D2613C4 for ; Wed, 14 Apr 2021 07:49:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 854D2613C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References:Message-ID: Subject:CC:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=GrotLd0gm7nmdoNmv03OnnsQtaLNFt37lbzSqRBNy44=; b=RendqfGeyoClth5q8CxcL5C3u VtL3YpAGsCH9kQGEtMDyDxMMDRMUv86OSs28CY6gtnQn/+zzeavNQHBnsC/JbfPDPx7Pov+AGK/vA yP56nn48WwSJx9gKpqbap8dFvPn14MiTYkIGXS2+j2O62j2sVmohwIAy7B4KxIW67kXQwWhMcx1vP YSN8e8pnUzSY9HoXzfANC9LUM2qAtAbDbgYuBt3vBT2xHuqO/nc+V7lk6QVboww1c3cEGKqnEhE9i An5L12NjUdRuOxecXUn1IBxBi4TX3DM26S/l2jLBb2f1P8ty509zgYoqD5ELe35LLU6KaKT/jOy4X f2QG7SxxQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lWaFB-00BskG-Mm; Wed, 14 Apr 2021 07:47:25 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lWaF5-00Bsk0-T3 for linux-arm-kernel@desiato.infradead.org; Wed, 14 Apr 2021 07:47:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=MIME-Version:In-Reply-To: Content-Transfer-Encoding:Content-Type:References:Message-ID:Subject:CC:To: From:Date:Sender:Reply-To:Content-ID:Content-Description; bh=E9dDdHIwZkV7r9qGvEFNc4GuGdDLCHQvGS6qe4Cl1XQ=; b=bvu3n4Bx3Z/bPrzjJD7wjkQcJH 1V8afwloAo9iUclquFRJ6apGy8FJG+dKp0U6U4+Z4e2+2BvGrADdHVxz3Fbv18m+e99DOtNN6Qyea 7KTynt+E4h+FHGXrBYtS1P8kcYA4GCZlv14f1mwu/OC7DMN8zL7/osRudJN3Pk0wRttPO0tWDr8oL dr3WInoVV7temqaBlosIraPncD5m2ZB2vmr1GAFwx3n69FDNS3uEFF4VJHGNynffVKqaulXp7ZI5X TYlPwyv4lIGgyQ8h6FhwvBa0IzlcPcw1ARizIymA7qgvY+WiJWGcfTuOFWTLCRkCmf6f5oM/XZEuL OP2O+xYw==; Received: from de-smtp-delivery-102.mimecast.com ([194.104.109.102]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lWaF2-007a6V-Gb for linux-arm-kernel@lists.infradead.org; Wed, 14 Apr 2021 07:47:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1618386430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=E9dDdHIwZkV7r9qGvEFNc4GuGdDLCHQvGS6qe4Cl1XQ=; b=QKmd300uUmSTnYdZhalVnYnsSnoa5mD4lO5RImlpJemk65SxqYLcTCqGXSvQ9AUdssxrAH dLMC5EzdlXhpOMVWxgpWBdncKZkpIvgsbrZrBiJ4SqVFPUsCtlHpSlIKx4KUMHtwxXEg2R 6xht3U3laEqkifVAj93oPekJYh+Mtk0= Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2051.outbound.protection.outlook.com [104.47.0.51]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-3-A2LKJI3BNg20qqrHwUpZRA-1; Wed, 14 Apr 2021 09:47:09 +0200 X-MC-Unique: A2LKJI3BNg20qqrHwUpZRA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mmK8geGzi9Eh2tmuK+VcHgMr+B82krOehvDkElzftrnxK7CjVBn7uA91RZI0j4QJP+QGzqMjmmzLqvHL4TMnWtqUeVMRd5hX8jMEmWRBRtDzBfYdej/UKLFT+43eSBSq+EH7/XtidDsh9Qm8roZjaqyTCeT+QNPoZluIY5BBsYiPV/SDn04BHgx3djR7uATA+q+Rrdv0O+IOeicEjsxPGazDYcShYIPlqQn852ZBzfQorfyJi7aQUjT039P1eHZ1fzJQaKvQPYrFiMxBGGbFluIjI4jzc0JKd/deiUZjR0BtLloJJ1e8eRgIIOpTEWrCcgwx+989t06RgW0XsURiAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7XeQGLQwH+K7l/kwa9AoSsOVBvaaScPE9r1NyD17mf0=; b=kJD+OR9iaJNbhiucAEwGSAQVFhOW2zciNh3oYjOQblsjo2WIl+ksLjs9q53xF/Em6AHCLilCGfIe0lVC86DykO9hho5KzteE7IuvMSH2CjHjz021YWAxn0V4h9cXk8XiLaTyX2mgrGR6EcfVpRC365ih+dU3Iksh40yD5FPTsv5wrC3L84ayGic6zBvTB/Vdn3mxUdIy5k4Q3dQchx8+NUY7nmv1Y9fR8hw9xa5VsWAK0AfqdxVLKZuO1jg2iefsgnwGkMsu2Rlx59KPohTclDMu3ZXCB+2GZ1laJ/zbYAuL/bPWbeMVy5uBJlFeC5lTWy6b4SNts3W/AYJwNCwoxw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: oracle.com; dkim=none (message not signed) header.d=none;oracle.com; dmarc=none action=none header.from=suse.com; Received: from VI1PR04MB4253.eurprd04.prod.outlook.com (2603:10a6:803:3e::28) by VE1PR04MB7280.eurprd04.prod.outlook.com (2603:10a6:800:1af::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.21; Wed, 14 Apr 2021 07:47:06 +0000 Received: from VI1PR04MB4253.eurprd04.prod.outlook.com ([fe80::38a5:f78f:fc4c:8a44]) by VI1PR04MB4253.eurprd04.prod.outlook.com ([fe80::38a5:f78f:fc4c:8a44%5]) with mapi id 15.20.4042.016; Wed, 14 Apr 2021 07:47:06 +0000 Date: Wed, 14 Apr 2021 09:47:01 +0200 From: Andreas Herrmann To: Alex Kogan CC: linux@armlinux.org.uk, peterz@infradead.org, mingo@redhat.com, will.deacon@arm.com, arnd@arndb.de, longman@redhat.com, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, tglx@linutronix.de, bp@alien8.de, hpa@zytor.com, x86@kernel.org, guohanjun@huawei.com, jglauber@marvell.com, steven.sistare@oracle.com, daniel.m.jordan@oracle.com, dave.dice@oracle.com Subject: Re: [PATCH v14 6/6] locking/qspinlock: Introduce the shuffle reduction optimization into CNA Message-ID: References: <20210401153156.1165900-1-alex.kogan@oracle.com> <20210401153156.1165900-7-alex.kogan@oracle.com> Content-Disposition: inline In-Reply-To: <20210401153156.1165900-7-alex.kogan@oracle.com> X-Originating-IP: [93.212.194.79] X-ClientProxiedBy: AM9P192CA0003.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21d::8) To VI1PR04MB4253.eurprd04.prod.outlook.com (2603:10a6:803:3e::28) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from suselix (93.212.194.79) by AM9P192CA0003.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Wed, 14 Apr 2021 07:47:04 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6d9853d1-49be-41a1-edbe-08d8ff19800f X-MS-TrafficTypeDiagnostic: VE1PR04MB7280: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2887; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: n4iOOGzBKzvO/RenIevyl86nYlt0o3E98fxpT4jAYshqVdqldystv3WxsSbUNZI30MVKn4GmgbXJGAJhC2O1puubkYWfw52fxnGTXipVbS72aq6S8MXCNQVtteMw7dywv9zAX87wGtP3fU61gMMQj2j7nJ239HeR3FXSePH1A9uJdqfQoU9xH5IVG+TfLt4c5WFpQCAQhwHgrYOrgz35THmdvvWI1GV3AJ/46ySD+Iu8v8GCHM4a0JT0qvndtqefkngz9+woQzV/51FrzoffkhmTl2hnZWP7KFbpVh7bQsE8tgnAHAWsEkbGGdRu3MeUMc3Y7mroWgZhJQ5156fLLf9zb896nzf9269HrRJPKGS7G+W2JoGVXKhsdeu2rA1qIAkYw+jd6qNSPK9mY8OYlIUY68zg9SXjTPwD8z4pcKPw25pymJz8fsIqdqcD1n7ZkpjnfldC7pVlwbL+pX65j7ZejwpGne2tBYGxxQ35Qgi4hiSeG9moKHQg8QVQausURqucWVVrxoB+wyKMIVU/tJAWIdAvEaHa9uja1YFUeUcuhcX1oPFIuYF+crvdpRic1EfkfY9xgUnJfJRPF/JJcI0YlzZ394LAJRF3GtIfxx6+4QYI4wbN7j4N/i4okF87hiP+CVajflQI1i9iME+Ivg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB4253.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(376002)(396003)(39860400002)(366004)(346002)(38350700002)(38100700002)(5660300002)(956004)(8676002)(2906002)(66476007)(33716001)(9576002)(26005)(7416002)(316002)(86362001)(6496006)(6666004)(6916009)(52116002)(478600001)(83380400001)(4326008)(55016002)(9686003)(66556008)(66946007)(186003)(8936002)(16526019); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?tNzwdXgZ3SJZ1+e/f6Ih9k9+Hfz5EyfwrtJw3gh8eUVJPCf6MYSxeKRAwvPG?= =?us-ascii?Q?dJio7K7wK0gnl2oiJV7aWSnb9snOKHx9ehHdu4g1PLoggqCXq7FEWsoaCTXv?= =?us-ascii?Q?VtaX23B0dN2oaEhYBgBE7i7N6hR7/qBMStvUnRLb0SH96mexL2VDGCxLiitB?= =?us-ascii?Q?pZsL17V0gDTltEfyFSpfgKTteGGpwvKERQHoTarAlaHo6dCxKveJt2YcAPgn?= =?us-ascii?Q?60lyx+e+iXG73DE7qysdt/kllaQGh2dy+/sRicfIVq3EhLVEbhpVXGP+oCsA?= =?us-ascii?Q?zy2kKCp1+960wuKR6WgM2OvoGK7BBjm+Q+WvWztqpRtdwl5aKufZZwJZe82A?= =?us-ascii?Q?Cn+pqYmAXmL5g6jiWyPdL0EnlQGBWcAIK/smD3ZmK0F8qV5EQ6+Zuvd0OkOq?= =?us-ascii?Q?HglaDve+yILk2Jja86gwg/VV7AyJzizjJ61daLQHZuF21DssTngTPKhHs45I?= =?us-ascii?Q?3CY7dNmpzxPrC02oJoQo7kh1mkxyHdVdh6qB8mjQ+43ASfOgiVDmDme6sHtF?= =?us-ascii?Q?f+PZFf7CG1u6jAuTw71weaXySUM/LyitWlYRkKdfjtlORXkD7upGKV/iuDMa?= =?us-ascii?Q?ZNZXOmmGYugU49LO7hAEu5jliwDvufl1C4UNorhIkSWYNag/DfO23CuQUYD7?= =?us-ascii?Q?X4IAVE2vp4bpMZRCUUYkb8ra04yHVoUHSKSH0cO9/aG2NAZ7CIxswZdEZknJ?= =?us-ascii?Q?oB0UzrSYxZtFLdXHpzhQcYO4fWR6jlAg/A9iJ0tgQvcIZCN6ber4SCT4NPIO?= =?us-ascii?Q?fPB+OLpu9wha6FBkh8Nmr9bhW/HVJANPikJP9X+mC5M1OIH8YCTdYf5kDhI1?= =?us-ascii?Q?/k+ig9nc5IgeuwHxNZHXm30d7UKxHwcY3iACKTyPMCBWM3OmFjaPWzw2jXuv?= =?us-ascii?Q?eK4sKEFP7T6IU/W2ZPJc+0BoVALrpkl3svDo7w4sAP+cuVzdvlPmWpQ/oWyL?= =?us-ascii?Q?Hyzm+N6DY5pJoJ7SzVqxRKxrO/kzeQx6dcqOD6G5EsW97FkuIAdFw0XMiaBf?= =?us-ascii?Q?3O1TeAvWkWzsGAakuhdDA0ensPVqNAkhBwZ/uXZ00XeWFuvAMD3wbh3xF6uw?= =?us-ascii?Q?wMjOoWdpCu0Ofg4qZnWbuRYYRuzV5DhXEVoH9R7q7IMgiY4xZ5HaJ/YCMuUn?= =?us-ascii?Q?n6WyPaHo9ikwWyTwXbeFf/0qql+e29YAAi9yywv9k65aCNMs19l7DVKzpqzU?= =?us-ascii?Q?O6/MvN+7H9ieypqXrLnnt5FjhlggAhlFiQ3nqIB6AtlNhN/LkJ4LBvldPuc3?= =?us-ascii?Q?Fmg0d3Nw5kymocay5ugMx1z3cY03Ek5y3TUuUWf+BMeFkfPo2OYTc89BT3ox?= =?us-ascii?Q?nxMYqE+bL6tHJTZvQfNjk0qe?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d9853d1-49be-41a1-edbe-08d8ff19800f X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB4253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2021 07:47:06.2586 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HEkmMptJxRSBh3K3WW8WSRcyL9RsnidAJYavQsrYqtjlh2SVMplvz12SqMrG4cDGHpPViImdqRnRFOqrnPQ8lQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7280 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210414_004716_724324_BA401B5F X-CRM114-Status: GOOD ( 26.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBBcHIgMDEsIDIwMjEgYXQgMTE6MzE6NTZBTSAtMDQwMCwgQWxleCBLb2dhbiB3cm90 ZToKPiBUaGlzIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbiBjaG9vc2VzIHByb2JhYmlsaXN0aWNh bGx5IHRvIGF2b2lkIG1vdmluZwo+IHRocmVhZHMgZnJvbSB0aGUgbWFpbiBxdWV1ZSBpbnRvIHRo ZSBzZWNvbmRhcnkgb25lIHdoZW4gdGhlIHNlY29uZGFyeSBxdWV1ZQo+IGlzIGVtcHR5Lgo+IAo+ IEl0IGlzIGhlbHBmdWwgd2hlbiB0aGUgbG9jayBpcyBvbmx5IGxpZ2h0bHkgY29udGVuZGVkLiBJ biBwYXJ0aWN1bGFyLCBpdAo+IG1ha2VzIENOQSBsZXNzIGVhZ2VyIHRvIGNyZWF0ZSBhIHNlY29u ZGFyeSBxdWV1ZSwgYnV0IGRvZXMgbm90IGludHJvZHVjZQo+IGFueSBleHRyYSBkZWxheXMgZm9y IHRocmVhZHMgd2FpdGluZyBpbiB0aGF0IHF1ZXVlIG9uY2UgaXQgaXMgY3JlYXRlZC4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBBbGV4IEtvZ2FuIDxhbGV4LmtvZ2FuQG9yYWNsZS5jb20+Cj4gUmV2aWV3 ZWQtYnk6IFN0ZXZlIFNpc3RhcmUgPHN0ZXZlbi5zaXN0YXJlQG9yYWNsZS5jb20+Cj4gUmV2aWV3 ZWQtYnk6IFdhaW1hbiBMb25nIDxsb25nbWFuQHJlZGhhdC5jb20+Cj4gLS0tCj4gIGtlcm5lbC9s b2NraW5nL3FzcGlubG9ja19jbmEuaCB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKPiAgMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0 IGEva2VybmVsL2xvY2tpbmcvcXNwaW5sb2NrX2NuYS5oIGIva2VybmVsL2xvY2tpbmcvcXNwaW5s b2NrX2NuYS5oCj4gaW5kZXggMjljM2FiYmQzZDk0Li45ODNjNmE0N2EyMjEgMTAwNjQ0Cj4gLS0t IGEva2VybmVsL2xvY2tpbmcvcXNwaW5sb2NrX2NuYS5oCj4gKysrIGIva2VybmVsL2xvY2tpbmcv cXNwaW5sb2NrX2NuYS5oCj4gQEAgLTUsNiArNSw3IEBACj4gIAo+ICAjaW5jbHVkZSA8bGludXgv dG9wb2xvZ3kuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NjaGVkL3J0Lmg+Cj4gKyNpbmNsdWRlIDxs aW51eC9yYW5kb20uaD4KPiAgCj4gIC8qCj4gICAqIEltcGxlbWVudCBhIE5VTUEtYXdhcmUgdmVy c2lvbiBvZiBNQ1MgKGFrYSBDTkEsIG9yIGNvbXBhY3QgTlVNQS1hd2FyZSBsb2NrKS4KPiBAQCAt ODYsNiArODcsMzQgQEAgc3RhdGljIGlubGluZSBib29sIGludHJhX25vZGVfdGhyZXNob2xkX3Jl YWNoZWQoc3RydWN0IGNuYV9ub2RlICpjbikKPiAgCXJldHVybiBjdXJyZW50X3RpbWUgLSB0aHJl c2hvbGQgPiAwOwo+ICB9Cj4gIAo+ICsvKgo+ICsgKiBDb250cm9scyB0aGUgcHJvYmFiaWxpdHkg Zm9yIGVuYWJsaW5nIHRoZSBvcmRlcmluZyBvZiB0aGUgbWFpbiBxdWV1ZQo+ICsgKiB3aGVuIHRo ZSBzZWNvbmRhcnkgcXVldWUgaXMgZW1wdHkuIFRoZSBjaG9zZW4gdmFsdWUgcmVkdWNlcyB0aGUg YW1vdW50Cj4gKyAqIG9mIHVubmVjZXNzYXJ5IHNodWZmbGluZyBvZiB0aHJlYWRzIGJldHdlZW4g dGhlIHR3byB3YWl0aW5nIHF1ZXVlcwo+ICsgKiB3aGVuIHRoZSBjb250ZW50aW9uIGlzIGxvdywg d2hpbGUgcmVzcG9uZGluZyBmYXN0IGVub3VnaCBhbmQgZW5hYmxpbmcKPiArICogdGhlIHNodWZm bGluZyB3aGVuIHRoZSBjb250ZW50aW9uIGlzIGhpZ2guCj4gKyAqLwo+ICsjZGVmaW5lIFNIVUZG TEVfUkVEVUNUSU9OX1BST0JfQVJHICAoNykKCk91dCBvZiBjdXJpb3NpdHk6CgpIYXZlIHlvdSB1 c2VkIG90aGVyIHZhbHVlcyBhbmQgZG9uZSBtZWFzdXJlbWVudHMgd2hhdCdzIGFuIGVmZmljaWVu dAp2YWx1ZSBmb3IgU0hVRkZMRV9SRURVQ1RJT05fUFJPQl9BUkc/Ck1heWJlIEkgbWlzY2FsY3Vs YXRlZCBpdCwgYnV0IGlmIEkgdW5kZXJzdGFuZCBpdCBjb3JyZWN0bHkgdGhpcyB2YWx1ZQppbXBs aWVzIHRoYXQgdGhlIHByb3BhYmlsaXR5IGlzIDAuOTkyMTg3NSB0aGF0IGJlbG93IGZ1bmN0aW9u IHJldHVybnMKdHJ1ZS4KCk15IHF1ZXN0aW9uIGlzIHByb2JhYmx5IGFuc3dlcmVkIGJ5IGZvbGxv d2luZyBzdGF0ZW1lbnQgZnJvbQpyZWZlcmVuY2VkIHBhcGVyOgoKIkluIG91ciBleHBlcmltZW50 cyB3aXRoIHRoZSBzaHVmZmxlIHJlZHVjdGlvbiBvcHRpbWl6YXRpb24gZW5hYmxlZCwKd2Ugc2V0 IFRIUkVTSE9MRDIgdG8gMHhmZi4iIChwYWdlIHdpdGggZmlndXJlIDUpCgo+ICsKPiArLyogUGVy LUNQVSBwc2V1ZG8tcmFuZG9tIG51bWJlciBzZWVkICovCj4gK3N0YXRpYyBERUZJTkVfUEVSX0NQ VSh1MzIsIHNlZWQpOwo+ICsKPiArLyoKPiArICogUmV0dXJuIGZhbHNlIHdpdGggcHJvYmFiaWxp dHkgMSAvIDJeQG51bV9iaXRzLgo+ICsgKiBJbnR1aXRpdmVseSwgdGhlIGxhcmdlciBAbnVtX2Jp dHMgdGhlIGxlc3MgbGlrZWx5IGZhbHNlIGlzIHRvIGJlIHJldHVybmVkLgo+ICsgKiBAbnVtX2Jp dHMgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDMxLgo+ICsgKi8KPiArc3RhdGljIGJv b2wgcHJvYmFibHkodW5zaWduZWQgaW50IG51bV9iaXRzKQo+ICt7Cj4gKwl1MzIgczsKPiArCj4g KwlzID0gdGhpc19jcHVfcmVhZChzZWVkKTsKPiArCXMgPSBuZXh0X3BzZXVkb19yYW5kb20zMihz KTsKPiArCXRoaXNfY3B1X3dyaXRlKHNlZWQsIHMpOwo+ICsKPiArCXJldHVybiBzICYgKCgxIDw8 IG51bV9iaXRzKSAtIDEpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBfX2luaXQgY25hX2luaXRf bm9kZXNfcGVyX2NwdSh1bnNpZ25lZCBpbnQgY3B1KQo+ICB7Cj4gIAlzdHJ1Y3QgbWNzX3NwaW5s b2NrICpiYXNlID0gcGVyX2NwdV9wdHIoJnFub2Rlc1swXS5tY3MsIGNwdSk7Cj4gQEAgLTI5Myw2 ICszMjIsMTYgQEAgc3RhdGljIF9fYWx3YXlzX2lubGluZSB1MzIgY25hX3dhaXRfaGVhZF9vcl9s b2NrKHN0cnVjdCBxc3BpbmxvY2sgKmxvY2ssCj4gIHsKPiAgCXN0cnVjdCBjbmFfbm9kZSAqY24g PSAoc3RydWN0IGNuYV9ub2RlICopbm9kZTsKPiAgCj4gKwlpZiAobm9kZS0+bG9ja2VkIDw9IDEg JiYgcHJvYmFibHkoU0hVRkZMRV9SRURVQ1RJT05fUFJPQl9BUkcpKSB7CgpBZ2FpbiBpZiBJIHVu ZGVyc3RhbmQgaXQgY29ycmVjdGx5IHdpdGggU0hVRkZMRV9SRURVQ1RJT05fUFJPQl9BUkc9PTcK aXQncyByb3VnaGx5IDEgb3V0IG9mIDEwMCBjYXNlcyB3aGVyZSBwcm9iYWJseSgpIHJldHVybnMg ZmFsc2UuCgpXaHkvd2hlbiBpcyB0aGlzIGJlbmVmaWNpYWw/CgpJIGFzc3VtZSBpdCBoYXMgdG8g ZG8gd2l0aCBmb2xsb3dpbmcgc3RhdGVtZW50IGluIHRoZSByZWZlcmVuY2VkCnBhcGVyOgoKIlRo ZSBzdXBlcmlvciBwZXJmb3JtYW5jZSBvdmVyIE1DUyBhdCA0IHRocmVhZHMgaXMgdGhlIHJlc3Vs dCBvZiB0aGUKc2h1ZmZsaW5nIHRoYXQgZG9lcyB0YWtlIHBsYWNlIG9uY2UgaW4gYSB3aGlsZSwg b3JnYW5pemluZyB0aHJlYWRz4oCZCmFycml2YWxzIHRvIHRoZSBsb2NrIGluIGEgd2F5IHRoYXQg cmVkdWNlcyB0aGUgaW50ZXItc29ja2V0IGxvY2sKbWlncmF0aW9uIHdpdGhvdXQgdGhlIG5lZWQg dG8gY29udGludW91c2x5IG1vZGlmeSB0aGUgbWFpbiBxdWV1ZS4gLi4uIgoocGFnZSB3aXRoIGZp Z3VyZSA5OyB0aGUgcGFwZXIgaGFzIG5vIHBhZ2UgbnVtYmVycykKCkJ1dCBPVEhPIHdoeSB0aGlz IHBzZXVkbyByYW5kb21uZXNzPwoKSG93IGFib3V0IGRldGVybWluaXN0aWNhbGx5IHRyZWF0aW5n IGV2ZXJ5IDEwMHRoIGV4ZWN1dGlvbiBkaWZmZXJlbnRseQooaXQgYWxzbyBtYXRjaGVzICJvbmNl IGluIGEgd2hpbGUiKSBhbmQgdGh1cyBlbnRpcmVseSByZW1vdmluZyB0aGUKcHNldWRvIHJhbmRv bW5lc3M/CgpIYXZlIHlvdSB0cmllZCB0aGlzPyBJZiBzbyB3aHkgd2FzIGl0IHdvcnNlIHRoYW4g cHNldWRvIHJhbmRvbW5lc3M/CgooT3IgbWF5YmUgSSBtaXNzZWQgc29tZXRoaW5nIGFuZCBwc2V1 ZG8gcmFuZG9tbmVzcyBpcyByZXF1aXJlZCBmb3IKb3RoZXIgcmVhc29ucyB0aGVyZS4pCgo+ICsJ CS8qCj4gKwkJICogV2hlbiB0aGUgc2Vjb25kYXJ5IHF1ZXVlIGlzIGVtcHR5LCBza2lwIHRoZSBj YWxsIHRvCj4gKwkJICogY25hX29yZGVyX3F1ZXVlKCkgYmVsb3cgd2l0aCBoaWdoIHByb2JhYmls aXR5LiBUaGlzIG9wdGltaXphdGlvbgo+ICsJCSAqIHJlZHVjZXMgdGhlIG92ZXJoZWFkIG9mIHVu bmVjZXNzYXJ5IHNodWZmbGluZyBvZiB0aHJlYWRzCj4gKwkJICogYmV0d2VlbiB3YWl0aW5nIHF1 ZXVlcyB3aGVuIHRoZSBsb2NrIGlzIG9ubHkgbGlnaHRseSBjb250ZW5kZWQuCj4gKwkJICovCj4g KwkJcmV0dXJuIDA7Cj4gKwl9Cj4gKwo+ICAJaWYgKCFjbi0+c3RhcnRfdGltZSB8fCAhaW50cmFf bm9kZV90aHJlc2hvbGRfcmVhY2hlZChjbikpIHsKPiAgCQkvKgo+ICAJCSAqIFdlIGFyZSBhdCB0 aGUgaGVhZCBvZiB0aGUgd2FpdCBxdWV1ZSwgbm8gbmVlZCB0byB1c2UKPiAtLSAKPiAyLjI0LjMg KEFwcGxlIEdpdC0xMjgpCj4gCgotLSAKUmVnYXJkcywKQW5kcmVhcwoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK