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=-12.2 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 1CD37C433E0 for ; Mon, 18 Jan 2021 16:03:50 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 CCEE822CA1 for ; Mon, 18 Jan 2021 16:03:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CCEE822CA1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5F2F66E207; Mon, 18 Jan 2021 16:03:49 +0000 (UTC) Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) by gabe.freedesktop.org (Postfix) with ESMTPS id 546076E207 for ; Mon, 18 Jan 2021 16:03:48 +0000 (UTC) Received: by mail-ej1-x62c.google.com with SMTP id b5so7951892ejv.4 for ; Mon, 18 Jan 2021 08:03:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=reply-to:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=5Qg1vYij6LaXIiOOeXXTw/Wa7ZHv8Ka+X/jIrPJVJzw=; b=PkCWi1VqGU9XQUN5cBrOT9qTXOIQ3lq3aK6c6nb5VuvMkXMDOwygtAMFBkjdsnQH6Z t+2YK+T1SFdedRzCq45vPEb64xt+slD5OJSRyd5iJ/uAGZh6yV5ibskk5ZRuWpaRp9Zb KFRW/GAsETyCHQHoupcO5FHN3O5HXhNRkhYHY7FLlz5H6O0H65xmNZPVnprf6EmwLg8l bymmUINu+zaw0TQxp2TFYlFZtwpHnePsMttQ/YaAD9g35DPhrdnIuwbiXkYxdyiOTT9Z 1byvGkPg58jwHpI271HIODtE2o8tLULH/cP6eaVayIrldUANDzObGFWdVGqOLZsZ0Wep miNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:subject:to:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=5Qg1vYij6LaXIiOOeXXTw/Wa7ZHv8Ka+X/jIrPJVJzw=; b=odYwpAEu7r4fufkqSDxKW8lT8wBdgZs5Qj6OPjo8sgo2HQbXlIqc/wncKiqRkHBrXN Wd5C5NmyY+Z5ZpZG8IHeztLR+OgXrNrjd81GIMgKXbWi9zP0lTxhGVBJViFPXbDBF2i1 d6uPT+TmePrOL8N5nDce6D3dPfHR1tyViCJW6vm4fBRtNwFV3IislRRIhMHx7RsQMs96 JkIid6bSKUku5/gnSZOjcoUaFvKxDpkhicWayT4o31STWFlgzKCmwPqEni0Wl9n9YSHy 7Qf2abwGUiHu/Lq0XAqa5qQlVQ9zwuHfXd08UoXc+Y0KA2wyAMFTrlj/jOkgVPq863vZ BNmA== X-Gm-Message-State: AOAM532KV3/MmvLU8YXM6GIswE0R59r7mjnjZNYJkVjuNGRGF0dwYJO1 cZFgpgqfBt+udc7A8MUMQJS7axrg42Y= X-Google-Smtp-Source: ABdhPJzopdJLXFfoG6mYEFDeVIxVm6XtMXEOHCTgXiH1YQ4/Ks7YoH9OR4G14TPycmAx7uww8yT0zQ== X-Received: by 2002:a17:906:d159:: with SMTP id br25mr261520ejb.398.1610985826748; Mon, 18 Jan 2021 08:03:46 -0800 (PST) Received: from ?IPv6:2a02:908:1252:fb60:be8a:bd56:1f94:86e7? ([2a02:908:1252:fb60:be8a:bd56:1f94:86e7]) by smtp.gmail.com with ESMTPSA id o10sm9735735eju.89.2021.01.18.08.03.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 18 Jan 2021 08:03:46 -0800 (PST) Subject: Re: [PATCH] drm/amdgpu: change the fence ring wait timeout To: "Deng, Emily" , "Koenig, Christian" , "Sun, Roy" , "amd-gfx@lists.freedesktop.org" References: <20210113063612.31468-1-Roy.Sun@amd.com> <318aa468-c009-8edf-d6bd-8408ee79c42e@gmail.com> <05ae70f5-2692-7b64-359d-c307f02b93bf@amd.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: Date: Mon, 18 Jan 2021 17:03:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: christian.koenig@amd.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" QW0gMTguMDEuMjEgdW0gMTI6NTYgc2NocmllYiBEZW5nLCBFbWlseToKPiBbQU1EIE9mZmljaWFs IFVzZSBPbmx5IC0gSW50ZXJuYWwgRGlzdHJpYnV0aW9uIE9ubHldCj4KPj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogS29lbmlnLCBDaHJpc3RpYW4gPENocmlzdGlhbi5Lb2Vu aWdAYW1kLmNvbT4KPj4gU2VudDogTW9uZGF5LCBKYW51YXJ5IDE4LCAyMDIxIDM6NDkgUE0KPj4g VG86IERlbmcsIEVtaWx5IDxFbWlseS5EZW5nQGFtZC5jb20+OyBTdW4sIFJveSA8Um95LlN1bkBh bWQuY29tPjsKPj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gU3ViamVjdDogUmU6 IFtQQVRDSF0gZHJtL2FtZGdwdTogY2hhbmdlIHRoZSBmZW5jZSByaW5nIHdhaXQgdGltZW91dAo+ Pgo+PiBNaG0sIHdlIGNvdWxkIGNoYW5nZSBhbWRncHVfZmVuY2Vfd2FpdF9lbXB0eSgpIHRvIHRp bWVvdXQuIEJ1dCBJIHRoaW5rCj4+IHRoYXQgd2FpdGluZyBmb3JldmVyIGhlcmUgaXMgaW50ZW50 aW9uYWwgYW5kIHRoZSByaWdodCB0aGluZyB0byBkby4KPj4KPj4gV2hhdCBoYXBwZW5zIGlzIHRo YXQgd2Ugd2FpdCBmb3IgdGhlIGhhcmR3YXJlIHRvIG1ha2Ugc3VyZSB0aGF0IG5vdGhpbmcgaXMK Pj4gd3JpdGluZyB0byBhbnkgbWVtb3J5IGJlZm9yZSB3ZSB1bmxvYWQgdGhlIGRyaXZlci4KPj4K Pj4gTm93IHRoZSBWQ04gYmxvY2sgaGFzIGNyYXNoZWQgYW5kIGRvZXNuJ3QgcmVzcG9uZCwgYnV0 IHdlIGNhbid0IGd1YXJhbnRlZQo+PiB0aGF0IGl0IGlzIG5vdCBhY2NpZGVudGFsbHkgd3JpdGlu ZyBhbnl3aGVyZS4KPj4KPj4gVGhlIG9ubHkgYWx0ZXJuYXRpdmUgd2UgaGF2ZSBpcyB0byB0aW1l IG91dCBhbmQgcHJvY2VlZCB3aXRoIHRoZSBkcml2ZXIgdW5sb2FkLAo+PiByaXNraW5nIGNvcnJ1 cHRpbmcgdGhlIG1lbW9yeSB3ZSBmcmVlIGR1cmluZyB0aGF0IHNob3VsZCB0aGUgaGFyZHdhcmUK Pj4gY29udGludWUgdG8gZG8gc29tZXRoaW5nLgo+IEhpIENocmlzdGlhbiwKPiAgICAgIFRoYW5r cyB5b3VyIHN1Z2dlc3Rpb24sIGJ1dCBzdGlsbCBub3QgcXVpdGUgY2xlYXJseSwgY291bGQgeW91 IGRldGFpbCB0aGUgc29sdXRpb24gdG8gYXZvaWQga2VybmVsIG5vdCBsb2NrdXA/CgpXZWxsIGFz IEkgc2FpZCB0aGF0IHRoZSBrZXJuZWwgbG9ja3MgdXAgaXMgaW50ZW50aW9uYWwgaGVyZS4KClJl Z2FyZHMsCkNocmlzdGlhbi4KCj4+IFJlZ2FyZHMsCj4+IENocmlzdGlhbi4KPj4KPj4gQW0gMTgu MDEuMjEgdW0gMDM6MDEgc2NocmllYiBEZW5nLCBFbWlseToKPj4+IFtBTUQgT2ZmaWNpYWwgVXNl IE9ubHkgLSBJbnRlcm5hbCBEaXN0cmlidXRpb24gT25seV0KPj4+Cj4+Pj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0KPj4+PiBGcm9tOiBLb2VuaWcsIENocmlzdGlhbiA8Q2hyaXN0aWFuLktv ZW5pZ0BhbWQuY29tPgo+Pj4+IFNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDE0LCAyMDIxIDk6NTAg UE0KPj4+PiBUbzogRGVuZywgRW1pbHkgPEVtaWx5LkRlbmdAYW1kLmNvbT47IFN1biwgUm95IDxS b3kuU3VuQGFtZC5jb20+Owo+Pj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4g U3ViamVjdDogUmU6IFtQQVRDSF0gZHJtL2FtZGdwdTogY2hhbmdlIHRoZSBmZW5jZSByaW5nIHdh aXQgdGltZW91dAo+Pj4+Cj4+Pj4gQW0gMTQuMDEuMjEgdW0gMDM6MDAgc2NocmllYiBEZW5nLCBF bWlseToKPj4+Pj4gW0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEludGVybmFsIERpc3RyaWJ1dGlv biBPbmx5XQo+Pj4+Pgo+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4+Pj4+IEZy b206IGFtZC1nZnggPGFtZC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJl aGFsZiBPZgo+Pj4+Pj4gQ2hyaXN0aWFuIEvDtm5pZwo+Pj4+Pj4gU2VudDogV2VkbmVzZGF5LCBK YW51YXJ5IDEzLCAyMDIxIDEwOjAzIFBNCj4+Pj4+PiBUbzogU3VuLCBSb3kgPFJveS5TdW5AYW1k LmNvbT47IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4+PiBTdWJqZWN0OiBSZTog W1BBVENIXSBkcm0vYW1kZ3B1OiBjaGFuZ2UgdGhlIGZlbmNlIHJpbmcgd2FpdCB0aW1lb3V0Cj4+ Pj4+Pgo+Pj4+Pj4gQW0gMTMuMDEuMjEgdW0gMDc6MzYgc2NocmllYiBSb3kgU3VuOgo+Pj4+Pj4+ IFRoaXMgZml4IGJ1ZyB3aGVyZSB3aGVuIHRoZSBlbmdpbmUgaGFuZywgdGhlIGZlbmNlIHJpbmcg d2lsbCB3YWl0Cj4+Pj4+Pj4gd2l0aG91dCBxdWl0IGFuZCBjYXVzZSBrZXJuZWwgY3Jhc2gKPj4+ Pj4+IE5BSywgdGhpcyBibG9ja2luZyBpcyBpbnRlbnRpb25hbCB1bmxpbWl0ZWQgYmVjYXVzZSBv dGhlcndpc2Ugd2UKPj4+Pj4+IHdpbGwgY2F1c2UgYSBtZW1vcnkgY29ycnVwdGlvbi4KPj4+Pj4+ Cj4+Pj4+PiBXaGF0IGlzIHRoZSBhY3R1YWwgYnVnIHlvdSBhcmUgdHJ5aW5nIHRvIGZpeCBoZXJl Pwo+Pj4+PiBXaGVuIHNvbWUgZW5naW5lIGhhbmcgZHVyaW5nIGluaXRpYWxpemF0aW9uLCB0aGUg SUIgdGVzdCB3aWxsIGZhaWwsCj4+Pj4+IGFuZCBmZW5jZSB3aWxsIG5ldmVyIGNvbWUgYmFjaywg dGhlbiBuZXZlciBjb3VsZCB3YWl0IHRoZSBmZW5jZSBiYWNrLgo+Pj4+PiBXaHkgd2UgbmVlZCB0 byB3YWl0IGhlcmUgZm9yZXZlcj8gV2UnZCBiZXR0ZXIgbm90IHVzZSBmb3JldmVyIHdhaXQKPj4+ Pj4gd2hpY2gKPj4+PiB3aWxsIGNhdXNlIGtlcm5lbCBjcmFzaCBhbmQgbG9ja3VwLiBBbmQgd2Ug aGF2ZQo+Pj4+IGFtZGdwdV9mZW5jZV9kcml2ZXJfZm9yY2VfY29tcGxldGlvbiB3aWxsIGxldCBt ZW1vcnkgZnJlZS4gV2Ugc2hvdWxkCj4+Pj4gcmVtb3ZlIGFsbCB0aG9zZSBmb3JldmVyIHdhaXQs IGFuZCByZXBsYWNlIHRoZW0gd2l0aCBvbmUgdGltZW91dCwKPj4+PiBhbmQgZG8gdGhlIGNvcnJl Y3QgZXJyb3IgcHJvY2VzcyBpZiB0aW1lb3V0Lgo+Pj4+Cj4+Pj4gVGhpcyB3YWl0IGhlcmUgaXMg dG8gbWFrZSBzdXJlIHdlIG5ldmVyIG92ZXJ3cml0ZSB0aGUgc29mdHdhcmUgZmVuY2UKPj4+PiBy aW5nIGJ1ZmZlci4gV2l0aG91dCBpdCB3ZSB3b3VsZCBub3Qgc2lnbmFsIGFsbCBmZW5jZXMgaW4K Pj4+PiBhbWRncHVfZmVuY2VfZHJpdmVyX2ZvcmNlX2NvbXBsZXRpb24oKSBhbmQgY2F1c2UgZWl0 aGVyIG1lbW9yeSBsZWFrCj4+Pj4gb3IgY29ycnVwdGlvbi4KPj4+Pgo+Pj4+IFdhaXRpbmcgaGVy ZSBmb3JldmVyIGlzIHRoZSByaWdodCB0aGluZyB0byBkbyBldmVuIHdoZW4gdGhhdCBtZWFucwo+ Pj4+IHRoYXQgdGhlIHN1Ym1pc3Npb24gdGhyZWFkIGdldHMgc3R1Y2sgZm9yZXZlciwgY2F1c2Ug dGhhdCBpcyBzdGlsbAo+Pj4+IGJldHRlciB0aGFuIG1lbW9yeSBjb3JydXB0aW9uLgo+Pj4+Cj4+ Pj4gQnV0IHRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbiBpbiBwcmFjdGljZSBhbmQgaXMgb25seSBo ZXJlIGZvcgo+Pj4+IHByZWNhdXRpb24uIFNvIGRvIHlvdSByZWFsbHkgc2VlIHRoYXQgaW4gcHJh Y3RpY2U/Cj4+PiBZZXMsIHdlIGhpdCB0aGUgaXNzdWUgd2hlbiB2Y24gaWIgdGVzdCBmYWlsLiBD b3VsZCB5b3UgZ2l2ZSBzb21lIHN1Z2dlc3Rpb25zCj4+IGFib3V0IGhvdyB0byBmaXggdGhpcz8K Pj4+IFsgIDk1OC4zMDE2ODVdIGZhaWxlZCB0byByZWFkIHJlZzoxYTZjMAo+Pj4KPj4+IFsgIDk1 OS4wMzY2NDVdIGdtY192MTBfMF9wcm9jZXNzX2ludGVycnVwdDogNDIgY2FsbGJhY2tzIHN1cHBy ZXNzZWQKPj4+Cj4+PiBbICA5NTkuMDM2NjUzXSBhbWRncHUgMDAwMDowMDowNy4wOiBbbW1odWJd IHBhZ2UgZmF1bHQgKHNyY19pZDowCj4+PiByaW5nOjAgdm1pZDowIHBhc2lkOjAsIGZvciBwcm9j ZXNzICBwaWQgMCB0aHJlYWQgIHBpZCAwKQo+Pj4KPj4+IFsgIDk1OS4wMzgwNDNdIGFtZGdwdSAw MDAwOjAwOjA3LjA6ICAgaW4gcGFnZSBzdGFydGluZyBhdCBhZGRyZXNzCj4+IDB4MDAwMDAwMDAw MDU2NzAwMCBmcm9tIGNsaWVudCAxOAo+Pj4gWyAgOTU5LjAzOTAxNF0gYW1kZ3B1IDAwMDA6MDA6 MDcuMDogW21taHViXSBwYWdlIGZhdWx0IChzcmNfaWQ6MAo+Pj4gcmluZzowIHZtaWQ6MCBwYXNp ZDowLCBmb3IgcHJvY2VzcyAgcGlkIDAgdGhyZWFkICBwaWQgMCkKPj4+Cj4+PiBbICA5NTkuMDQw MjAyXSBhbWRncHUgMDAwMDowMDowNy4wOiAgIGluIHBhZ2Ugc3RhcnRpbmcgYXQgYWRkcmVzcwo+ PiAweDAwMDAwMDAwMDA1NjcwMDAgZnJvbSBjbGllbnQgMTgKPj4+IFsgIDk1OS4wNDExNzRdIGFt ZGdwdSAwMDAwOjAwOjA3LjA6IFttbWh1Yl0gcGFnZSBmYXVsdCAoc3JjX2lkOjAKPj4+IHJpbmc6 MCB2bWlkOjAgcGFzaWQ6MCwgZm9yIHByb2Nlc3MgIHBpZCAwIHRocmVhZCAgcGlkIDApCj4+Pgo+ Pj4gWyAgOTU5LjA0MjM1M10gYW1kZ3B1IDAwMDA6MDA6MDcuMDogICBpbiBwYWdlIHN0YXJ0aW5n IGF0IGFkZHJlc3MKPj4gMHgwMDAwMDAwMDAwNTY3MDAwIGZyb20gY2xpZW50IDE4Cj4+PiBbICA5 NTkuMDQzMzI1XSBhbWRncHUgMDAwMDowMDowNy4wOiBbbW1odWJdIHBhZ2UgZmF1bHQgKHNyY19p ZDowCj4+PiByaW5nOjAgdm1pZDowIHBhc2lkOjAsIGZvciBwcm9jZXNzICBwaWQgMCB0aHJlYWQg IHBpZCAwKQo+Pj4KPj4+IFsgIDk1OS4wNDQ1MDhdIGFtZGdwdSAwMDAwOjAwOjA3LjA6ICAgaW4g cGFnZSBzdGFydGluZyBhdCBhZGRyZXNzCj4+IDB4MDAwMDAwMDAwMDU2NzAwMCBmcm9tIGNsaWVu dCAxOAo+Pj4gWyAgOTU5LjA0NTQ4MF0gYW1kZ3B1IDAwMDA6MDA6MDcuMDogW21taHViXSBwYWdl IGZhdWx0IChzcmNfaWQ6MAo+Pj4gcmluZzowIHZtaWQ6MCBwYXNpZDowLCBmb3IgcHJvY2VzcyAg cGlkIDAgdGhyZWFkICBwaWQgMCkKPj4+Cj4+PiBbICA5NTkuMDQ2NjU5XSBhbWRncHUgMDAwMDow MDowNy4wOiAgIGluIHBhZ2Ugc3RhcnRpbmcgYXQgYWRkcmVzcwo+PiAweDAwMDAwMDAwMDA1Njcw MDAgZnJvbSBjbGllbnQgMTgKPj4+IFsgIDk1OS4wNDc2MzFdIGFtZGdwdSAwMDAwOjAwOjA3LjA6 IFttbWh1Yl0gcGFnZSBmYXVsdCAoc3JjX2lkOjAKPj4+IHJpbmc6MCB2bWlkOjAgcGFzaWQ6MCwg Zm9yIHByb2Nlc3MgIHBpZCAwIHRocmVhZCAgcGlkIDApCj4+Pgo+Pj4gWyAgOTU5LjA0ODgxNV0g YW1kZ3B1IDAwMDA6MDA6MDcuMDogICBpbiBwYWdlIHN0YXJ0aW5nIGF0IGFkZHJlc3MKPj4gMHgw MDAwMDAwMDAwNTY3MDAwIGZyb20gY2xpZW50IDE4Cj4+PiBbICA5NTkuMDQ5Nzg3XSBhbWRncHUg MDAwMDowMDowNy4wOiBbbW1odWJdIHBhZ2UgZmF1bHQgKHNyY19pZDowCj4+PiByaW5nOjAgdm1p ZDowIHBhc2lkOjAsIGZvciBwcm9jZXNzICBwaWQgMCB0aHJlYWQgIHBpZCAwKQo+Pj4KPj4+IFsg IDk1OS4wNTA5NzNdIGFtZGdwdSAwMDAwOjAwOjA3LjA6ICAgaW4gcGFnZSBzdGFydGluZyBhdCBh ZGRyZXNzCj4+IDB4MDAwMDAwMDAwMDU2NzAwMCBmcm9tIGNsaWVudCAxOAo+Pj4gWyAgOTU5LjA1 MTk1MF0gYW1kZ3B1IDAwMDA6MDA6MDcuMDogW21taHViXSBwYWdlIGZhdWx0IChzcmNfaWQ6MAo+ Pj4gcmluZzowIHZtaWQ6MCBwYXNpZDowLCBmb3IgcHJvY2VzcyAgcGlkIDAgdGhyZWFkICBwaWQg MCkKPj4+Cj4+PiBbICA5NTkuMDUzMTIzXSBhbWRncHUgMDAwMDowMDowNy4wOiAgIGluIHBhZ2Ug c3RhcnRpbmcgYXQgYWRkcmVzcwo+PiAweDAwMDAwMDAwMDA1NjcwMDAgZnJvbSBjbGllbnQgMTgK Pj4+IFsgIDk2Ny4yMDg3MDVdIGFtZGdwdSAwMDAwOjAwOjA3LjA6IFtkcm06YW1kZ3B1X2liX3Jp bmdfdGVzdHMgW2FtZGdwdV1dCj4+ICpFUlJPUiogSUIgdGVzdCBmYWlsZWQgb24gdmNuX2VuYzAg KC0xMTApLgo+Pj4gWyAgOTY3LjIwOTg3OV0gW2RybTphbWRncHVfZGV2aWNlX2luaXQgW2FtZGdw dV1dICpFUlJPUiogaWIgcmluZyB0ZXN0Cj4+IGZhaWxlZCAoLTExMCkuCj4+Pgo+Pj4KPj4+IFsg MTIwOS4zODQ2NjhdIElORk86IHRhc2sgbW9kcHJvYmU6MjM5NTcgYmxvY2tlZCBmb3IgbW9yZSB0 aGFuIDEyMAo+PiBzZWNvbmRzLgo+Pj4gWyAxMjA5LjM4NTYwNV0gICAgICAgVGFpbnRlZDogRyAg ICAgICAgICAgT0UgICAgIDUuNC4wLTU4LWdlbmVyaWMgIzY0fjE4LjA0LjEtCj4+IFVidW50dQo+ Pj4gWyAxMjA5LjM4NjQ1MV0gImVjaG8gMCA+IC9wcm9jL3N5cy9rZXJuZWwvaHVuZ190YXNrX3Rp bWVvdXRfc2VjcyIKPj4gZGlzYWJsZXMgdGhpcyBtZXNzYWdlLgo+Pj4gWyAxMjA5LjM4NzM0Ml0g bW9kcHJvYmUgICAgICAgIEQgICAgMCAyMzk1NyAgIDEyMjEgMHg4MDAwNDAwNgo+Pj4KPj4+IFsg MTIwOS4zODczNDRdIENhbGwgVHJhY2U6Cj4+Pgo+Pj4gWyAxMjA5LjM4NzM1NF0gIF9fc2NoZWR1 bGUrMHgyOTMvMHg3MjAKPj4+Cj4+PiBbIDEyMDkuMzg3MzU2XSAgc2NoZWR1bGUrMHgzMy8weGEw Cj4+Pgo+Pj4gWyAxMjA5LjM4NzM1N10gIHNjaGVkdWxlX3RpbWVvdXQrMHgxZDMvMHgzMjAKPj4+ Cj4+PiBbIDEyMDkuMzg3MzU5XSAgPyBzY2hlZHVsZSsweDMzLzB4YTAKPj4+Cj4+PiBbIDEyMDku Mzg3MzYwXSAgPyBzY2hlZHVsZV90aW1lb3V0KzB4MWQzLzB4MzIwCj4+Pgo+Pj4gWyAxMjA5LjM4 NzM2M10gIGRtYV9mZW5jZV9kZWZhdWx0X3dhaXQrMHgxYjIvMHgxZTAKPj4+Cj4+PiBbIDEyMDku Mzg3MzY0XSAgPyBkbWFfZmVuY2VfcmVsZWFzZSsweDEzMC8weDEzMAo+Pj4KPj4+IFsgMTIwOS4z ODczNjZdICBkbWFfZmVuY2Vfd2FpdF90aW1lb3V0KzB4ZmQvMHgxMTAKPj4+Cj4+PiBbIDEyMDku Mzg3NzczXSAgYW1kZ3B1X2ZlbmNlX3dhaXRfZW1wdHkrMHg5MC8weGMwIFthbWRncHVdCj4+Pgo+ Pj4gWyAxMjA5LjM4NzgzOV0gIGFtZGdwdV9mZW5jZV9kcml2ZXJfZmluaSsweGQ2LzB4MTEwIFth bWRncHVdCj4+Pj4gUmVnYXJkcywKPj4+PiBDaHJpc3RpYW4uCj4+Pj4KPj4+Pj4+IFJlZ2FyZHMs Cj4+Pj4+PiBDaHJpc3RpYW4uCj4+Pj4+Pgo+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFJveSBTdW4g PFJveS5TdW5AYW1kLmNvbT4KPj4+Pj4+PiAtLS0KPj4+Pj4+PiAgICAgIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5jZS5jIHwgNDgKPj4+Pj4+ICsrKysrKysrKysrKysrKysr KysrLS0tCj4+Pj4+Pj4gICAgICAxIGZpbGUgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgNSBk ZWxldGlvbnMoLSkKPj4+Pj4+Pgo+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYwo+Pj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2ZlbmNlLmMKPj4+Pj4+PiBpbmRleCA2YjBhZWVlNjFiOGIuLjczOGVhNjUw NzdlYSAxMDA2NDQKPj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZmVuY2UuYwo+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9mZW5jZS5jCj4+Pj4+Pj4gQEAgLTQxLDYgKzQxLDggQEAKPj4+Pj4+PiAgICAgICNpbmNsdWRl ICJhbWRncHUuaCIKPj4+Pj4+PiAgICAgICNpbmNsdWRlICJhbWRncHVfdHJhY2UuaCIKPj4+Pj4+ Pgo+Pj4+Pj4+ICsjZGVmaW5lIEFNREdQVV9GRU5DRV9USU1FT1VUICBtc2Vjc190b19qaWZmaWVz KDEwMDApICNkZWZpbmUKPj4+Pj4+PiArQU1ER1BVX0ZFTkNFX0dGWF9YR01JX1RJTUVPVVQgbXNl Y3NfdG9famlmZmllcygyMDAwKQo+Pj4+Pj4+ICAgICAgLyoKPj4+Pj4+PiAgICAgICAqIEZlbmNl cwo+Pj4+Pj4+ICAgICAgICogRmVuY2VzIG1hcmsgYW4gZXZlbnQgaW4gdGhlIEdQVXMgcGlwZWxp bmUgYW5kIGFyZSB1c2VkIEBACj4+Pj4+Pj4gLTEwNCw2Cj4+Pj4+Pj4gKzEwNiwzOCBAQCBzdGF0 aWMgdm9pZCBhbWRncHVfZmVuY2Vfd3JpdGUoc3RydWN0IGFtZGdwdV9yaW5nCj4+Pj4+Pj4gKypy aW5nLAo+Pj4+Pj4+ICt1MzIKPj4+Pj4+IHNlcSkKPj4+Pj4+PiAgICAgICpkcnYtPmNwdV9hZGRy ID0gY3B1X3RvX2xlMzIoc2VxKTsKPj4+Pj4+PiAgICAgIH0KPj4+Pj4+Pgo+Pj4+Pj4+ICsvKioK Pj4+Pj4+PiArICogYW1kZ3B1X2ZlbmNlX3dhaXRfdGltZW91dCAtIGdldCB0aGUgZmVuY2Ugd2Fp dCB0aW1lb3V0Cj4+Pj4+Pj4gKyAqCj4+Pj4+Pj4gKyAqIEByaW5nOiByaW5nIHRoZSBmZW5jZSBp cyBhc3NvY2lhdGVkIHdpdGgKPj4+Pj4+PiArICoKPj4+Pj4+PiArICogUmV0dXJucyB0aGUgdmFs dWUgb2YgdGhlIGZlbmNlIHdhaXQgdGltZW91dC4KPj4+Pj4+PiArICovCj4+Pj4+Pj4gK2xvbmcg YW1kZ3B1X2ZlbmNlX3dhaXRfdGltZW91dChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpIHsgbG9u Zwo+Pj4+Pj4+ICt0bW9fZ2Z4LCB0bW9fbW0sIHRtbzsgc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYgPSByaW5nLT5hZGV2Owo+Pj4+Pj4+ICt0bW9fbW0gPSB0bW9fZ2Z4ID0gQU1ER1BVX0ZFTkNF X1RJTUVPVVQ7IGlmCj4+Pj4gKGFtZGdwdV9zcmlvdl92ZihhZGV2KSkKPj4+Pj4+PiAreyB0bW9f bW0gPSA4ICogQU1ER1BVX0ZFTkNFX1RJTUVPVVQ7IH0gaWYKPj4+Pj4+PiArKGFtZGdwdV9zcmlv dl9ydW50aW1lKGFkZXYpKSB7IHRtb19nZnggPSA4ICoKPj4+PiBBTURHUFVfRkVOQ0VfVElNRU9V VDsKPj4+Pj4+PiArfSBlbHNlIGlmIChhZGV2LT5nbWMueGdtaS5oaXZlX2lkKSB7IHRtb19nZngg PQo+Pj4+Pj4+ICtBTURHUFVfRkVOQ0VfR0ZYX1hHTUlfVElNRU9VVDsgfSBpZiAocmluZy0+ZnVu Y3MtPnR5cGUgPT0KPj4+Pj4+PiArQU1ER1BVX1JJTkdfVFlQRV9VVkQgfHwKPj4+Pj4+PiArcmlu Zy0+ZnVuY3MtPnR5cGUgPT0gQU1ER1BVX1JJTkdfVFlQRV9WQ0UgfHwgdHlwZSA9PQo+Pj4+Pj4+ ICtyaW5nLT5mdW5jcy0+QU1ER1BVX1JJTkdfVFlQRV9VVkRfRU5DIHx8IHR5cGUgPT0KPj4+Pj4+ PiArcmluZy0+ZnVuY3MtPkFNREdQVV9SSU5HX1RZUEVfVkNOX0RFQyB8fCB0eXBlID09Cj4+Pj4+ Pj4gK3JpbmctPmZ1bmNzLT5BTURHUFVfUklOR19UWVBFX1ZDTl9FTkMgfHwgdHlwZSA9PQo+Pj4+ Pj4+ICtyaW5nLT5mdW5jcy0+QU1ER1BVX1JJTkdfVFlQRV9WQ05fSlBFRykKPj4+Pj4+PiArdG1v ID0gdG1vX21tOwo+Pj4+Pj4+ICtlbHNlCj4+Pj4+Pj4gK3RtbyA9IHRtb19nZng7Cj4+Pj4+Pj4g K3JldHVybiB0bW87Cj4+Pj4+Pj4gK30KPj4+Pj4+PiArCj4+Pj4+Pj4gICAgICAvKioKPj4+Pj4+ PiAgICAgICAqIGFtZGdwdV9mZW5jZV9yZWFkIC0gcmVhZCBhIGZlbmNlIHZhbHVlCj4+Pj4+Pj4g ICAgICAgKgo+Pj4+Pj4+IEBAIC0xNjYsMTAgKzIwMCwxMiBAQCBpbnQgYW1kZ3B1X2ZlbmNlX2Vt aXQoc3RydWN0IGFtZGdwdV9yaW5nCj4+Pj4+Pj4gKnJpbmcsCj4+Pj4+PiBzdHJ1Y3QgZG1hX2Zl bmNlICoqZiwKPj4+Pj4+PiAgICAgIHJjdV9yZWFkX3VubG9jaygpOwo+Pj4+Pj4+Cj4+Pj4+Pj4g ICAgICBpZiAob2xkKSB7Cj4+Pj4+Pj4gLXIgPSBkbWFfZmVuY2Vfd2FpdChvbGQsIGZhbHNlKTsK Pj4+Pj4+PiArbG9uZyB0aW1lb3V0Owo+Pj4+Pj4+ICt0aW1lb3V0ID0gYW1kZ3B1X2ZlbmNlX3dh aXRfdGltZW91dChyaW5nKTsgciA9Cj4+Pj4+Pj4gK2RtYV9mZW5jZV93YWl0X3RpbWVvdXQob2xk LCBmYWxzZSwgdGltZW91dCk7Cj4+Pj4+Pj4gICAgICBkbWFfZmVuY2VfcHV0KG9sZCk7Cj4+Pj4+ Pj4gICAgICBpZiAocikKPj4+Pj4+PiAtcmV0dXJuIHI7Cj4+Pj4+Pj4gK3JldHVybiByIDwgMCA/ IHIgOiAwOwo+Pj4+Pj4+ICAgICAgfQo+Pj4+Pj4+ICAgICAgfQo+Pj4+Pj4+Cj4+Pj4+Pj4gQEAg LTM0MywxMCArMzc5LDEyIEBAIGludCBhbWRncHVfZmVuY2Vfd2FpdF9lbXB0eShzdHJ1Y3QKPj4+ Pj4+IGFtZGdwdV9yaW5nICpyaW5nKQo+Pj4+Pj4+ICAgICAgcmV0dXJuIDA7Cj4+Pj4+Pj4gICAg ICB9Cj4+Pj4+Pj4gICAgICByY3VfcmVhZF91bmxvY2soKTsKPj4+Pj4+PiAtCj4+Pj4+Pj4gLXIg PSBkbWFfZmVuY2Vfd2FpdChmZW5jZSwgZmFsc2UpOwo+Pj4+Pj4+ICsKPj4+Pj4+PiArbG9uZyB0 aW1lb3V0Owo+Pj4+Pj4+ICt0aW1lb3V0ID0gYW1kZ3B1X2ZlbmNlX3dhaXRfdGltZW91dChyaW5n KTsgciA9Cj4+Pj4+Pj4gK2RtYV9mZW5jZV93YWl0X3RpbWVvdXQoZmVuY2UsIGZhbHNlLCB0aW1l b3V0KTsKPj4+Pj4+PiAgICAgIGRtYV9mZW5jZV9wdXQoZmVuY2UpOwo+Pj4+Pj4+IC1yZXR1cm4g cjsKPj4+Pj4+PiArcmV0dXJuIHIgPCAwID8gciA6IDA7Cj4+Pj4+Pj4gICAgICB9Cj4+Pj4+Pj4K Pj4+Pj4+PiAgICAgIC8qKgo+Pj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPj4+Pj4+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4+Pj4+PiBhbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4+Pj4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJv dGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGbAo+Pj4+Pj4gaXMKPj4+Pj4+ IHRzLmYKPj4+Pj4+IHJlZWRlc2t0b3Aub3JnJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGYW1kLQo+ Pj4+Pj4KPj4gZ2Z4JmFtcDtkYXRhPTA0JTdDMDElN0NFbWlseS5EZW5nJTQwYW1kLmNvbSU3Qzhi MTE2MjI5OTM4YjQ2Mwo+PiBkZjg3ZjA4ZDhiN2NiZjYwNyU3QzNkZDg5NjFmZTQ4ODRlNjA4ZTEx YTgyZDk5NGUxODNkJTdDMCU3QzAlNwo+PiBDNjM3NDYxNDMzOTM2MDQ5NTQ0JTdDVW5rbm93biU3 Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXcKPj4gTURBaUxDSlFJam9pVjJsdU16SWlMQ0pC VGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0MxMDAwJmFtcDtzZGEKPj4gdGE9SE9jTEhtbWJs T1VIWEFURkJsNUhDNkxPbUZxMG9YZ2xBaDJHRndkNnN1cyUzRCZhbXA7cmVzZXJ2ZQo+Pj4+Pj4g ZD0wCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBh bWQtZ2Z4IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxp bmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK