Received: by 2002:a05:6358:53a8:b0:117:f937:c515 with SMTP id z40csp5230569rwe; Tue, 18 Apr 2023 04:08:14 -0700 (PDT) X-Google-Smtp-Source: AKy350bUCaShzj8kn7soucQpNyz25Pd7/mh509ekEXGnzDb04ASYBpZLfjpdZ0sk0LvUJHY/hebi X-Received: by 2002:a17:90a:f014:b0:23d:29c7:916f with SMTP id bt20-20020a17090af01400b0023d29c7916fmr1577489pjb.32.1681816094467; Tue, 18 Apr 2023 04:08:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681816094; cv=none; d=google.com; s=arc-20160816; b=Da6eq3Pjvz8rwsHwRt9FGhe7MhDlgSCkl4n8a3Lpz7OSLMlQUmETaa7FhgeNX0daW7 DAHZE8066YMVBpgJJO/kMFiQe+CGtybt+3JFMQ87KuqyTH9uNxEv82vZOyHaCfJTSLLY uRp8I9sqcGVc5LhjgTvxYupj1kYZNKEEa+OXVBi2ECkqjl0l4MDper5xyaV/t30LOmNX Jo+5U6brNIv7HyayOmsfOcHtGLwbCd+MxYLf5VRH8aPnVCnDWerbbPMuhHpQt/V+iOiR 50kDkPgd8HaPESTzJaWi/b8cweQdVFf/Ko/8Du4/mFdcFSj+VspIZPMrOF6LRhDjm4Bt 2YCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=yAe7o0MTTR0yESKouwIoPDqkr9X5P9mqViqewvDNldc=; b=pj56mqlPSzYVd8pBCctVoA8tehi4Pag7FX2Q0e7awxRhq4m1C8Srx1pbLMJUHS3nbk OMVocKsjcHUKbW/7UuFtuYIht+A3Fi9uaXxFRK81tamnD15b94NAcBWiuAgipR8hiMAX 8KTdzfcqEKzJo8DEcwfbk8ApVs8GGX54vxLkF7Nfn0V5Symidk7/qu9/G9+y1PL2isua zWNJr5yb/7++z1zSNvXHbQMinuFSGXJgb3ns5kkrg0PoehCvQsEj0cEN8lFBYabCT/Q+ phFw44KU2WCx/6eFky08+ydrV8fFBzhewoX836Oc976Mwck5C+myBnYoV2cAMt/TogUz PLyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=XvLzgs6p; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g187-20020a636bc4000000b0051372e8f9b3si13983549pgc.826.2023.04.18.04.08.01; Tue, 18 Apr 2023 04:08:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=XvLzgs6p; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230158AbjDRK4R (ORCPT + 99 others); Tue, 18 Apr 2023 06:56:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229535AbjDRK4P (ORCPT ); Tue, 18 Apr 2023 06:56:15 -0400 Received: from smtp-fw-6001.amazon.com (smtp-fw-6001.amazon.com [52.95.48.154]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B338D44B3 for ; Tue, 18 Apr 2023 03:56:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1681815374; x=1713351374; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=yAe7o0MTTR0yESKouwIoPDqkr9X5P9mqViqewvDNldc=; b=XvLzgs6p9f9ySKQVh0EJBVJwiV2HYSZrBRlWV+tRQa28WWgoEePTWHwd dPWzBR+ihUAzqGJv20iwvSX3QgOFdg22WLsZnxoaMyCS4J0yyojowKcMI XnRUFmCqF1B0nVBAGQg11njx1biWPqAWw9SmaIyW8AvFwaLDcjUuWqymu Q=; X-IronPort-AV: E=Sophos;i="5.99,207,1677542400"; d="scan'208";a="321650986" Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-pdx-2b-m6i4x-f253a3a3.us-west-2.amazon.com) ([10.43.8.2]) by smtp-border-fw-6001.iad6.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2023 10:56:10 +0000 Received: from EX19D002EUC004.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194]) by email-inbound-relay-pdx-2b-m6i4x-f253a3a3.us-west-2.amazon.com (Postfix) with ESMTPS id F183D80DF1; Tue, 18 Apr 2023 10:56:08 +0000 (UTC) Received: from EX19D014EUC004.ant.amazon.com (10.252.51.182) by EX19D002EUC004.ant.amazon.com (10.252.51.230) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Tue, 18 Apr 2023 10:56:07 +0000 Received: from EX19D014EUC004.ant.amazon.com ([fe80::76dd:4020:4ff2:1e41]) by EX19D014EUC004.ant.amazon.com ([fe80::76dd:4020:4ff2:1e41%3]) with mapi id 15.02.1118.026; Tue, 18 Apr 2023 10:56:07 +0000 From: "Gowans, James" To: "maz@kernel.org" CC: "tglx@linutronix.de" , "Raslan, KarimAllah" , "Woodhouse, David" , "zouyipeng@huawei.com" , "linux-kernel@vger.kernel.org" , "Sironi, Filippo" , "chris.zjh@huawei.com" Subject: Re: [PATCH] irq: fasteoi handler re-runs on concurrent invoke Thread-Topic: [PATCH] irq: fasteoi handler re-runs on concurrent invoke Thread-Index: AQHZceRg2u2D9PMEE0SrVnUWrsGPFA== Date: Tue, 18 Apr 2023 10:56:07 +0000 Message-ID: <7fdfb01590d8e502f384aa0bb0dc9c614caa5dfc.camel@amazon.com> References: <20230317095300.4076497-1-jgowans@amazon.com> <87h6tp5lkt.wl-maz@kernel.org> <0869847124f982c50d0f8d0ede996004f90a5576.camel@amazon.com> <86pm89kyyt.wl-maz@kernel.org> In-Reply-To: <86pm89kyyt.wl-maz@kernel.org> Accept-Language: en-ZA, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.146.13.223] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gV2VkLCAyMDIzLTA0LTEyIGF0IDE0OjMyICswMTAwLCBNYXJjIFp5bmdpZXIgd3JvdGU6DQo+ IA0KPiA+ID4gPiAxLiBEbyB3ZSBuZWVkIHRvIG1hc2sgdGhlIElSUSBhbmQgdGhlbiB1bm1hc2sg aXQgbGF0ZXI/IEkgZG9uJ3QgdGhpbmsgc28NCj4gPiA+ID4gYnV0IGl0J3Mgbm90IGVudGlyZWx5 IGNsZWFyIHdoeSBoYW5kbGVfZWRnZV9pcnEgZG9lcyB0aGlzIGFueXdheTsgaXQncw0KPiA+ID4g PiBhbiBlZGdlIElSUSBzbyBub3Qgc3VyZSB3aHkgaXQgbmVlZHMgdG8gYmUgbWFza2VkLg0KPiA+ ID4gDQo+ID4gPiBQbGVhc2UgbWVhc3VyZSB0aGF0IGNvc3QgYW5kIHdlZXAsIHNwZWNpYWxseSBp biB0aGUgY29udGV4dCBvZg0KPiA+ID4gbXVsdGlwbGUgY29uY3VycmVudCBpbnRlcnJ1cHRzIHNl cnZpY2VkIGJ5IGEgc2luZ2xlIElUUyAoY29zdCBvZg0KPiA+ID4gbG9ja2luZyB0aGUgY29tbWFu ZCBxdWV1ZSwgb2Ygd2FpdGluZyBmb3IgYSBmdWxsIHJvdW5kIHRyaXAgdG8gdGhlIElUUw0KPiA+ ID4gZm9yIGEgY291cGxlIG9mIGNvbW1hbmRzLi4uKS4NCj4gPiANCj4gPiBGb3J0dW5hdGVseSB0 aGlzIG1hc2svdW5tYXNraW5nIHdvdWxkIG9ubHkgaGFwcGVuIGluIHRoZSByYXJlKGlzaCkgY2Fz ZWQgb2YgdGhlDQo+ID4gcmFjZSBjb25kaXRpb24gZGVzY3JpYmVkIGhlcmUgYmVpbmcgaGl0LiBF eGFjdGx5IHRoZSBzYW1lIGFzDQo+ID4gd2l0aCBoYW5kbGVfZWRnZV9pcnEoKSwgdGhlIG1hc2tp bmcgYW5kIGxhdGVyIHVubWFza2luZyB3b3VsZCBvbmx5IGJlIGRvbmUNCj4gPiB3aGVuIGlycV9t YXlfcnVuKCkgPT0gZmFsc2UgZHVlIHRvIHRoZSByYWNlIGJlaW5nIGhpdC4gQ29uc2lkZXJpbmcg dGhhdCB0aGlzIGlzDQo+ID4gYSByYXJlIG9jY3VycmVuY2UsIEkgdGhpbmsgd2UgY291bGQgc3Rv bWFjaCB0aGUgb2NjYXNpb25hbCBvdmVyaGVhZD8gSSB3YXMgbW9yZQ0KPiA+IGFza2luZyBpZiBp dCdzIGFjdHVhbGx5ICpuZWNlc3NhcnkqIHRvIGRvIHRoaXMgbWFza2luZy91bm1hc2tpbmcuIEkn bSBub3Qgc3VyZQ0KPiA+IGl0J3MgbmVjZXNzYXJ5IGFueXdheSwgaGVuY2UgaXQgd2Fzbid0IGlt cGxlbWVudGVkIGluIG15IHBhdGNoLg0KPiANCj4gQnV0IGRvZXMgaXQgc29sdmUgYW55dGhpbmc/ IEF0IHRoZSBwb2ludCB3aGVyZSB5b3UgbWFzayB0aGUgaW50ZXJydXB0LA0KPiB5b3UgYWxyZWFk eSBoYXZlIGNvbnN1bWVkIGl0LiBZb3UnZCBzdGlsbCBuZWVkIHRvIG1ha2UgaXQgcGVuZGluZw0K PiBzb21laG93LCB3aGljaCBpcyB3aGF0IHlvdXIgcGF0Y2ggc29tZWhvdy4NCg0KSSBkb24ndCBy ZWFsbHkga25vdyAtIHRoZSByZWFzb24gSSBhc2tlZCB0aGUgcXVlc3Rpb24gaXMgdGhhdCB0aGUg cmVsYXRlZA0KaGFuZGxlX2VkZ2VfaXJxKCkgZG9lcyB0aGlzIG1hc2svdW5tYXNraW5nLCBhbmQg SSB3YXNuJ3QgcXVpdGUgc3VyZSB3aHkgaXQNCmRpZCB0aGF0IGFuZCBoZW5jZSBpZiB3ZSBuZWVk ZWQgdG8gZG8gc29tZXRoaW5nIHNpbWlsYXIuDQpBbnl3YXksIGxldCdzIGZvY3VzIG9uIHlvdXIg cGF0Y2ggcmF0aGVyIC0gSSB0aGluayBpdCdzIG1vcmUgY29tcGVsbGluZy4NCg0KDQo+ID4gWWVz LiBUaGlzIGJvdGhlcmVkIG1lIHRvbyBpbml0aWFsbHksIGJ1dCBvbiByZWZsZWN0aW9uIEknbSBu b3Qgc3VyZSBpdCdzDQo+ID4gYWN0dWFsbHkgYSBwcm9ibGVtLiBPbmUgcG9zc2libGUgaXNzdWUg dGhhdCBjYW1lIHRvIG1pbmQgd2FzIGFyb3VuZCBDUFUNCj4gPiBvZmZsaW5pbmcsIGJ1dCBpbiB0 aGUgZXZlbnQgdGhhdCBhIENQVSBiZWluZyBvZmZsaW5lZCB3YXMgcnVubmluZyBpbnRlcnJ1cHQN Cj4gPiBoYW5kbGVycyBpdCB3b3VsZG4ndCBiZSBhYmxlIHRvIGNvbXBsZXRlIHRoZSBvZmZsaW5l IGFueXdheSB1bnRpbCB0aGUgaGFuZGxlcnMNCj4gPiB3ZXJlIGZpbmlzaGVkLCBzbyBJIGRvbid0 IHRoaW5rIHRoaXMgaXMgYW4gaXNzdWUuIERvIHlvdSBzZWUgYW55IHByYWN0aWNhbCBpc3N1ZQ0K PiA+IHdpdGggcnVubmluZyB0aGUgaGFuZGxlciBvbmNlIG1vcmUgb24gdGhlIG9yaWdpbmFsIENQ VSBpbW1lZGlhdGVseSBhZnRlciB0aGUNCj4gPiBhZmZpbml0eSBoYXMgYmVlbiBjaGFuZ2VkPw0K PiANCj4gTXkgdGFrZSBvbiB0aGlzIGlzIHRoYXQgd2UgcHV0IHRoZSBwcmVzc3VyZSBvbiB0aGUg Q1BVIHdlIHdhbnQgdG8gbW92ZQ0KPiBhd2F5IGZyb20uIEknZCByYXRoZXIgd2UgcHV0IHRoZSBp dCBvbiB0aGUgR0lDIGl0c2VsZiwgYW5kIHVzZSBpdHMNCj4gVHVyaW5nLWNvbXBsZXRlIHBvd2Vy cyB0byBmb3JjZSBpdCB0byByZWRlbGl2ZXIgdGhlIGludGVycnVwdCBhdCBhDQo+IG1vcmUgY29u dmVuaWVudCB0aW1lLg0KDQpUaGlzIGlkZWEgYW5kIGltcGxlbWVudGF0aW9uIGxvb2tzIGFuZCB3 b3JrcyBncmVhdCEgSXQgbWF5IG5lZWQgYSBmZXcNCnR3ZWFrczsgZGlzY3Vzc2luZyBiZWxvdy4N Cg0KPiANCj4gRnJvbSBjOTZkMmFiMzdmZTI3MzcyNGYxMjY0ZmJhNWY0OTEzMjU5ODc1ZDU2IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KPiBGcm9tOiBNYXJjIFp5bmdpZXIgPG1hekBrZXJuZWwu b3JnPg0KPiBEYXRlOiBNb24sIDEwIEFwciAyMDIzIDEwOjU2OjMyICswMTAwDQo+IFN1YmplY3Q6 IFtQQVRDSF0gaXJxY2hpcC9naWN2My1pdHM6IEZvcmNlIHJlc2VuZCBvZiBMUElzIHRha2VuIHdo aWxlDQo+IGFscmVhZHkNCj4gIGluLXByb2dyZXNzDQoNClBlcmhhcHMgeW91IGNhbiBwaWxsYWdl IHNvbWUgb2YgbXkgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB0aGUgcmFjZSBoZXJlDQp3aGVu IHlvdSBzZW5kIHRoaXMgcGF0Y2g/DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYXJjIFp5bmdpZXIg PG1hekBrZXJuZWwub3JnPg0KPiANCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaXJxLmgg Yi9pbmNsdWRlL2xpbnV4L2lycS5oDQo+IGluZGV4IGIxYjI4YWZmYjMyYS4uNGIyYTdjYzk2ZWIy IDEwMDY0NA0KPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2lycS5oDQo+ICsrKyBiL2luY2x1ZGUvbGlu dXgvaXJxLmgNCj4gQEAgLTIyMyw2ICsyMjMsOCBAQCBzdHJ1Y3QgaXJxX2RhdGEgew0KPiAgICog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXJxX2NoaXA6OmlycV9zZXRfYWZmaW5pdHko KSB3aGVuDQo+IGRlYWN0aXZhdGVkLg0KPiAgICogSVJRRF9JUlFfRU5BQkxFRF9PTl9TVVNQRU5E IC0gSW50ZXJydXB0IGlzIGVuYWJsZWQgb24gc3VzcGVuZCBieSBpcnENCj4gcG0gaWYNCj4gICAq ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlycWNoaXAgaGF2ZSBmbGFnDQo+IElSUUNI SVBfRU5BQkxFX1dBS0VVUF9PTl9TVVNQRU5EIHNldC4NCj4gKyAqIElSUURfUkVTRU5EX1dIRU5f SU5fUFJPR1JFU1MgLSBJbnRlcnJ1cHQgbWF5IGZpcmUgd2hlbiBhbHJlYWR5IGluDQo+IHByb2dy ZXNzLA0KPiArICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZHMgcmVzZW5kaW5n Lg0KPiAgICovDQo+ICBlbnVtIHsNCj4gICAgICAgICBJUlFEX1RSSUdHRVJfTUFTSyAgICAgICAg ICAgICAgID0gMHhmLA0KPiBAQCAtMjQ5LDYgKzI1MSw3IEBAIGVudW0gew0KPiAgICAgICAgIElS UURfSEFORExFX0VORk9SQ0VfSVJRQ1RYICAgICAgPSAoMSA8PCAyOCksDQo+ICAgICAgICAgSVJR RF9BRkZJTklUWV9PTl9BQ1RJVkFURSAgICAgICA9ICgxIDw8IDI5KSwNCj4gICAgICAgICBJUlFE X0lSUV9FTkFCTEVEX09OX1NVU1BFTkQgICAgID0gKDEgPDwgMzApLA0KPiArICAgICAgIElSUURf UkVTRU5EX1dIRU5fSU5fUFJPR1JFU1MgICAgPSAoMSA8PCAzMSksDQo+ICB9Ow0KDQpEbyB3ZSBy ZWFsbHkgd2FudCBhIG5ldyBmbGFnIGhlcmU/IEknZCBiZSBrZWVuIHRvIGZpeCB0aGlzIHJhY2Ug Zm9yIGFsbA0KZHJpdmVycywgbm90IGp1c3QgdGhvc2Ugd2hvIGtub3cgdG8gc2V0IHRoaXMgZmxh Zy4gSSB0aGluayB0aGUgcGF0Y2gNCnlvdSdyZSBzdWdnZXN0aW5nIGlzIHByZXR0eSBjbG9zZSB0 byBiZWluZyBzYWZlIHRvIGVuYWJsZSBnZW5lcmFsbHk/IElmIHNvDQpteSBwcmVmZXJlbmNlIGlz IGZvciBvbmUgbGVzcyBjb25maWcgb3B0aW9uIC0ganVzdCBydW4gaXQgYWx3YXlzLg0KDQo+ICBz dGF0aWMgaW5saW5lIGlycV9od19udW1iZXJfdCBpcnFkX3RvX2h3aXJxKHN0cnVjdCBpcnFfZGF0 YSAqZCkNCj4gZGlmZiAtLWdpdCBhL2tlcm5lbC9pcnEvY2hpcC5jIGIva2VybmVsL2lycS9jaGlw LmMNCj4gaW5kZXggNDllN2JjODcxZmVjLi43MzU0NmJhOGJjNDMgMTAwNjQ0DQo+IC0tLSBhL2tl cm5lbC9pcnEvY2hpcC5jDQo+ICsrKyBiL2tlcm5lbC9pcnEvY2hpcC5jDQo+IEBAIC02OTIsOCAr NjkyLDExIEBAIHZvaWQgaGFuZGxlX2Zhc3Rlb2lfaXJxKHN0cnVjdCBpcnFfZGVzYyAqZGVzYykN Cj4gDQo+ICAgICAgICAgcmF3X3NwaW5fbG9jaygmZGVzYy0+bG9jayk7DQo+IA0KPiAtICAgICAg IGlmICghaXJxX21heV9ydW4oZGVzYykpDQo+ICsgICAgICAgaWYgKCFpcnFfbWF5X3J1bihkZXNj KSkgew0KPiArICAgICAgICAgICAgICAgaWYgKGlycWRfbmVlZHNfcmVzZW5kX3doZW5faW5fcHJv Z3Jlc3MoJmRlc2MtPmlycV9kYXRhKSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tf aXJxX3Jlc2VuZChkZXNjLCB0cnVlKTsNCj4gICAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPiAr ICAgICAgIH0NCg0KVGhpcyB3aWxsIHJ1biBjaGVja19pcnFfcmVzZW5kKCkgb24gdGhlICpuZXds eSBhZmZpbmVkKiBDUFUsIHdoaWxlIHRoZSBvbGQNCm9uZSBpcyBzdGlsbCBydW5uaW5nIHRoZSBv cmlnaW5hbCBoYW5kbGVyLiBBRkFJQ1Qgd2hhdCB3aWxsIGhhcHBlbiBpczoNCmNoZWNrX2lycV9y ZXNlbmQNCiAgdHJ5X3JldHJpZ2dlcg0KICAgIGlycV9jaGlwX3JldHJpZ2dlcl9oaWVyYXJjaHkN CiAgICAgIGl0c19pcnFfcmV0cmlnZ2VyDQouLi4gd2hpY2ggd2lsbCBjYXVzZSB0aGUgSVRTIHRv ICppbW1lZGlhdGVseSogcmUtdHJpZ2dlciB0aGUgSVJRLiBUaGUNCm9yaWdpbmFsIENQVSBjYW4g c3RpbGwgYmUgcnVubmluZyB0aGUgaGFuZGxlciBpbiB0aGF0IGNhc2UuDQoNCklmIHRoYXQgaGFw cGVucywgY29uc2lkZXIgd2hhdCB3aWxsIGhhcHBlbiBpbiBjaGVja19pcnFfcmVzZW5kOg0KLSBm aXJzdCBJUlEgY29tZXMgaW4sIHN1Y2Nlc3NmbGx5IHJ1bnMgdHJ5X3JldHJpZ2dlciBhbmQgc2V0 cyBJUlFTX1JFUExBWS4NCi0gaXQgaXMgKmltbWVkaWF0ZWx5KiByZXRyaWdnZXJlZCBieSBJVFMs IGFuZCBiZWNhdXNlIHRoZSBvcmlnaW5hbCBoYW5kbGVyDQpvbiB0aGUgb3RoZXIgQ1BVIGlzIHN0 aWxsIHJ1bm5pbmcsIGNvbWVzIGludG8gY2hlY2tfaXJxX3Jlc2VuZCBhZ2Fpbi4NCi0gY2hlY2tf aXJxX3Jlc2VuZCBub3cgb2JzZXJ2ZXMgdGhhdCBJUlFTX1JFUExBWSBpcyBzZXQgYW5kIGVhcmx5 IG91dHMuDQotIE5vIG1vcmUgcmVzZW5kcywgdGhlIElSUSBpcyBzdGlsbCBsb3N0LiA6LSgNCg0K Tm93IEkgYWRtaXQgdGhlIGZhaWx1cmUgbW9kZSBpcyBnZXR0aW5nIGEgYml0IHBhdGhvbG9naWNh bDogdHdvIHJlLQ0KdHJpZ2dlcnMgd2hpbGUgdGhlIG9yaWdpbmFsIGhhbmRsZXIgaXMgc3RpbGwg cnVubmluZywgYnV0IEkgd2FzIGFibGUgdG8NCmhpdCB0aGlzIG9uIG15IHRlc3QgbWFjaGluZSBi eSBpbnRlbnRpb25hbGx5IHNsb3dpbmcNCnRoZSBoYW5kbGVyIGRvd24gYnkgYSBmZXcgZG96ZW4g bWljcm9zLiBTaG91bGQgd2UgY2F0ZXIgZm9yIHRoaXM/DQoNCkkgY2FuIHNlZSB0d28gcG9zc2li aWxpdGllczoNCi0gdHdlYWsgY2hlY2tfaXJxX3Jlc2VuZCgpIHRvIG5vdCBlYXJseS1vdXQgaW4g dGhpcyBjYXNlIGJ1dCB0byBrZWVwIHJlLQ0KdHJpZ2dlcmluZyB1bnRpbCBpdCBldmVudHVhbGx5 IHJ1bnMuDQotIG1vdmUgdGhlIGNoZWNrX2lycV9yZXNlbmQgdG8gb25seSBoYXBwZW4gbGF0ZXIs ICphZnRlciogdGhlIG9yaWdpbmFsDQpoYW5kbGVyIGhhcyBmaW5pc2hlZCBydW5uaW5nLiBUaGlz IHdvdWxkIGJlIHZlcnkgc2ltaWxhciB0byB3aGF0IEkNCnN1Z2dlc3RlZCBpbiBteSBvcmlnaW5h bCBwYXRjaCwgZXhjZXB0IGluc3RlYWQgb2YgcnVubmluZyBhIGRvL3doaWxlIGxvb3AsDQp0aGUg Y29kZSB3b3VsZCBvYnNlcnZlIHRoYXQgdGhlIHBlbmRpbmcgZmxhZyB3YXMgc2V0IGFnYWluIGFu ZCBydW4NCmNoZWNrX2lycV9yZXNlbmQuDQoNCkknbSBhbHNvIHdvbmRlcmluZyB3aGF0IHdpbGwg aGFwcGVuIGZvciB1c2VycyB3aG8gZG9uJ3QgaGF2ZSB0aGUNCmNoaXAtPmlycV9yZXRyaWdnZXIg Y2FsbGJhY2sgc2V0IGFuZCBmYWxsIGJhY2sgdG8gdGhlIHRhc2tsZXQNCnZpYSBpcnFfc3dfcmVz ZW5kKCkuLi4gTG9va3MgbGlrZSBpdCB3aWxsIHdvcmsgZmluZS4gSG93ZXZlciBpZiB3ZSBkbyBt eQ0Kc3VnZ2VzdGlvbiBhbmQgbW92ZSBjaGVja19pcnFfcmVzZW5kIHRvIHRoZSBlbmQgb2YgaGFu ZGxlX2Zhc3Rlb2lfaXJxIHRoZW4NCnRoZSB0YXNrbGV0IHdpbGwgYmUgc2NoZWR1bGVkIG9uIHRo ZSBvbGQgQ1BVIGFnYWluLCB3aGljaCBtYXkgYmUgc3ViLQ0Kb3B0aW1hbC4NCg0KSkcNCg==