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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 20DE3C76196 for ; Thu, 6 Apr 2023 12:54:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version: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=pUaSNp1N8IY3vzEc3llO9mf/I2zjMCTsWQsOx3q7qyk=; b=G4SqBNyfJ17lWm mcw0p+9ZQl+LNMqjn/V1uME+Nl6ktMnGc5xQUC/OGnAlBxbb0qQ+VvZwrgnjTcB2EYY2kHZ73veBG pZT+XsXFmpzDtxftm7k0JS4nqkWN+6UIA4YKjlAANet7p1VWZYW/PeW70QX7pRjV7bqqB6UqaHXt6 JnLkbkwZ+2dvXxi3rG7N47zvmrVHVrBvUpE9tVRhuZjnduoQtOYEvkhYQxD2Q0p7yZ/Xl0ILGY1lE fOloFvXzvv+6RMuChycREbFsluej4F9CjAjgpvutZMcS5pfGx5O02QkP59aSP7D6QZmJNLYi5KgWh ySyMxzaEWUCXVt5ql3VA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pkP6w-007KWA-1G; Thu, 06 Apr 2023 12:53:06 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pkP6r-007KTB-15 for linux-arm-kernel@lists.infradead.org; Thu, 06 Apr 2023 12:53:03 +0000 Received: by mail-ej1-x62c.google.com with SMTP id cw23so1129614ejb.12 for ; Thu, 06 Apr 2023 05:52:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1680785575; x=1683377575; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=IJscOEPUxerIocq5ivhaFnZ1SHI0paGFj+4RY7CI49c=; b=mmi2ytKq+NaQhoDUPRHBUEjRhCCPgZiy7rLgIJXfMFck1daXezUDFfW+f8Ya9qW8Nu 77o8Nv8mCPZJVOJ/Mw5IkzQ/lVA8K8pLYcnCheg3aUT4rIjJIAXX7Utgjw5MQqmXLhtW 435VTHVUt6RP3++nMGoeLtublMXBqOmF5FEHQb6o99n31lb7S6WZxLIvcTevt83tl6fV cKM/LYDc4weOyCwuDkg3btNjWsl6SyXFBeMGeyFU1GWXKNRtgmCulev2zmpW5HSdx9TQ WDUIoKFjlt3z2DEYShN6woFM3WBqXviuTCQLf58p6eWApFbTnPJA8N2vEAKJbmcOE3wx 8r5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680785575; x=1683377575; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IJscOEPUxerIocq5ivhaFnZ1SHI0paGFj+4RY7CI49c=; b=mrIdmbhbgGy7FC+JwJ9D1qxpVT04RU1AqcgLTHpy0okriD4LrATFLyJO5nK/6I2zW+ S0QJTNsEVOarGsmANydpmqhOPZDgfz4MLDGGf3f29a2pkvhAIL3F2Qq9pXn8Xs9xgax9 JWrJGxilRiAj8OjYfMqYy7csl3kPtAGBvn6Pcjnvji+DDQYXAqi45RCFMfsTEcCIyIfb fU77t/HIlqMVnX1eWGLmh5e6aYUTbjDHQjiyhu0s9pzixtjxc1UoqIwbtoFNLiNiNYTG lffIItG36qMXkcFdcWMD8mf8lyUbaS5sp9qflWdCJ/lZcrtCWGgksEFJ3yCp4uJPrzIZ 0E/A== X-Gm-Message-State: AAQBX9dddKa+zOsMpKSDzEg47WabCqUkp2vr6xGYsSpjFqrl2Pwtrzrp NJdEoGAAtcHgM7HDDLtvClpATQ== X-Google-Smtp-Source: AKy350ZjSeUi5W/FMFj8cFd3FZ8IBUmJZCdwJjwrxRaSX9z1B2tETRyepfqtj3cs2LAQGBpYvDx5aA== X-Received: by 2002:a17:906:9be2:b0:931:624b:680c with SMTP id de34-20020a1709069be200b00931624b680cmr6404112ejc.29.1680785575139; Thu, 06 Apr 2023 05:52:55 -0700 (PDT) Received: from google.com (64.227.90.34.bc.googleusercontent.com. [34.90.227.64]) by smtp.gmail.com with ESMTPSA id rj13-20020a1709076c8d00b00947ccb6150bsm657067ejc.102.2023.04.06.05.52.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Apr 2023 05:52:54 -0700 (PDT) Date: Thu, 6 Apr 2023 12:52:51 +0000 From: Quentin Perret To: Saravana Kannan Cc: Marc Zyngier , David Dai , Oliver Upton , "Rafael J. Wysocki" , Viresh Kumar , Rob Herring , Krzysztof Kozlowski , Paolo Bonzini , Jonathan Corbet , James Morse , Suzuki K Poulose , Zenghui Yu , Catalin Marinas , Will Deacon , Mark Rutland , Lorenzo Pieralisi , Sudeep Holla , Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira , Valentin Schneider , kernel-team@android.com, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev Subject: Re: [RFC PATCH 0/6] Improve VM DVFS and task placement behavior Message-ID: References: <20230330224348.1006691-1-davidai@google.com> <86sfdfv0e1.wl-maz@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230406_055301_394406_3CD6F9B5 X-CRM114-Status: GOOD ( 54.89 ) 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 T24gV2VkbmVzZGF5IDA1IEFwciAyMDIzIGF0IDE0OjA3OjE4ICgtMDcwMCksIFNhcmF2YW5hIEth bm5hbiB3cm90ZToKPiBPbiBXZWQsIEFwciA1LCAyMDIzIGF0IDEyOjQ44oCvQU0gJ1F1ZW50aW4g UGVycmV0JyB2aWEga2VybmVsLXRlYW0KPiA+IEFuZCBJIGNvbmN1ciB3aXRoIGFsbCB0aGUgYWJv dmUgYXMgd2VsbC4gUHV0dGluZyB0aGlzIGluIHRoZSBrZXJuZWwgaXMKPiA+IG5vdCBhbiBvYnZp b3VzIGZpdCBhdCBhbGwgYXMgdGhhdCByZXF1aXJlcyBhIG51bWJlciBvZiBhc3N1bXB0aW9ucyBh Ym91dAo+ID4gdGhlIFZNTS4KPiA+Cj4gPiBBcyBPbGl2ZXIgcG9pbnRlZCBvdXQsIHRoZSBndWVz dCB0b3BvbG9neSwgYW5kIGhvdyBpdCBtYXBzIHRvIHRoZSBob3N0Cj4gPiB0b3BvbG9neSAodmNw dSBwaW5uaW5nIGV0YykgaXMgdmVyeSBtdWNoIGEgVk1NIHBvbGljeSBkZWNpc2lvbiBhbmQgd2ls bAo+ID4gYmUgcGFydGljdWxhcmx5IGltcG9ydGFudCB0byBoYW5kbGUgZ3Vlc3QgZnJlcXVlbmN5 IHJlcXVlc3RzIGNvcnJlY3RseS4KPiA+Cj4gPiBJbiBhZGRpdGlvbiB0byB0aGF0LCB0aGUgVk1N J3Mgc29mdHdhcmUgYXJjaGl0ZWN0dXJlIG1heSBoYXZlIGFuIGltcGFjdC4KPiA+IENyb3N2bSBm b3IgZXhhbXBsZSBkb2VzIGRldmljZSBlbXVsYXRpb24gaW4gc2VwYXJhdGUgcHJvY2Vzc2VzIGZv cgo+ID4gc2VjdXJpdHkgcmVhc29ucywgc28gaXQgaXMgbGlrZWx5IHRoYXQgYWRqdXN0aW5nIHRo ZSBzY2hlZHVsaW5nCj4gPiBwYXJhbWV0ZXJzICgndXRpbF9ndWVzdCcsIHVjbGFtcCwgb3IgZWxz ZSkgb25seSBmb3IgdGhlIHZDUFUgdGhyZWFkIHRoYXQKPiA+IGlzc3VlcyBmcmVxdWVuY3kgcmVx dWVzdHMgd2lsbCBiZSBzdWItb3B0aW1hbCBmb3IgcGVyZm9ybWFuY2UsIHdlIG1heQo+ID4gd2Fu dCB0byBhZGp1c3QgdGhvc2UgcGFyYW1ldGVycyBmb3IgYWxsIHRoZSB0YXNrcyB0aGF0IGFyZSBv biB0aGUKPiA+IGNyaXRpY2FsIHBhdGguCj4gPgo+ID4gQW5kIGF0IGFuIGV2ZW4gaGlnaGVyIGxl dmVsLCBhc3N1bWluZyBpbiB0aGUga2VybmVsIGEgY2VydGFpbiBtYXBwaW5nIG9mCj4gPiB2Q1BV IHRocmVhZHMgdG8gaG9zdCB0aHJlYWRzIGZlZWxzIGtpbmRhIHdyb25nLCB0aGlzIHRvbyBpcyBh IGhvc3QKPiA+IHVzZXJzcGFjZSBwb2xpY3kgZGVjaXNpb24gSSBiZWxpZXZlLiBOb3QgdGhhdCBh bnlib2R5IGluIHRoZWlyIHJpZ2h0Cj4gPiBtaW5kIHdvdWxkIHdhbnQgdG8gZG8gdGhpcywgYnV0 IEkgX3RoaW5rXyBpdCB3b3VsZCB0ZWNobmljYWxseSBiZQo+ID4gZmVhc2libGUgdG8gc2VyaWFs aXplIHRoZSBleGVjdXRpb24gb2YgbXVsdGlwbGUgdkNQVXMgb24gdGhlIHNhbWUgaG9zdAo+ID4g dGhyZWFkLCBhdCB3aGljaCBwb2ludCB0aGUgdXRpbF9ndWVzdCB0aGluZ3kgYmVjb21lcyBlbnRp cmVseSBib2d1cy4gKEkKPiA+IG9idmlvdXNseSBkb24ndCB3YW50IHRvIGNvbmZsYXRlIHRoaXMg dXNlLWNhc2UsIGl0J3MganVzdCBhbiBleGFtcGxlCj4gPiB0aGF0IHNob3dzIHRoZSBwcm9wb3Nl ZCBhYnN0cmFjdGlvbiBpbiB0aGUgc2VyaWVzIGlzIG5vdCBhIHBlcmZlY3QgZml0Cj4gPiBmb3Ig dGhlIEtWTSB1c2Vyc3BhY2UgZGVsZWdhdGlvbiBtb2RlbC4pCj4gCj4gU2VlIG15IHJlcGx5IHRv IE9saXZlciBhbmQgTWFyYy4gVG8gbWUgaXQgbG9va3MgbGlrZSB3ZSBhcmUgY29udmVyZ2luZwo+ IHRvd2FyZHMgaGF2aW5nIHNoYXJlZCBtZW1vcnkgYmV0d2VlbiBndWVzdCwgaG9zdCBrZXJuZWwg YW5kIFZNTSBhbmQKPiB0aGF0IHNob3VsZCBhZGRyZXNzIGFsbCBvdXIgY29uY2VybnMuCgpIbW0s IHRoYXQgaXMgbm90IGF0IGFsbCBteSB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgaGFzIGJlZW4gdGhl IG1vc3QKaW1wb3J0YW50IHBhcnQgb2YgdGhlIGZlZWRiYWNrIHNvIGZhcjogdGhpcyB3aG9sZSB0 aGluZyBiZWxvbmdzIHRvCnVzZXJzcGFjZS4KCj4gVGhlIGd1ZXN0IHdpbGwgc2VlIGEgTU1JTyBk ZXZpY2UsIHdyaXRpbmcgdG8gaXQgd2lsbCB0cmlnZ2VyIHRoZSBob3N0Cj4ga2VybmVsIHRvIGRv IHRoZSBiYXNpYyAic2V0IHV0aWxfZ3Vlc3QvdWNsYW1wIGZvciB0aGUgdkNQVSB0aHJlYWQgdGhh dAo+IGNvcnJlc3BvbmRzIHRvIHRoZSB2Q1BVIiBhbmQgdGhlbiB0aGUgVk1NIGNhbiBkbyBtb3Jl IG9uIHRvcCBhcy9pZgo+IG5lZWRlZCAoYmVjYXVzZSBpdCBoYXMgYWNjZXNzIHRvIHRoZSBzaGFy ZWQgbWVtb3J5IHRvbykuIERvZXMgdGhhdAo+IG1ha2Ugc2Vuc2U/CgpOb3QgcmVhbGx5IG5vLiBJ J3ZlIGdpdmVuIGV4YW1wbGVzIG9mIHdoeSB0aGlzIGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3IKdGhl IGtlcm5lbCB0byBkbyB0aGlzLCB3aGljaCBzdGlsbCBzZWVtcyB0byBiZSB0aGUgY2FzZSB3aXRo IHdoYXQgeW91J3JlCnN1Z2dlc3RpbmcgaGVyZS4KCj4gRXZlbiBpbiB0aGUgZXh0cmVtZSBleGFt cGxlLCB0aGUgc3R1ZmYgdGhlIGtlcm5lbCB3b3VsZCBkbyB3b3VsZCBzdGlsbAo+IGJlIGhlbHBm dWwsIGJ1dCBub3Qgc3VmZmljaWVudC4gWW91IGNhbiBhZ2dyZWdhdGUgdGhlCj4gdXRpbF9ndWVz dC91Y2xhbXAgYW5kIGRvIHdoYXRldmVyIGZyb20gdGhlIFZNTS4KPiBUZWNobmljYWxseSBpbiB0 aGUgZXh0cmVtZSBleGFtcGxlLCB5b3UgZG9uJ3QgbmVlZCBhbnkgb2YgdGhpcy4gVGhlCj4gbm9y bWFsIHV0aWwgdHJhY2tpbmcgb2YgdGhlIHZDUFUgdGhyZWFkIG9uIHRoZSBob3N0IHNpZGUgd291 bGQgYmUKPiBzdWZmaWNpZW50Lgo+Cj4gQWN0dWFsbHkgYW55IHRpbWUgd2UgaGF2ZSBvbmx5IDEg dkNQVSBob3N0IHRocmVhZCBwZXIgVk0sIHdlIHNob3VsZG4ndAo+IGJlIHVzaW5nIGFueXRoaW5n IGluIHRoaXMgcGF0Y2ggc2VyaWVzIGFuZCBub3QgaW5zdGFudGlhdGUgdGhlIGd1ZXN0Cj4gZGV2 aWNlIGF0IGFsbC4KCj4gPiBTbyArMSBmcm9tIG1lIHRvIG1vdmUgdGhpcyBhcyBhIHZpcnR1YWwg ZGV2aWNlIG9mIHNvbWUga2luZC4gQW5kIGlmIHRoZQo+ID4gZXh0cmEgY29zdCBvZiBleGl0aW5n IGFsbCB0aGUgd2F5IGJhY2sgdG8gdXNlcnNwYWNlIGlzIHByb2hpYml0aXZlIChpcwo+ID4gaXQg YnR3PyksCj4gCj4gSSB0aGluayB0aGUgIjEzJSBpbmNyZWFzZSBpbiBiYXR0ZXJ5IGNvbnN1bXB0 aW9uIGZvciBnYW1lcyIgbWFrZXMgaXQKPiBwcmV0dHkgY2xlYXIgdGhhdCBnb2luZyB0byB1c2Vy c3BhY2UgaXMgcHJvaGliaXRpdmUuIEFuZCB0aGF0J3MganVzdAo+IG9uZSBleGFtcGxlLgoKSSBi ZWcgdG8gZGlmZmVyLiBXZSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hlcmUgdGhlc2UgMTMlIGNvbWUg ZnJvbSBpbiBtb3JlCmRldGFpbHMuIElzIGl0IHJlYWxseSB0aGUgYWN0dWFsIGNvc3Qgb2YgdGhl IHVzZXJzcGFjZSBleGl0PyBPciBpcyBpdApqdXN0IHRoYXQgZnJvbSB1c2Vyc3BhY2UgdGhlIG9u bHkga25vYiB5b3UgY2FuIHBsYXkgd2l0aCBpcyB1Y2xhbXAgYW5kCnRoYXQgZGlkbid0IHJlYWNo IHRoZSBleHBlY3RlZCBsZXZlbCBvZiBwZXJmb3JtYW5jZT8KCklmIHRoYXQgaXMgdGhlIHVzZXJz cGFjZSBleGl0LCB0aGVuIHdlIGNhbiB3b3JrIHRvIG9wdGltaXplIHRoYXQgLS0gaXQncwphIGZh aXJseSBjb21tb24gcHJvYmxlbSBpbiB0aGUgdmlydCB3b3JsZCwgbm90aGluZyBzcGVjaWFsIGhl cmUuCgpBbmQgaWYgdGhlIGlzc3VlIGlzIHRoZSBsYWNrIG9mIGV4cHJlc3NpdmVuZXNzIGluIHVj bGFtcCwgdGhlbiB0aGF0IHRvbwppcyBzb21ldGhpbmcgd2Ugc2hvdWxkIHdvcmsgb24sIGJ1dCBj bGVhcmx5IGdpdmluZyB2Q1BVIHRocmVhZHMgbW9yZQoncG93ZXInIHRoYW4gbm9ybWFsIGhvc3Qg dGhyZWFkcyBpcyBhIGJpdCBvZiBhIHJlZCBmbGFnIElNTy4gdkNQVQp0aHJlYWRzIG11c3QgYmUg Y29uc3RyYWluZWQgaW4gdGhlIHNhbWUgd2F5IHRoYXQgdXNlcnNwYWNlIHRocmVhZHMgYXJlLApi ZWNhdXNlIHRoZXkgX2FyZV8gdXNlcnNwYWNlIHRocmVhZHMuCgo+ID4gdGhlbiB3ZSBjYW4gdHJ5 IHRvIHdvcmsgb24gdGhhdC4gTWF5YmUgc29tZXRoaW5nIGEgbGEgdmhvc3QKPiA+IGNhbiBiZSBk b25lIHRvIG9wdGltaXplLCBJJ2xsIGhhdmUgYSB0aGluay4KPiA+Cj4gPiA+IFRoZSBvbmUgdGhp bmcgSSdkIGxpa2UgdG8gdW5kZXJzdGFuZCB0aGF0IHRoZSBjb21tZW50IHNlZW1zIHRvIGltcGx5 Cj4gPiA+IHRoYXQgdGhlcmUgaXMgYSBzaWduaWZpY2FudCBkaWZmZXJlbmNlIGluIG92ZXJoZWFk IGJldHdlZW4gYSBoeXBlcmNhbGwKPiA+ID4gYW5kIGFuIE1NSU8uIEluIG15IGV4cGVyaWVuY2Us IGJvdGggYXJlIHByZXR0eSBzaW1pbGFyIGluIGNvc3QgZm9yIGEKPiA+ID4gaGFuZGxpbmcgbG9j YXRpb24gKGJvdGggaW4gdXNlcnNwYWNlIG9yIGJvdGggaW4gdGhlIGtlcm5lbCkuIE1NSU8KPiA+ ID4gaGFuZGxpbmcgaXMgYSB0aW55IGJpdCBtb3JlIGV4cGVuc2l2ZSBkdWUgdG8gYSBndWFyYW50 ZWVkIFRMQiBtaXNzCj4gPiA+IGZvbGxvd2VkIGJ5IGEgd2FsayBvZiB0aGUgaW4ta2VybmVsIGRl dmljZSByYW5nZXMsIGJ1dCB0aGF0J3MgYWxsLiBJdAo+ID4gPiBzaG91bGQgaGFyZGx5IHJlZ2lz dGVyLgo+ID4gPgo+ID4gPiBBbmQgaWYgeW91IHJlYWxseSB3YW50IHNvbWUgc3VwZXItbG93IGxh dGVuY3ksIGxvdyBvdmVyaGVhZAo+ID4gPiBzaWduYWxsaW5nLCBtYXliZSBhbiBleGNlcHRpb24g aXMgdGhlIHdyb25nIHRvb2wgZm9yIHRoZSBqb2IuIFNoYXJlZAo+ID4gPiBtZW1vcnkgY29tbXVu aWNhdGlvbiBjb3VsZCBiZSBtb3JlIGFwcHJvcHJpYXRlLgo+ID4KPiA+IEkgcHJlc3VtZSBzb21l IGtpbmQgb2Ygc2lnbmFsbGluZyBtZWNoYW5pc20gd2lsbCBiZSBuZWNlc3NhcnkgdG8KPiA+IHN5 bmNocm9ub3VzbHkgdXBkYXRlIGhvc3Qgc2NoZWR1bGluZyBwYXJhbWV0ZXJzIGluIHJlc3BvbnNl IHRvIGd1ZXN0Cj4gPiBmcmVxdWVuY3kgcmVxdWVzdHMsIGJ1dCBpZiB0aGUgdm9sdW1lIG9mIGRh dGEgcmVxdWlyZXMgaXQgdGhlbiBhIHNoYXJlZAo+ID4gYnVmZmVyICsgZG9vcmJlbGwgdHlwZSBv ZiBhcHByb2FjaCBzaG91bGQgZG8uCj4gCj4gUGFydCBvZiB0aGUgY29tbXVuaWNhdGlvbiBkb2Vz bid0IG5lZWQgc3luY2hyb25vdXMgaGFuZGxpbmcgYnkgdGhlCj4gaG9zdC4gU28sIHdoYXQgSSBz YWlkIGFib3ZlLgoKSSd2ZSBhbHNvIHJlcGxpZWQgdG8gYW5vdGhlciBtZXNzYWdlIGFib3V0IHRo ZSBzY2FsZSBpbnZhcmlhbmNlIGlzc3VlLAphbmQgSSdtIG5vdCBjb252aW5jZWQgdGhlIGZyZXF1 ZW5jeSBiYXNlZCBpbnRlcmZhY2UgcHJvcG9zZWQgaGVyZSByZWFsbHkKbWFrZXMgc2Vuc2UuIEFu IEFNVS1saWtlIGludGVyZmFjZSBpcyB2ZXJ5IGxpa2VseSB0byBiZSBzdXBlcmlvci4KCj4gPiBU aGlua2luZyBhYm91dCBpdCwgdXNpbmcgU0NNSSBvdmVyIHZpcnRpbyB3b3VsZCBpbXBsZW1lbnQg ZXhhY3RseSB0aGF0Lgo+ID4gTGludXgtYXMtYS1ndWVzdCBhbHJlYWR5IHN1cHBvcnRzIGl0IElJ UkMsIHNvIHBvc3NpYmx5IHRoZSBwcm9ibGVtCj4gPiBiZWluZyBhZGRyZXNzZWQgaW4gdGhpcyBz ZXJpZXMgY291bGQgYmUgJ3NpbXBseScgc29sdmVkIHVzaW5nIGFuIFNDTUkKPiA+IGJhY2tlbmQg aW4gdGhlIFZNTS4uLgo+IAo+IFRoaXMgd2lsbCBiZSB3b3JzZSB0aGFuIGFsbCB0aGUgb3B0aW9u cyB3ZSd2ZSB0cmllZCBzbyBmYXIgYmVjYXVzZSBpdAo+IGhhcyB0aGUgdXNlcnNwYWNlIG92ZXJo ZWFkIEFORCB1Y2xhbXAgb3ZlcmhlYWQuCgpCdXQgaXQgZG9lc24ndCB2aW9sYXRlIHRoZSB3aG9s ZSBLVk0gdXNlcnNwYWNlIGRlbGVnYXRpb24gbW9kZWwsIHNvIHdlCnNob3VsZCBzdGFydCBmcm9t IHRoZXJlIGFuZCB0aGVuIG9wdGltaXplIGZ1cnRoZXIgaWYgbmVlZCBiZS4KClRoYW5rcywKUXVl bnRpbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt YXJtLWtlcm5lbAo=