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=-2.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=no 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 57EE7C3A5A6 for ; Thu, 19 Sep 2019 11:22:31 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 2C36821924 for ; Thu, 19 Sep 2019 11:22:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Aydlfx6i" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2C36821924 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-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=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=eJv2Rz4rNq5ZH3bXSaHoXRVzeBE3d7OjfAxWWae8Q/Y=; b=Aydlfx6iTvk7GO BcGQJDnb3xsA49/hBwd3s3jZt3glfC9kFeq1vKeeBGC2M/Ah4Db06kYlzXNgh1Ckuw6CPv88ltPhZ 91RGmPcpJwwC82rVtim53V8Q77YBApaEq+041tCLm1Az1r2S33e5LDrcS85drLjRcHn3EQTuGtbM4 fawXr4p0DlS7Q5XAmM4hOFyKKcHfUmWia+SbHs8RGToZ6k5N7jod5w8RIQ8wqQWw93YUevnhURk8P uwiKVxGk2i2ydpvkQs65eCxw1nWGnzZq914au0qnSpJDgrpLU1+4aUC/do5foI2x9qScLbch3Ikoo Acz6m0Wahw8r7z/6AROg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux)) id 1iAuW6-0008PB-Jd; Thu, 19 Sep 2019 11:22:30 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux)) id 1iAuW2-0008NI-LJ; Thu, 19 Sep 2019 11:22:28 +0000 X-UUID: 06251ec96efd4780ad3ae11222ef7c6b-20190919 X-UUID: 06251ec96efd4780ad3ae11222ef7c6b-20190919 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1753631824; Thu, 19 Sep 2019 03:22:15 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 19 Sep 2019 04:22:13 -0700 Received: from mtkcas09.mediatek.inc (172.21.101.178) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 19 Sep 2019 19:22:14 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas09.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 19 Sep 2019 19:22:13 +0800 Message-ID: <1568892135.4892.10.camel@mtkswgap22> Subject: Re: [PATCH 1/1] sched/rt: avoid contend with CFS task From: Jing-Ting Wu To: Vincent Guittot Date: Thu, 19 Sep 2019 19:22:15 +0800 In-Reply-To: References: <1567048502-6064-1-git-send-email-jing-ting.wu@mediatek.com> <20190830145501.zadfv2ffuu7j46ft@e107158-lin.cambridge.arm.com> <1567689999.2389.5.camel@mtkswgap22> X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190919_042226_706659_2F0FE553 X-CRM114-Status: GOOD ( 38.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: wsd_upstream@mediatek.com, Peter Zijlstra , linux-kernel , Valentin Schneider , linux-mediatek@lists.infradead.org, Matthias Brugger , Qais Yousef , LAK Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCAyMDE5LTA5LTA1IGF0IDE2OjAxICswMjAwLCBWaW5jZW50IEd1aXR0b3Qgd3JvdGU6 Cj4gSGkgSmluZy1UaW5nLAo+IAo+IE9uIFRodSwgNSBTZXAgMjAxOSBhdCAxNToyNiwgSmluZy1U aW5nIFd1IDxqaW5nLXRpbmcud3VAbWVkaWF0ZWsuY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBGcmks IDIwMTktMDgtMzAgYXQgMTU6NTUgKzAxMDAsIFFhaXMgWW91c2VmIHdyb3RlOgo+ID4gPiBPbiAw OC8yOS8xOSAxMTozOCwgVmFsZW50aW4gU2NobmVpZGVyIHdyb3RlOgo+ID4gPiA+IE9uIDI5LzA4 LzIwMTkgMDQ6MTUsIEppbmctVGluZyBXdSB3cm90ZToKPiA+ID4gPiA+IEF0IG9yaWdpbmFsIGxp bnV4IGRlc2lnbiwgUlQgJiBDRlMgc2NoZWR1bGVyIGFyZSBpbmRlcGVuZGVudC4KPiA+ID4gPiA+ IEN1cnJlbnQgUlQgdGFzayBwbGFjZW1lbnQgcG9saWN5IHdpbGwgc2VsZWN0IHRoZSBmaXJzdCBj cHUgaW4KPiA+ID4gPiA+IGxvd2VzdF9tYXNrLCBldmVuIGlmIHRoZSBmaXJzdCBDUFUgaXMgcnVu bmluZyBhIENGUyB0YXNrLgo+ID4gPiA+ID4gVGhpcyBtYXkgcHV0IFJUIHRhc2sgdG8gYSBydW5u aW5nIGNwdSBhbmQgbGV0IENGUyB0YXNrIHJ1bm5hYmxlLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFNv IHdlIHNlbGVjdCBpZGxlIGNwdSBpbiBsb3dlc3RfbWFzayBmaXJzdCB0byBhdm9pZCBwcmVlbXB0 aW5nCj4gPiA+ID4gPiBDRlMgdGFzay4KPiA+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBSZWdhcmRp bmcgdGhlIFJUICYgQ0ZTIHRoaW5nLCB0aGF0J3Mgd29ya2luZyBhcyBpbnRlbmRlZC4gUlQgaXMg YSB3aG9sZQo+ID4gPiA+IGNsYXNzIGFib3ZlIENGUywgaXQgc2hvdWxkbid0IGhhdmUgdG8gd29y cnkgYWJvdXQgQ0ZTLgo+ID4gPiA+Cj4gPiA+ID4gT24gdGhlIG90aGVyIHNpZGUgb2YgdGhpbmdz LCBDRlMgZG9lcyB3b3JyeSBhYm91dCBSVC4gV2UgaGF2ZSB0aGUgY29uY2VwdAo+ID4gPiA+IG9m IFJULXByZXNzdXJlIGluIHRoZSBDRlMgc2NoZWR1bGVyLCB3aGVyZSBSVCB0YXNrcyB3aWxsIHJl ZHVjZSBhIENQVSdzCj4gPiA+ID4gY2FwYWNpdHkgKHNlZSBmYWlyLmM6OnNjYWxlX3J0X2NhcGFj aXR5KCkpLgo+ID4gPiA+Cj4gPiA+ID4gQ1BVIGNhcGFjaXR5IGlzIGxvb2tlZCBhdCBvbiBDRlMg d2FrZXVwIChzZWUgd2FrZV9jYXAoKSBhbmQKPiA+ID4gPiBmaW5kX2lkbGVzdF9jcHUoKSksIGFu ZCB0aGUgcGVyaW9kaWMgbG9hZCBiYWxhbmNlciB0cmllcyB0byBzcHJlYWQgbG9hZAo+ID4gPiA+ IG92ZXIgY2FwYWNpdHksIHNvIGl0J2xsIHRlbmQgdG8gcHV0IGxlc3MgdGhpbmdzIG9uIENQVXMg dGhhdCBhcmUgYWxzbwo+ID4gPiA+IHJ1bm5pbmcgUlQgdGFza3MuCj4gPiA+ID4KPiA+ID4gPiBJ ZiBSVCB3ZXJlIHRvIHN0YXJ0IGF2b2lkaW5nIHJxcyB3aXRoIENGUyB0YXNrcywgd2UnZCBlbmQg dXAgd2l0aCBhIG5hc3R5Cj4gPiA+ID4gc2l0dWF0aW9uIHdlcmUgYm90aCBhcmUgYXZvaWRpbmcg ZWFjaCBvdGhlci4gSXQncyBldmVuIG1vcmUgc3RyaWtpbmcgd2hlbgo+ID4gPiA+IHlvdSBzZWUg dGhhdCBSVCBwcmVzc3VyZSBpcyBkb25lIHdpdGggYSBycS13aWRlIFJUIHV0aWxfYXZnLCB3aGlj aAo+ID4gPiA+ICpkb2Vzbid0KiBnZXQgbWlncmF0ZWQgd2hlbiBhIFJUIHRhc2sgbWlncmF0ZXMu IFNvIGlmIHlvdSBkZWNpZGUgdG8gbW92ZQo+ID4gPiA+IGEgUlQgdGFzayB0byBhbiBpZGxlIENQ VSAiQiIgYmVjYXVzZSBDUFUgIkEiIGhhZCBydW5uYWJsZSBDRlMgdGFza3MsIHRoZQo+ID4gPiA+ IENGUyBzY2hlZHVsZXIgd2lsbCBrZWVwIHNlZWluZyBDUFUgIkIiIGFzIG5vdCBzaWduaWZpY2Fu dGx5IFJULXByZXNzdXJlZAo+ID4gPiA+IHdoaWxlIHRoYXQgdXRpbF9hdmcgc2lnbmFsIHJhbXBz IHVwLCB3aGVyZWFzIGl0IHdvdWxkIGNvcnJlY3RseSBzZWUgQ1BVCj4gPiA+ID4gIkEiIGFzIFJU LXByZXNzdXJlZCBpZiB0aGUgUlQgdGFzayBwcmV2aW91c2x5IHJhbiB0aGVyZS4KPiA+ID4gPgo+ ID4gPiA+IFNvIG92ZXJhbGwgSSB0aGluayB0aGlzIGlzIHRoZSB3cm9uZyBhcHByb2FjaC4KPiA+ ID4KPiA+ID4gSSBsaWtlIHRoZSBpZGVhLCBidXQgeWVhaCB0ZW5kIHRvIGFncmVlIHRoZSBjdXJy ZW50IGFwcHJvYWNoIG1pZ2h0IG5vdCBiZQo+ID4gPiBlbm91Z2guCj4gPiA+Cj4gPiA+IEkgdGhp bmsgdGhlIG1ham9yIHByb2JsZW0gaGVyZSBpcyB0aGF0IG9uIGdlbmVyaWMgc3lzdGVtcyB3aGVy ZSBDRlMgaXMgYSBmaXJzdAo+ID4gPiBjbGFzcyBjaXRpemVuLCBSVCB0YXNrcyBjYW4gYmUgaG9z dGlsZSB0byB0aGVtIC0gbm90IGFsd2F5cyBuZWNlc3NhcmlseSBmb3IgYQo+ID4gPiBnb29kIHJl YXNvbi4KPiA+ID4KPiA+ID4gVG8gZnVydGhlciBjb21wbGljYXRlIHRoZSBtYXR0ZXIsIGV2ZW4g YW1vbmcgQ0ZTIHRhc2tzIHdlIGNhbid0IHRlbGwgd2hpY2ggYXJlCj4gPiA+IG1vcmUgaW1wb3J0 YW50IHRoYW4gdGhlIG90aGVycyAtIHRob3VnaCBob3BlZnVsbHkgbGF0ZW5jeS1uaWNlIHByb3Bv c2FsIHdpbGwKPiA+ID4gbWFrZSB0aGUgc2l0dWF0aW9uIGJldHRlci4KPiA+ID4KPiA+ID4gU28g SSBhZ3JlZSB3ZSBoYXZlIGEgcHJvYmxlbSBoZXJlLCBidXQgSSB0aGluayB0aGlzIHBhdGNoIGlz IGp1c3QgYSB0ZW1wb3JhcnkKPiA+ID4gYmFuZCBhaWQgYW5kIHdlIG5lZWQgdG8gZG8gYmV0dGVy LiBUaG91Z2ggSSBoYXZlIG5vIGNvbmNyZXRlIHN1Z2dlc3Rpb24geWV0IG9uCj4gPiA+IGhvdyB0 byBkbyB0aGF0Lgo+ID4gPgo+ID4gPiBBbm90aGVyIHRoaW5nIEkgY291bGRuJ3QgcXVhbnRpZnkg eWV0IGhvdyBjb21tb24gYW5kIGhvdyBzZXZlcmUgdGhpcyBwcm9ibGVtIGlzCj4gPiA+IHlldC4g SmluZy1UaW5nLCBpZiB5b3UgY2FuIHNoYXJlIHRoZSBkZXRhaWxzIG9mIHlvdXIgdXNlIGNhc2Ug dGhhdCdkIGJlIGdyZWF0Lgo+ID4gPgo+ID4gPiBDaGVlcnMKPiA+ID4KPiA+ID4gLS0KPiA+ID4g UWFpcyBZb3VzZWYKPiA+Cj4gPgo+ID4gSSBhZ3JlZSB0aGF0IHRoZSBuYXN0eSBzaXR1YXRpb24g d2lsbCBoYXBwZW4uVGhlIGN1cnJlbnQgYXBwcm9hY2ggYW5kIHRoaXMgcGF0Y2ggbWlnaHQgbm90 IGJlIGVub3VnaC4KPiAKPiBSVCB0YXNrIHNob3VsZCBub3QgaGFybSBpdHMgY2FjaGUgaG90bmVz cyBhbmQgcmVzcG9uc2l2ZW5lc3MgZm9yIHRoZQo+IGJlbmVmaXQgb2YgYSBDRlMgdGFzawo+IAoK WWVzLCBpdOKAmXMgYSBnb29kIHBvaW50IHRvIGJvdGggY29uc2lkZXIgY2FjaGUgaG90bmVzcy4g V2UgaGF2ZSByZXZpc2VkCnRoZSBpbXBsZW1lbnRhdGlvbiB0byBzZWxlY3QgYSBiZXR0ZXIgaWRs ZSBDUFUgaW4gdGhlIHNhbWUgc2NoZWRfZG9tYWluCm9mIHByZXZfY3B1ICh3aXRoIHRoZSBzYW1l IGNhY2hlIGhvdG5lc3MpIHdoZW4gdGhlIFJUIHRhc2sgd2FrZXVwLgoKSSBtb2RpZnkgdGhlIGNv ZGUgb2YgZmluZF9sb3dlc3RfcnEgYXMgZm9sbG93aW5nOgpAQCAtMTY0OCw2ICsxNjI5LDkgQEAg c3RhdGljIGludCBmaW5kX2xvd2VzdF9ycShzdHJ1Y3QgdGFza19zdHJ1Y3QKKnRhc2spCiAgICAg ICAgc3RydWN0IGNwdW1hc2sgKmxvd2VzdF9tYXNrID0KdGhpc19jcHVfY3B1bWFza192YXJfcHRy KGxvY2FsX2NwdV9tYXNrKTsKICAgICAgICBpbnQgdGhpc19jcHUgPSBzbXBfcHJvY2Vzc29yX2lk KCk7CiAgICAgICAgaW50IGNwdSAgICAgID0gdGFza19jcHUodGFzayk7CisgICAgICAgaW50IGk7 CisgICAgICAgc3RydWN0IHJxICpwcmV2X3JxID0gY3B1X3JxKGNwdSk7CisgICAgICAgc3RydWN0 IHNjaGVkX2RvbWFpbiAqcHJldl9zZDsKCiAgICAgICAgLyogTWFrZSBzdXJlIHRoZSBtYXNrIGlz IGluaXRpYWxpemVkIGZpcnN0ICovCiAgICAgICAgaWYgKHVubGlrZWx5KCFsb3dlc3RfbWFzaykp CkBAIC0xNjU5LDYgKzE2NDMsMjQgQEAgc3RhdGljIGludCBmaW5kX2xvd2VzdF9ycShzdHJ1Y3Qg dGFza19zdHJ1Y3QKKnRhc2spCiAgICAgICAgaWYgKCFjcHVwcmlfZmluZCgmdGFza19ycSh0YXNr KS0+cmQtPmNwdXByaSwgdGFzaywgbG93ZXN0X21hc2spKQogICAgICAgICAgICAgICAgcmV0dXJu IC0xOyAvKiBObyB0YXJnZXRzIGZvdW5kICovCgorICAgICAgIC8qIENob29zZSBwcmV2aW91cyBj cHUgaWYgaXQgaXMgaWRsZSBhbmQgaXQgZml0cyBsb3dlc3RfbWFzayAqLworICAgICAgIGlmIChj cHVtYXNrX3Rlc3RfY3B1KGNwdSwgbG93ZXN0X21hc2spICYmIGlkbGVfY3B1KGNwdSkpCisgICAg ICAgICAgICAgICByZXR1cm4gY3B1OworCisgICAgICAgcmN1X3JlYWRfbG9jaygpOworICAgICAg IHByZXZfc2QgPSByY3VfZGVyZWZlcmVuY2UocHJldl9ycS0+c2QpOworCisgICAgICAgaWYgKHBy ZXZfc2QpIHsKKyAgICAgICAgICAgICAgIC8qIENob29zZSBpZGxlX2NwdSBhbW9uZyBsb3dlc3Rf bWFzayBhbmQgaXQgaXMgY2xvc2VzdAp0byBvdXIgaG90IGNhY2hlIGRhdGEgKi8KKyAgICAgICAg ICAgICAgIGZvcl9lYWNoX2NwdShpLCBsb3dlc3RfbWFzaykgeworICAgICAgICAgICAgICAgICAg ICAgICBpZiAoaWRsZV9jcHUoaSkgJiYgY3B1bWFza190ZXN0X2NwdShpLApzY2hlZF9kb21haW5f c3BhbihwcmV2X3NkKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByY3VfcmVh ZF91bmxvY2soKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaTsKKyAg ICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgfQorICAgICAgIH0KKyAgICAg ICByY3VfcmVhZF91bmxvY2soKTsKKwogICAgICAgIC8qCiAgICAgICAgICogQXQgdGhpcyBwb2lu dCB3ZSBoYXZlIGJ1aWx0IGEgbWFzayBvZiBDUFVzIHJlcHJlc2VudGluZyB0aGUKICAgICAgICAg KiBsb3dlc3QgcHJpb3JpdHkgdGFza3MgaW4gdGhlIHN5c3RlbS4gIE5vdyB3ZSB3YW50IHRvIGVs ZWN0CgoKCj4gPiBCdXQgZm9yIHJlcXVpcmVtZW50IG9mIHBlcmZvcm1hbmNlLCBJIHRoaW5rIGl0 IGlzIGJldHRlciB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gaWRsZSBDUFUgYW5kIENQVSBoYXMg Q0ZTIHRhc2suCj4gPgo+ID4gRm9yIGV4YW1wbGUsIHdlIHVzZSBydC1hcHAgdG8gZXZhbHVhdGUg cnVubmFibGUgdGltZSBvbiBub24tcGF0Y2hlZCBlbnZpcm9ubWVudC4KPiA+IFRoZXJlIGFyZSAo TlJfQ1BVUy0xKSBoZWF2eSBDRlMgdGFza3MgYW5kIDEgUlQgVGFzay4gV2hlbiBhIENGUyB0YXNr IGlzIHJ1bm5pbmcsIHRoZSBSVCB0YXNrIHdha2VzIHVwIGFuZCBjaG9vc2UgdGhlIHNhbWUgQ1BV Lgo+ID4gVGhlIENGUyB0YXNrIHdpbGwgYmUgcHJlZW1wdGVkIGFuZCBrZWVwIHJ1bm5hYmxlIHVu dGlsIGl0IGlzIG1pZ3JhdGVkIHRvIGFub3RoZXIgY3B1IGJ5IGxvYWQgYmFsYW5jZS4KPiA+IEJ1 dCBsb2FkIGJhbGFuY2UgaXMgbm90IHRyaWdnZXJlZCBpbW1lZGlhdGVseSwgaXQgd2lsbCBiZSB0 cmlnZ2VyZWQgdW50aWwgdGltZXIgdGljayBoaXRzIHdpdGggc29tZSBjb25kaXRpb24gc2F0aXNm aWVkKGV4LiBycS0+bmV4dF9iYWxhbmNlKS4KPiAKPiBZZXMgeW91IHdpbGwgaGF2ZSB0byB3YWl0 IGZvciB0aGUgbmV4dCB0aWNrIHRoYXQgd2lsbCB0cmlnZ2VyIGFuIGlkbGUKPiBsb2FkIGJhbGFu Y2UgYmVjYXVzZSB5b3UgaGF2ZSBhbiBpZGxlIGNwdSBhbmQgMiBydW5uYWJsZSB0YWNrICgxIFJU ICsKPiAxQ0ZTKSBvbiB0aGUgc2FtZSBDUFUuIEJ1dCB5b3Ugc2hvdWxkIG5vdCB3YWl0IGZvciBt b3JlIHRoYW4gIDEgdGljawo+IAo+IFRoZSBjdXJyZW50IGxvYWRfYmFsYW5jZSBkb2Vzbid0IGhh bmRsZSBjb3JyZWN0bHkgdGhlIHNpdHVhdGlvbiBvZiAxCj4gQ0ZTIGFuZCAxIFJUIHRhc2sgb24g c2FtZSBDUFUgd2hpbGUgMSBDUFUgaXMgaWRsZS4gVGhlcmUgaXMgYSByZXdvcmsKPiBvZiB0aGUg bG9hZF9iYWxhbmNlIHRoYXQgaXMgdW5kZXIgcmV2aWV3IG9uIHRoZSBtYWlsaW5nIGxpc3QgdGhh dAo+IGZpeGVzIHRoaXMgcHJvYmxlbSBhbmQgeW91ciBDRlMgdGFzayBzaG91bGQgbWlncmF0ZSB0 byB0aGUgaWRsZSBDUFUKPiBmYXN0ZXIgdGhhbiBub3cKPiAKClBlcmlvZCBsb2FkIGJhbGFuY2Ug c2hvdWxkIGJlIHRyaWdnZXJlZCB3aGVuIGN1cnJlbnQgamlmZmllcyBpcyBiZWhpbmQKcnEtPm5l eHRfYmFsYW5jZSwgYnV0IHJxLT5uZXh0X2JhbGFuY2UgaXMgbm90IG9mdGVuIGV4YWN0bHkgdGhl IHNhbWUKd2l0aCBuZXh0IHRpY2suIApJZiBjcHVfYnVzeSwgaW50ZXJ2YWwgPSBzZC0+YmFsYW5j ZV9pbnRlcnZhbCAqIHNkLT5idXN5X2ZhY3RvciwgYW5kCmludGVydmFsIGlzIGNsYW1wZWQgYnkg MSB0byBtYXhfbG9hZF9iYWxhbmNlX2ludGVydmFsLgpCeSBleHBlcmltZW50LCBpbiBhIHN5c3Rl bSB3aXRoIEhaPTI1MCwgYXZhaWxhYmxlX2NwdXMgPSA4LCB0aGUKbWF4X2xvYWRfYmFsYW5jZV9p bnRlcnZhbCA9IEhaICogYXZhaWxhYmxlX2NwdXMgLyAxMCA9IDI1MCAqIDggLyAxMCA9CjIwMCBq aWZmaWVzLApJdCB3b3VsZCBsZXQgcnEtPm5leHRfYmFsYW5jZSA9IHNkLT5sYXN0X2JhbGFuY2Ug KyBpbnRlcnZhbCwgdGhlIG1heGltdW0KaW50ZXJ2YWwgPSAyMDAgamlmZmllcywgcmVzdWx0IGlu IG1vcmUgdGhhbiAxIHNjaGVkLXRpY2sgdG8gbWlncmF0ZSBhCkNGUyB0YXNrLgoKCgo+ID4gQ0ZT IHRhc2tzIG1heSBiZSBydW5uYWJsZSBmb3IgYSBsb25nIHRpbWUuIEluIHRoaXMgdGVzdCBjYXNl LCBpdCBpbmNyZWFzZSAzMzIuMDkxIG1zIHJ1bm5hYmxlIHRpbWUgZm9yIENGUyB0YXNrLgo+ID4K PiA+IFRoZSBkZXRhaWxlZCBsb2cgaXMgc2hvd24gYXMgZm9sbG93aW5nLCBDRlMgdGFzayh0aHJl YWQxLTY1ODApIGlzIHByZWVtcHRlZCBieSBSVCB0YXNrKHRocmVhZDAtNjY3NCkgYWJvdXQgMzMy bXM6Cj4gCj4gMzMybXMgaXMgcXVpdGUgbG9uZyBhbmQgaXMgcHJvYmFibHkgbm90IGFuIGlkbGUg bG9hZCBibGFuYWNlIGJ1dCBhCj4gYnVzeSBsb2FkIGJhbGFuY2UKPiAKPiA+IHRocmVhZDEtNjU4 MCAgWzAwM10gZG5oMiAgICA5NC40NTI4OTg6IHNjaGVkX3dha2V1cDogY29tbT10aHJlYWQwIHBp ZD02Njc0IHByaW89ODkgdGFyZ2V0X2NwdT0wMDMKPiA+IHRocmVhZDEtNjU4MCAgWzAwM10gZC4u MiAgICA5NC40NTI5MTY6IHNjaGVkX3N3aXRjaDogcHJldl9jb21tPXRocmVhZDEgcHJldl9waWQ9 NjU4MCBwcmV2X3ByaW89MTIwIHByZXZfc3RhdGU9UiA9PT4gbmV4dF9jb21tPXRocmVhZDAgbmV4 dF9waWQ9NjY3NCBuZXh0X3ByaW89ODkKPiA+IC4uLi4gMzMyLjA5MW1zCj4gPiBrcnRhdG0tMTkz MCAgWzAwMV0gZC4uMiAgICA5NC43ODUwMDc6IHNjaGVkX21pZ3JhdGVfdGFzazogY29tbT10aHJl YWQxIHBpZD02NTgwIHByaW89MTIwIG9yaWdfY3B1PTMgZGVzdF9jcHU9MQo+ID4ga3J0YXRtLTE5 MzAgIFswMDFdIGQuLjIgICAgOTQuNzg1MDIwOiBzY2hlZF9zd2l0Y2g6IHByZXZfY29tbT1rcnRh dG0gcHJldl9waWQ9MTkzMCBwcmV2X3ByaW89MTAwIHByZXZfc3RhdGU9UyA9PT4gbmV4dF9jb21t PXRocmVhZDEgbmV4dF9waWQ9NjU4MCBuZXh0X3ByaW89MTIwCj4gCj4geW91ciBDRlMgdGFzayBo YXMgbm90IG1vdmVkIG9uIHRoZSBpZGxlIENQVSBidXQgaGFzIHJlcGxhY2VkIGFub3RoZXIgdGFz awo+IAoKSSB0aGluayBpdCBpcyBtaW5vciBhbmQgcmVhc29uYWJsZSwgYmVjYXVzZSBDUFUxIGhh cyB0cmlnZ2VyZWQgaWRsZQpiYWxhbmNlICh3aGVuIGtydGF0bSB0YXNrIGlzIHRoZSBsYXN0IHRh c2sgbGVhdmluZyBDUFUxKSB0byBwdWxsIHRoZQp0aHJlYWQxLTY1ODAuCgoKCkJlc3QgcmVnYXJk cywKSmluZy1UaW5nIFd1Cgo+IFJlZ2FyZHMsCj4gVmluY2VudAo+ID4KPiA+IFNvIEkgdGhpbmsg Y2hvb3NlIGlkbGUgQ1BVIGF0IFJUIHdha2UgdXAgZmxvdyBjb3VsZCByZWR1Y2UgdGhlIENGUyBy dW5uYWJsZSB0aW1lLgo+ID4KPiA+Cj4gPiBCZXN0IHJlZ2FyZHMsCj4gPiBKaW5nLVRpbmcgV3UK PiA+Cj4gPgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg==