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=-13.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 097FEC07E9B for ; Fri, 9 Jul 2021 07:14:42 +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 119A16115C for ; Fri, 9 Jul 2021 07:14:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 119A16115C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 235126E943; Fri, 9 Jul 2021 07:14:39 +0000 (UTC) Received: from mail-oi1-x22c.google.com (mail-oi1-x22c.google.com [IPv6:2607:f8b0:4864:20::22c]) by gabe.freedesktop.org (Postfix) with ESMTPS id C00CD6E943 for ; Fri, 9 Jul 2021 07:14:37 +0000 (UTC) Received: by mail-oi1-x22c.google.com with SMTP id u11so11146151oiv.1 for ; Fri, 09 Jul 2021 00:14:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=Ya8GlcHq82Sssvq9vPLaah0EzxkfAPc2tlFitRK0CdU=; b=VCe65SJpcjspdUebPHi/+qMmZawvGSigUEUVCUlx9MZVLM2Hsp+wv7jan7uW+OPNIK lGP/FoW/vQRQMAoTZ1SSsg/beZwy3JnMlnLVgpw31WNoD7TcT6RAlABYjeoouanvVng+ fIcUPyVoav380hegRQo4m8hMI596Ehw6192jc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=Ya8GlcHq82Sssvq9vPLaah0EzxkfAPc2tlFitRK0CdU=; b=NQ/KnEPi9QoIdOfPt4CWQVcqKhr1yV05rwZ2AauMYpLpNBdxvAN6DauwsR3iAPn6gH nUbdLTMFI6VV0eeNwCZtpgRoAd2+2NW3EU05LDylgC4fdu1EVHI1piQsePow28I6XVeT rTwFAkWZUG8duzq98/IYxdbMUhypFSwDT4Ouowd+6xOSjHYS/s3l6ex4T2kqg0hxB1q0 T9dWlmnG54m3GHYg/mh1l8oUyPQHwAFREuaf5NpIUgQDM/qp6Oefdcshe4Gu5HeYy/nR voQoYDaT6Kz/661UTLKTp+EDtoRtMpk8gTIYEO6bo9Xfg3Qs7vdY89WogiB1s9oBb4yo Gp4g== X-Gm-Message-State: AOAM532x2iUCSwpQf9L8YoH15/237FDOcNhrZzi6BZUY/APWZmHNfP7c l2C6lORdEwBkVifON4pZfnNwJLqSECqfkX6iL6sHFw== X-Google-Smtp-Source: ABdhPJz76zXNo14DrkjBixLf9bl4gs4ommvlhJ1tZH33nN7ajPByODdzrFWDoql7dvT+mECZ8eaHtcPERcFT540eHL0= X-Received: by 2002:aca:4b55:: with SMTP id y82mr2267340oia.14.1625814877133; Fri, 09 Jul 2021 00:14:37 -0700 (PDT) MIME-Version: 1.0 References: <20210708173754.3877540-1-daniel.vetter@ffwll.ch> <20210708173754.3877540-2-daniel.vetter@ffwll.ch> <5588d1c3-833b-bd95-69e6-a103f2e8affa@amd.com> In-Reply-To: <5588d1c3-833b-bd95-69e6-a103f2e8affa@amd.com> From: Daniel Vetter Date: Fri, 9 Jul 2021 09:14:25 +0200 Message-ID: Subject: Re: [PATCH v3 01/20] drm/sched: entity->rq selection cannot fail To: =?UTF-8?Q?Christian_K=C3=B6nig?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jack Zhang , Intel Graphics Development , DRI Development , Steven Price , Luben Tuikov , Boris Brezillon , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Fri, Jul 9, 2021 at 8:53 AM Christian K=C3=B6nig wrote: > Am 08.07.21 um 19:37 schrieb Daniel Vetter: > > If it does, someone managed to set up a sched_entity without > > schedulers, which is just a driver bug. > > NAK, it is perfectly valid for rq selection to fail. There isn't a better way to explain stuff to someone who's new to the code and tries to improve it with docs than to NAK stuff with incomplete explanations? > See drm_sched_pick_best(): > > if (!sched->ready) { > DRM_WARN("scheduler %s is not ready, skipping", > sched->name); > continue; > } > > This can happen when a device reset fails for some engine. Well yeah I didn't expect amdgpu to just change this directly, so I didn't find it. Getting an ENOENT on a hw failure instead of an EIO is a bit interesting semantics I guess, also what happens with the jobs which raced against the scheduler not being ready? I'm not seeing any checks for ready in the main scheduler logic so this at least looks somewhat accidental as a side effect, also no other driver than amdgpu communitcates that reset failed back to drm/sched like this. They seem to just not, and I guess timeout on the next request will get us into an endless reset loop? -Daniel > > Regards, > Christian. > > > > > We BUG_ON() here because in the next patch drm_sched_job_init() will > > be split up, with drm_sched_job_arm() never failing. And that's the > > part where the rq selection will end up in. > > > > Note that if having an empty sched_list set on an entity is indeed a > > valid use-case, we can keep that check in job_init even after the split > > into job_init/arm. > > > > Signed-off-by: Daniel Vetter > > Cc: "Christian K=C3=B6nig" > > Cc: Luben Tuikov > > Cc: Daniel Vetter > > Cc: Steven Price > > Cc: Andrey Grodzovsky > > Cc: Boris Brezillon > > Cc: Jack Zhang > > --- > > drivers/gpu/drm/scheduler/sched_entity.c | 2 +- > > drivers/gpu/drm/scheduler/sched_main.c | 3 +-- > > 2 files changed, 2 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm= /scheduler/sched_entity.c > > index 79554aa4dbb1..6fc116ee7302 100644 > > --- a/drivers/gpu/drm/scheduler/sched_entity.c > > +++ b/drivers/gpu/drm/scheduler/sched_entity.c > > @@ -45,7 +45,7 @@ > > * @guilty: atomic_t set to 1 when a job on this queue > > * is found to be guilty causing a timeout > > * > > - * Note: the sched_list should have at least one element to schedule > > + * Note: the sched_list must have at least one element to schedule > > * the entity > > * > > * Returns 0 on success or a negative error code on failure. > > diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/s= cheduler/sched_main.c > > index 33c414d55fab..01dd47154181 100644 > > --- a/drivers/gpu/drm/scheduler/sched_main.c > > +++ b/drivers/gpu/drm/scheduler/sched_main.c > > @@ -586,8 +586,7 @@ int drm_sched_job_init(struct drm_sched_job *job, > > struct drm_gpu_scheduler *sched; > > > > drm_sched_entity_select_rq(entity); > > - if (!entity->rq) > > - return -ENOENT; > > + BUG_ON(!entity->rq); > > > > sched =3D entity->rq->sched; > > > --=20 Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch 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=-13.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 62D95C07E99 for ; Fri, 9 Jul 2021 07:14:40 +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 73BDA6113A for ; Fri, 9 Jul 2021 07:14:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 73BDA6113A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B30E6E9BD; Fri, 9 Jul 2021 07:14:39 +0000 (UTC) Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com [IPv6:2607:f8b0:4864:20::22b]) by gabe.freedesktop.org (Postfix) with ESMTPS id C8FC76E9BD for ; Fri, 9 Jul 2021 07:14:37 +0000 (UTC) Received: by mail-oi1-x22b.google.com with SMTP id z3so10261676oib.9 for ; Fri, 09 Jul 2021 00:14:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=Ya8GlcHq82Sssvq9vPLaah0EzxkfAPc2tlFitRK0CdU=; b=VCe65SJpcjspdUebPHi/+qMmZawvGSigUEUVCUlx9MZVLM2Hsp+wv7jan7uW+OPNIK lGP/FoW/vQRQMAoTZ1SSsg/beZwy3JnMlnLVgpw31WNoD7TcT6RAlABYjeoouanvVng+ fIcUPyVoav380hegRQo4m8hMI596Ehw6192jc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=Ya8GlcHq82Sssvq9vPLaah0EzxkfAPc2tlFitRK0CdU=; b=GaNtFxhb8xxbGPZH/OSAsJpxPvweDLj35TrgBMngkOn++bsv4tLyTjEZ0dHWkzXaZv Leo7C9MNHPhgGqlYApHZzplh90UEvjLjPtbgo5G5PJvJQMvFX2ZcTj6BRlMQ1zak4Itp 5AUEliYSe7h5WC69vM2EIkR++0QZ6FF3n+h8IBklNUieXr6ftXPYjkRvrbvmBhfby8vw StKu5mcaG+2KfQ5KzWVyyiAM7isKV4hYbIPt3xftMblcy626OEwK1oa4VI/Yrr0ssPDT bE+QOtVB6nM0gxHwM+Hu6wMJ/pjdr7C07WAJHUMEJqy820H1RH0jd8qB9N0Es2zK/cVH dM2A== X-Gm-Message-State: AOAM53207aWsgfVNAtPsg1PlTkBUViYuimhIGcQ9QrKQR6KTz2V5+PS5 IVgH6HEvrLNdxU3f7zngJUgBBCe3Tm+Fy5OyVqCyRw== X-Google-Smtp-Source: ABdhPJz76zXNo14DrkjBixLf9bl4gs4ommvlhJ1tZH33nN7ajPByODdzrFWDoql7dvT+mECZ8eaHtcPERcFT540eHL0= X-Received: by 2002:aca:4b55:: with SMTP id y82mr2267340oia.14.1625814877133; Fri, 09 Jul 2021 00:14:37 -0700 (PDT) MIME-Version: 1.0 References: <20210708173754.3877540-1-daniel.vetter@ffwll.ch> <20210708173754.3877540-2-daniel.vetter@ffwll.ch> <5588d1c3-833b-bd95-69e6-a103f2e8affa@amd.com> In-Reply-To: <5588d1c3-833b-bd95-69e6-a103f2e8affa@amd.com> From: Daniel Vetter Date: Fri, 9 Jul 2021 09:14:25 +0200 Message-ID: To: =?UTF-8?Q?Christian_K=C3=B6nig?= Subject: Re: [Intel-gfx] [PATCH v3 01/20] drm/sched: entity->rq selection cannot fail X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrey Grodzovsky , Jack Zhang , Intel Graphics Development , DRI Development , Steven Price , Luben Tuikov , Daniel Vetter Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gRnJpLCBKdWwgOSwgMjAyMSBhdCA4OjUzIEFNIENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbT4gd3JvdGU6Cj4gQW0gMDguMDcuMjEgdW0gMTk6Mzcgc2NocmllYiBE YW5pZWwgVmV0dGVyOgo+ID4gSWYgaXQgZG9lcywgc29tZW9uZSBtYW5hZ2VkIHRvIHNldCB1cCBh IHNjaGVkX2VudGl0eSB3aXRob3V0Cj4gPiBzY2hlZHVsZXJzLCB3aGljaCBpcyBqdXN0IGEgZHJp dmVyIGJ1Zy4KPgo+IE5BSywgaXQgaXMgcGVyZmVjdGx5IHZhbGlkIGZvciBycSBzZWxlY3Rpb24g dG8gZmFpbC4KClRoZXJlIGlzbid0IGEgYmV0dGVyIHdheSB0byBleHBsYWluIHN0dWZmIHRvIHNv bWVvbmUgd2hvJ3MgbmV3IHRvIHRoZQpjb2RlIGFuZCB0cmllcyB0byBpbXByb3ZlIGl0IHdpdGgg ZG9jcyB0aGFuIHRvIE5BSyBzdHVmZiB3aXRoCmluY29tcGxldGUgZXhwbGFuYXRpb25zPwoKPiBT ZWUgZHJtX3NjaGVkX3BpY2tfYmVzdCgpOgo+Cj4gICAgICAgICAgICAgICAgICBpZiAoIXNjaGVk LT5yZWFkeSkgewo+ICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fV0FSTigic2NoZWR1bGVy ICVzIGlzIG5vdCByZWFkeSwgc2tpcHBpbmciLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzY2hlZC0+bmFtZSk7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl Owo+ICAgICAgICAgICAgICAgICAgfQo+Cj4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gYSBkZXZpY2Ug cmVzZXQgZmFpbHMgZm9yIHNvbWUgZW5naW5lLgoKV2VsbCB5ZWFoIEkgZGlkbid0IGV4cGVjdCBh bWRncHUgdG8ganVzdCBjaGFuZ2UgdGhpcyBkaXJlY3RseSwgc28gSQpkaWRuJ3QgZmluZCBpdC4g R2V0dGluZyBhbiBFTk9FTlQgb24gYSBodyBmYWlsdXJlIGluc3RlYWQgb2YgYW4gRUlPIGlzCmEg Yml0IGludGVyZXN0aW5nIHNlbWFudGljcyBJIGd1ZXNzLCBhbHNvIHdoYXQgaGFwcGVucyB3aXRo IHRoZSBqb2JzCndoaWNoIHJhY2VkIGFnYWluc3QgdGhlIHNjaGVkdWxlciBub3QgYmVpbmcgcmVh ZHk/IEknbSBub3Qgc2VlaW5nIGFueQpjaGVja3MgZm9yIHJlYWR5IGluIHRoZSBtYWluIHNjaGVk dWxlciBsb2dpYyBzbyB0aGlzIGF0IGxlYXN0IGxvb2tzCnNvbWV3aGF0IGFjY2lkZW50YWwgYXMg YSBzaWRlIGVmZmVjdCwgYWxzbyBubyBvdGhlciBkcml2ZXIgdGhhbiBhbWRncHUKY29tbXVuaXRj YXRlcyB0aGF0IHJlc2V0IGZhaWxlZCBiYWNrIHRvIGRybS9zY2hlZCBsaWtlIHRoaXMuIFRoZXkg c2VlbQp0byBqdXN0IG5vdCwgYW5kIEkgZ3Vlc3MgdGltZW91dCBvbiB0aGUgbmV4dCByZXF1ZXN0 IHdpbGwgZ2V0IHVzIGludG8KYW4gZW5kbGVzcyByZXNldCBsb29wPwotRGFuaWVsCgoKPgo+IFJl Z2FyZHMsCj4gQ2hyaXN0aWFuLgo+Cj4gPgo+ID4gV2UgQlVHX09OKCkgaGVyZSBiZWNhdXNlIGlu IHRoZSBuZXh0IHBhdGNoIGRybV9zY2hlZF9qb2JfaW5pdCgpIHdpbGwKPiA+IGJlIHNwbGl0IHVw LCB3aXRoIGRybV9zY2hlZF9qb2JfYXJtKCkgbmV2ZXIgZmFpbGluZy4gQW5kIHRoYXQncyB0aGUK PiA+IHBhcnQgd2hlcmUgdGhlIHJxIHNlbGVjdGlvbiB3aWxsIGVuZCB1cCBpbi4KPiA+Cj4gPiBO b3RlIHRoYXQgaWYgaGF2aW5nIGFuIGVtcHR5IHNjaGVkX2xpc3Qgc2V0IG9uIGFuIGVudGl0eSBp cyBpbmRlZWQgYQo+ID4gdmFsaWQgdXNlLWNhc2UsIHdlIGNhbiBrZWVwIHRoYXQgY2hlY2sgaW4g am9iX2luaXQgZXZlbiBhZnRlciB0aGUgc3BsaXQKPiA+IGludG8gam9iX2luaXQvYXJtLgo+ID4K PiA+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29t Pgo+ID4gQ2M6ICJDaHJpc3RpYW4gS8O2bmlnIiA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+ ID4gQ2M6IEx1YmVuIFR1aWtvdiA8bHViZW4udHVpa292QGFtZC5jb20+Cj4gPiBDYzogRGFuaWVs IFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiA+IENjOiBTdGV2ZW4gUHJpY2UgPHN0 ZXZlbi5wcmljZUBhcm0uY29tPgo+ID4gQ2M6IEFuZHJleSBHcm9kem92c2t5IDxhbmRyZXkuZ3Jv ZHpvdnNreUBhbWQuY29tPgo+ID4gQ2M6IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9u QGNvbGxhYm9yYS5jb20+Cj4gPiBDYzogSmFjayBaaGFuZyA8SmFjay5aaGFuZzFAYW1kLmNvbT4K PiA+IC0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX2VudGl0eS5jIHwg MiArLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYyAgIHwgMyAr LS0KPiA+ICAgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p Cj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfZW50 aXR5LmMgYi9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX2VudGl0eS5jCj4gPiBpbmRl eCA3OTU1NGFhNGRiYjEuLjZmYzExNmVlNzMwMiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9zY2hlZHVsZXIvc2NoZWRfZW50aXR5LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9z Y2hlZHVsZXIvc2NoZWRfZW50aXR5LmMKPiA+IEBAIC00NSw3ICs0NSw3IEBACj4gPiAgICAqIEBn dWlsdHk6IGF0b21pY190IHNldCB0byAxIHdoZW4gYSBqb2Igb24gdGhpcyBxdWV1ZQo+ID4gICAg KiAgICAgICAgICBpcyBmb3VuZCB0byBiZSBndWlsdHkgY2F1c2luZyBhIHRpbWVvdXQKPiA+ICAg ICoKPiA+IC0gKiBOb3RlOiB0aGUgc2NoZWRfbGlzdCBzaG91bGQgaGF2ZSBhdCBsZWFzdCBvbmUg ZWxlbWVudCB0byBzY2hlZHVsZQo+ID4gKyAqIE5vdGU6IHRoZSBzY2hlZF9saXN0IG11c3QgaGF2 ZSBhdCBsZWFzdCBvbmUgZWxlbWVudCB0byBzY2hlZHVsZQo+ID4gICAgKiAgICAgICB0aGUgZW50 aXR5Cj4gPiAgICAqCj4gPiAgICAqIFJldHVybnMgMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUg ZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9z Y2hlZHVsZXIvc2NoZWRfbWFpbi5jIGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9t YWluLmMKPiA+IGluZGV4IDMzYzQxNGQ1NWZhYi4uMDFkZDQ3MTU0MTgxIDEwMDY0NAo+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jCj4gPiBAQCAtNTg2LDggKzU4Niw3IEBA IGludCBkcm1fc2NoZWRfam9iX2luaXQoc3RydWN0IGRybV9zY2hlZF9qb2IgKmpvYiwKPiA+ICAg ICAgIHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQ7Cj4gPgo+ID4gICAgICAgZHJtX3Nj aGVkX2VudGl0eV9zZWxlY3RfcnEoZW50aXR5KTsKPiA+IC0gICAgIGlmICghZW50aXR5LT5ycSkK PiA+IC0gICAgICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7Cj4gPiArICAgICBCVUdfT04oIWVudGl0 eS0+cnEpOwo+ID4KPiA+ICAgICAgIHNjaGVkID0gZW50aXR5LT5ycS0+c2NoZWQ7Cj4gPgo+CgoK LS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0 dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=