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 44A1FCD11BF for ; Sun, 24 Mar 2024 11:41:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To: Content-Transfer-Encoding:Content-Type: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=/pm71XqUg2Me/5kzVzyvAIWcLcizOGK383LNxU+r5/U=; b=24XQfgR+boUC/su0a+pj96quBd auYMen18Yc6q8jlbe7FKjAKd/dWXNd1L0vWeUNXVZVvIdjfN41x6vxfpBVUmKNuDORlGtYRU19WMD POzT4E15CbXLITM0r0uue9x3mM8fJa4i8/uynlEzccd/0pe6RE+eqjAagpEiW3J8nD1RRQgAB4HKL Gmf3NkswKQPrM6GKc54rYrNteHa4VW609fPXC3PigSYtt/nVGA6V3tnrVetHocAk3IvSt1unnyyQu sn9+7v2VVeA9JZueb6t9XJufNfFourprelKLVua1kvBLpu9lGFAisvTtCOsxZV9a8zLHmRf6cBx5E JHk8MQKA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1roMEb-0000000CT66-0AuL; Sun, 24 Mar 2024 11:41:53 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:32c8:5054:ff:fe00:142]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1roMEW-0000000CSrV-1oXb; Sun, 24 Mar 2024 11:41:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type: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-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=/pm71XqUg2Me/5kzVzyvAIWcLcizOGK383LNxU+r5/U=; b=wpDcD+vYSME5DYWATYlNDH/YEg /jTLStgE7PwCf0v4Whv7leAPkpSEkEs08V3YRE91IZ0qWmO7QOBStdHNfbEwxncMIqr4agFzSG94Z eC1i59HSLICUSu/PbGSGEnjt0s2ar/Upqey60Jd3DoTiAiIrbMNSBtEVRHEOAkXFEsGBvGZaVemYs 9tb8rb+A2OBfdHY8c7uVIzCcQMLQorS6o26D9Dp67R48HrLs0Nf6ntIpYMENrpaELL/DW+qAcfWSr gyTYpakQ9VyLcSGyEoFS0wjOJ6Ja5eaXk9tf8zXSaPGi32wYs/rLH6VnAfGd+L75WSPgjlG7Fh7Lk dR4fLziA==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:59938) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1roMC7-0002Ei-1W; Sun, 24 Mar 2024 11:39:19 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1roMC0-0006UM-Tn; Sun, 24 Mar 2024 11:39:13 +0000 Date: Sun, 24 Mar 2024 11:39:12 +0000 From: "Russell King (Oracle)" To: =?utf-8?B?QXLEsW7DpyDDnE5BTA==?= Cc: Florian Fainelli , Daniel Golle , Andrew Lunn , DENG Qingfang , Sean Wang , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Matthias Brugger , AngeloGioacchino Del Regno , =?iso-8859-1?Q?Ren=E9?= van Dorst , SkyLake Huang , Heiner Kallweit , Bartel Eerdekens , mithat.guner@xeront.com, erkin.bozoglu@xeront.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: Re: [PATCH 0/3] Fix EEE support for MT7531 and MT7988 SoC switch Message-ID: References: <20240318-for-net-mt7530-fix-eee-for-mt7531-mt7988-v> <00ec9779-19ce-4005-83f0-f4abf37350fc@arinc9.com> <6cb585f6-6da8-45a2-a28b-2fb556f95672@lunn.ch> <38798882-c033-4949-9446-4c6f15c25ebe@gmail.com> <0fbe7ba2-6529-4118-b050-8ea76d28b712@arinc9.com> <11b2a4d1-66d8-4bcf-b1a8-20a635b99cc4@gmail.com> <5a4c0436-cd78-419f-af14-9c4e0c0435e3@arinc9.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5a4c0436-cd78-419f-af14-9c4e0c0435e3@arinc9.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240324_044148_603547_EFE1C488 X-CRM114-Status: GOOD ( 24.85 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Sun, Mar 24, 2024 at 12:47:08PM +0300, Arınç ÜNAL wrote: > On 21/03/2024 18:31, Florian Fainelli wrote: > > On 3/21/24 09:09, Arınç ÜNAL wrote: > > > I have started testing MT7531 with EEE enabled and immediately experienced > > > frames that wouldn't egress the switch or improperly received on the link > > > partner. > > > > > > SoC MAC       <-EEE off-> MT7531 P6 MAC (acting as PHY) > > > MT7531 P0 MAC <-EEE on -> MT7531 P0 PHY > > > MT7531 P0 PHY <-EEE on -> Computer connected with twisted pair > > > > OK, so this is intended to describe that the SoC's Ethernet MAC link to the integrated switch did not use EEE only the user-facing ports. That makes sense because it's all digital logic and you are not going to be seeing much power saving from having EEE enabled between the SoC's Ethernet MAC and CPU port of the switch, that said, however, I wonder if this has an impact on any form of flow control within the switch that is reacting to LPI and you need EEE to be enabled end-to-end? > > I've tested pinging between my computers with EEE enabled interfaces. The > behaviour is identical. > > > > > > > > > I've tested pinging from the SoC's CPU. Packet capturing on the twisted > > > pair computer showed very few frames were being received. > > > > > > # ping 192.168.2.2 > > > PING 192.168.2.2 (192.168.2.2): 56 data bytes > > > 64 bytes from 192.168.2.2: seq=36 ttl=64 time=0.486 ms > > > ^C > > > --- 192.168.2.2 ping statistics --- > > > 64 packets transmitted, 1 packets received, 98% packet loss > > > round-trip min/avg/max = 0.486/0.486/0.486 ms > > > > > > It seems there's less loss when frames are passed more frequently. > > > > That would point to an issue getting in and out of LPI, do you see these packet losses even with different LPI timeouts? > > The NICs on my computers don't seem to allow changing the tx-lpi and > tx-timer options. > > Computer 1 (Intel I219-V, driver: e1000e): > > $ sudo ethtool --set-eee eno1 tx-timer 15 > netlink error: Invalid argument > > $ sudo ethtool --show-eee eno1 > EEE settings for eno1: > EEE status: enabled - active > Tx LPI: 17 (us) > Supported EEE link modes: 100baseT/Full > 1000baseT/Full > Advertised EEE link modes: 100baseT/Full > 1000baseT/Full > Link partner advertised EEE link modes: 100baseT/Full > 1000baseT/Full > > Computer 2 (Realtek RTL8111H, driver: r8169): > > $ sudo ethtool --set-eee eno1 tx-lpi on > > $ sudo ethtool --show-eee eno1 > EEE settings for eno1: > EEE status: enabled - active > Tx LPI: disabled > Supported EEE link modes: 100baseT/Full > 1000baseT/Full > Advertised EEE link modes: 100baseT/Full > 1000baseT/Full > Link partner advertised EEE link modes: 100baseT/Full > 1000baseT/Full > > I've tested with switch ports interfaces' tx-timer from 0 to 40, same > tx-timer for both interfaces. Loss is still there. EEE implementations tend to be a mess in the way drivers implement the API, so one can't at the moment rely on what ethtool says about the status. Sadly, this is what happens when driver authors are left to their own ends. :( > I suppose the MT7531 switch PHYs need calibration for EEE that is currently > missing from the mediatek-ge driver. EEE is quite simple from the software point of view. There is software negotiation of the modules that EEE supports, and then there is are one or more timers that affect the behaviour of EEE. The LPI timer is "how long the link needs to be idle for before _this_ end signals that it _can_ enter low power state". The link only enters low power state when *both* ends of the link signal that they can enter low power state. What calibration would be necessary? -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last! 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 C9EADCD11BF for ; Sun, 24 Mar 2024 11:42: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=fUiThK8ItnTq4gGufUKctpR5dWsUMu32mfUJ3nmdlcQ=; b=2dREt3tSUn+fNn EX9MKGJzbRiNiy9GnRklUXVSd5Mc/MaVqd8xZb2KubxjpX8QumJbWwc8qYtV4q5vmSFUaRtFoJqHD wRGPvvtwmgmMGfWLQwxdWFRGsRfUhdZQY1TVb4U+aa/IHY8ZqFIdKSdonQjMqcvtycIWXSktSJWhf 22qOfMYCYjAXso2nN/IDE1wEi8zf4/WmnFU3wv+JmL7Yhg1qFDqWDe+nvroo0oJM5Gb8ChhKc5d/W AwFjEAaS2X80xDqgOXjigaoCj2c+QjgN/35fM3l1ZTEZ0bENYDznz1EXzT/+Wf3dKjG72scMepw6V BxcxhIMAVN4yRyLNdo8A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1roMEa-0000000CT5y-16NB; Sun, 24 Mar 2024 11:41:52 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:32c8:5054:ff:fe00:142]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1roMEW-0000000CSrV-1oXb; Sun, 24 Mar 2024 11:41:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type: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-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=/pm71XqUg2Me/5kzVzyvAIWcLcizOGK383LNxU+r5/U=; b=wpDcD+vYSME5DYWATYlNDH/YEg /jTLStgE7PwCf0v4Whv7leAPkpSEkEs08V3YRE91IZ0qWmO7QOBStdHNfbEwxncMIqr4agFzSG94Z eC1i59HSLICUSu/PbGSGEnjt0s2ar/Upqey60Jd3DoTiAiIrbMNSBtEVRHEOAkXFEsGBvGZaVemYs 9tb8rb+A2OBfdHY8c7uVIzCcQMLQorS6o26D9Dp67R48HrLs0Nf6ntIpYMENrpaELL/DW+qAcfWSr gyTYpakQ9VyLcSGyEoFS0wjOJ6Ja5eaXk9tf8zXSaPGi32wYs/rLH6VnAfGd+L75WSPgjlG7Fh7Lk dR4fLziA==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:59938) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1roMC7-0002Ei-1W; Sun, 24 Mar 2024 11:39:19 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1roMC0-0006UM-Tn; Sun, 24 Mar 2024 11:39:13 +0000 Date: Sun, 24 Mar 2024 11:39:12 +0000 From: "Russell King (Oracle)" To: =?utf-8?B?QXLEsW7DpyDDnE5BTA==?= Cc: Florian Fainelli , Daniel Golle , Andrew Lunn , DENG Qingfang , Sean Wang , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Matthias Brugger , AngeloGioacchino Del Regno , =?iso-8859-1?Q?Ren=E9?= van Dorst , SkyLake Huang , Heiner Kallweit , Bartel Eerdekens , mithat.guner@xeront.com, erkin.bozoglu@xeront.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: Re: [PATCH 0/3] Fix EEE support for MT7531 and MT7988 SoC switch Message-ID: References: <20240318-for-net-mt7530-fix-eee-for-mt7531-mt7988-v> <00ec9779-19ce-4005-83f0-f4abf37350fc@arinc9.com> <6cb585f6-6da8-45a2-a28b-2fb556f95672@lunn.ch> <38798882-c033-4949-9446-4c6f15c25ebe@gmail.com> <0fbe7ba2-6529-4118-b050-8ea76d28b712@arinc9.com> <11b2a4d1-66d8-4bcf-b1a8-20a635b99cc4@gmail.com> <5a4c0436-cd78-419f-af14-9c4e0c0435e3@arinc9.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <5a4c0436-cd78-419f-af14-9c4e0c0435e3@arinc9.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240324_044148_603547_EFE1C488 X-CRM114-Status: GOOD ( 24.85 ) 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 T24gU3VuLCBNYXIgMjQsIDIwMjQgYXQgMTI6NDc6MDhQTSArMDMwMCwgQXLEsW7DpyDDnE5BTCB3 cm90ZToKPiBPbiAyMS8wMy8yMDI0IDE4OjMxLCBGbG9yaWFuIEZhaW5lbGxpIHdyb3RlOgo+ID4g T24gMy8yMS8yNCAwOTowOSwgQXLEsW7DpyDDnE5BTCB3cm90ZToKPiA+ID4gSSBoYXZlIHN0YXJ0 ZWQgdGVzdGluZyBNVDc1MzEgd2l0aCBFRUUgZW5hYmxlZCBhbmQgaW1tZWRpYXRlbHkgZXhwZXJp ZW5jZWQKPiA+ID4gZnJhbWVzIHRoYXQgd291bGRuJ3QgZWdyZXNzIHRoZSBzd2l0Y2ggb3IgaW1w cm9wZXJseSByZWNlaXZlZCBvbiB0aGUgbGluawo+ID4gPiBwYXJ0bmVyLgo+ID4gPiAKPiA+ID4g U29DIE1BQ8KgwqDCoMKgwqDCoCA8LUVFRSBvZmYtPiBNVDc1MzEgUDYgTUFDIChhY3RpbmcgYXMg UEhZKQo+ID4gPiBNVDc1MzEgUDAgTUFDIDwtRUVFIG9uIC0+IE1UNzUzMSBQMCBQSFkKPiA+ID4g TVQ3NTMxIFAwIFBIWSA8LUVFRSBvbiAtPiBDb21wdXRlciBjb25uZWN0ZWQgd2l0aCB0d2lzdGVk IHBhaXIKPiA+IAo+ID4gT0ssIHNvIHRoaXMgaXMgaW50ZW5kZWQgdG8gZGVzY3JpYmUgdGhhdCB0 aGUgU29DJ3MgRXRoZXJuZXQgTUFDIGxpbmsgdG8gdGhlIGludGVncmF0ZWQgc3dpdGNoIGRpZCBu b3QgdXNlIEVFRSBvbmx5IHRoZSB1c2VyLWZhY2luZyBwb3J0cy4gVGhhdCBtYWtlcyBzZW5zZSBi ZWNhdXNlIGl0J3MgYWxsIGRpZ2l0YWwgbG9naWMgYW5kIHlvdSBhcmUgbm90IGdvaW5nIHRvIGJl IHNlZWluZyBtdWNoIHBvd2VyIHNhdmluZyBmcm9tIGhhdmluZyBFRUUgZW5hYmxlZCBiZXR3ZWVu IHRoZSBTb0MncyBFdGhlcm5ldCBNQUMgYW5kIENQVSBwb3J0IG9mIHRoZSBzd2l0Y2gsIHRoYXQg c2FpZCwgaG93ZXZlciwgSSB3b25kZXIgaWYgdGhpcyBoYXMgYW4gaW1wYWN0IG9uIGFueSBmb3Jt IG9mIGZsb3cgY29udHJvbCB3aXRoaW4gdGhlIHN3aXRjaCB0aGF0IGlzIHJlYWN0aW5nIHRvIExQ SSBhbmQgeW91IG5lZWQgRUVFIHRvIGJlIGVuYWJsZWQgZW5kLXRvLWVuZD8KPiAKPiBJJ3ZlIHRl c3RlZCBwaW5naW5nIGJldHdlZW4gbXkgY29tcHV0ZXJzIHdpdGggRUVFIGVuYWJsZWQgaW50ZXJm YWNlcy4gVGhlCj4gYmVoYXZpb3VyIGlzIGlkZW50aWNhbC4KPiAKPiA+IAo+ID4gPiAKPiA+ID4g SSd2ZSB0ZXN0ZWQgcGluZ2luZyBmcm9tIHRoZSBTb0MncyBDUFUuIFBhY2tldCBjYXB0dXJpbmcg b24gdGhlIHR3aXN0ZWQKPiA+ID4gcGFpciBjb21wdXRlciBzaG93ZWQgdmVyeSBmZXcgZnJhbWVz IHdlcmUgYmVpbmcgcmVjZWl2ZWQuCj4gPiA+IAo+ID4gPiAjIHBpbmcgMTkyLjE2OC4yLjIKPiA+ ID4gUElORyAxOTIuMTY4LjIuMiAoMTkyLjE2OC4yLjIpOiA1NiBkYXRhIGJ5dGVzCj4gPiA+IDY0 IGJ5dGVzIGZyb20gMTkyLjE2OC4yLjI6IHNlcT0zNiB0dGw9NjQgdGltZT0wLjQ4NiBtcwo+ID4g PiBeQwo+ID4gPiAtLS0gMTkyLjE2OC4yLjIgcGluZyBzdGF0aXN0aWNzIC0tLQo+ID4gPiA2NCBw YWNrZXRzIHRyYW5zbWl0dGVkLCAxIHBhY2tldHMgcmVjZWl2ZWQsIDk4JSBwYWNrZXQgbG9zcwo+ ID4gPiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC40ODYvMC40ODYvMC40ODYgbXMKPiA+ID4g Cj4gPiA+IEl0IHNlZW1zIHRoZXJlJ3MgbGVzcyBsb3NzIHdoZW4gZnJhbWVzIGFyZSBwYXNzZWQg bW9yZSBmcmVxdWVudGx5Lgo+ID4gCj4gPiBUaGF0IHdvdWxkIHBvaW50IHRvIGFuIGlzc3VlIGdl dHRpbmcgaW4gYW5kIG91dCBvZiBMUEksIGRvIHlvdSBzZWUgdGhlc2UgcGFja2V0IGxvc3NlcyBl dmVuIHdpdGggZGlmZmVyZW50IExQSSB0aW1lb3V0cz8KPiAKPiBUaGUgTklDcyBvbiBteSBjb21w dXRlcnMgZG9uJ3Qgc2VlbSB0byBhbGxvdyBjaGFuZ2luZyB0aGUgdHgtbHBpIGFuZAo+IHR4LXRp bWVyIG9wdGlvbnMuCj4gCj4gQ29tcHV0ZXIgMSAoSW50ZWwgSTIxOS1WLCBkcml2ZXI6IGUxMDAw ZSk6Cj4gCj4gJCBzdWRvIGV0aHRvb2wgLS1zZXQtZWVlIGVubzEgdHgtdGltZXIgMTUKPiBuZXRs aW5rIGVycm9yOiBJbnZhbGlkIGFyZ3VtZW50Cj4gCj4gJCBzdWRvIGV0aHRvb2wgLS1zaG93LWVl ZSBlbm8xCj4gRUVFIHNldHRpbmdzIGZvciBlbm8xOgo+IAlFRUUgc3RhdHVzOiBlbmFibGVkIC0g YWN0aXZlCj4gCVR4IExQSTogMTcgKHVzKQo+IAlTdXBwb3J0ZWQgRUVFIGxpbmsgbW9kZXM6ICAx MDBiYXNlVC9GdWxsCj4gCSAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDBiYXNlVC9GdWxs Cj4gCUFkdmVydGlzZWQgRUVFIGxpbmsgbW9kZXM6ICAxMDBiYXNlVC9GdWxsCj4gCSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAxMDAwYmFzZVQvRnVsbAo+IAlMaW5rIHBhcnRuZXIgYWR2ZXJ0 aXNlZCBFRUUgbGluayBtb2RlczogIDEwMGJhc2VUL0Z1bGwKPiAJICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAxMDAwYmFzZVQvRnVsbAo+IAo+IENvbXB1dGVyIDIgKFJl YWx0ZWsgUlRMODExMUgsIGRyaXZlcjogcjgxNjkpOgo+IAo+ICQgc3VkbyBldGh0b29sIC0tc2V0 LWVlZSBlbm8xIHR4LWxwaSBvbgo+IAo+ICQgc3VkbyBldGh0b29sIC0tc2hvdy1lZWUgZW5vMQo+ IEVFRSBzZXR0aW5ncyBmb3IgZW5vMToKPiAJRUVFIHN0YXR1czogZW5hYmxlZCAtIGFjdGl2ZQo+ IAlUeCBMUEk6IGRpc2FibGVkCj4gCVN1cHBvcnRlZCBFRUUgbGluayBtb2RlczogIDEwMGJhc2VU L0Z1bGwKPiAJICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMGJhc2VUL0Z1bGwKPiAJQWR2 ZXJ0aXNlZCBFRUUgbGluayBtb2RlczogIDEwMGJhc2VUL0Z1bGwKPiAJICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDEwMDBiYXNlVC9GdWxsCj4gCUxpbmsgcGFydG5lciBhZHZlcnRpc2VkIEVF RSBsaW5rIG1vZGVzOiAgMTAwYmFzZVQvRnVsbAo+IAkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDEwMDBiYXNlVC9GdWxsCj4gCj4gSSd2ZSB0ZXN0ZWQgd2l0aCBzd2l0 Y2ggcG9ydHMgaW50ZXJmYWNlcycgdHgtdGltZXIgZnJvbSAwIHRvIDQwLCBzYW1lCj4gdHgtdGlt ZXIgZm9yIGJvdGggaW50ZXJmYWNlcy4gTG9zcyBpcyBzdGlsbCB0aGVyZS4KCkVFRSBpbXBsZW1l bnRhdGlvbnMgdGVuZCB0byBiZSBhIG1lc3MgaW4gdGhlIHdheSBkcml2ZXJzIGltcGxlbWVudCB0 aGUKQVBJLCBzbyBvbmUgY2FuJ3QgYXQgdGhlIG1vbWVudCByZWx5IG9uIHdoYXQgZXRodG9vbCBz YXlzIGFib3V0IHRoZQpzdGF0dXMuIFNhZGx5LCB0aGlzIGlzIHdoYXQgaGFwcGVucyB3aGVuIGRy aXZlciBhdXRob3JzIGFyZSBsZWZ0IHRvCnRoZWlyIG93biBlbmRzLiA6KAoKPiBJIHN1cHBvc2Ug dGhlIE1UNzUzMSBzd2l0Y2ggUEhZcyBuZWVkIGNhbGlicmF0aW9uIGZvciBFRUUgdGhhdCBpcyBj dXJyZW50bHkKPiBtaXNzaW5nIGZyb20gdGhlIG1lZGlhdGVrLWdlIGRyaXZlci4KCkVFRSBpcyBx dWl0ZSBzaW1wbGUgZnJvbSB0aGUgc29mdHdhcmUgcG9pbnQgb2Ygdmlldy4gVGhlcmUgaXMgc29m dHdhcmUKbmVnb3RpYXRpb24gb2YgdGhlIG1vZHVsZXMgdGhhdCBFRUUgc3VwcG9ydHMsIGFuZCB0 aGVuIHRoZXJlIGlzIGFyZQpvbmUgb3IgbW9yZSB0aW1lcnMgdGhhdCBhZmZlY3QgdGhlIGJlaGF2 aW91ciBvZiBFRUUuIFRoZSBMUEkgdGltZXIgaXMKImhvdyBsb25nIHRoZSBsaW5rIG5lZWRzIHRv IGJlIGlkbGUgZm9yIGJlZm9yZSBfdGhpc18gZW5kIHNpZ25hbHMgdGhhdAppdCBfY2FuXyBlbnRl ciBsb3cgcG93ZXIgc3RhdGUiLiBUaGUgbGluayBvbmx5IGVudGVycyBsb3cgcG93ZXIgc3RhdGUK d2hlbiAqYm90aCogZW5kcyBvZiB0aGUgbGluayBzaWduYWwgdGhhdCB0aGV5IGNhbiBlbnRlciBs b3cgcG93ZXIKc3RhdGUuCgpXaGF0IGNhbGlicmF0aW9uIHdvdWxkIGJlIG5lY2Vzc2FyeT8KCi0t IApSTUsncyBQYXRjaCBzeXN0ZW06IGh0dHBzOi8vd3d3LmFybWxpbnV4Lm9yZy51ay9kZXZlbG9w ZXIvcGF0Y2hlcy8KRlRUUCBpcyBoZXJlISA4ME1icHMgZG93biAxME1icHMgdXAuIERlY2VudCBj b25uZWN0aXZpdHkgYXQgbGFzdCEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJu ZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK