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=-10.0 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 9B3A0C433E3 for ; Tue, 14 Jul 2020 17:46:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 78257225A9 for ; Tue, 14 Jul 2020 17:46:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=jlekstrand-net.20150623.gappssmtp.com header.i=@jlekstrand-net.20150623.gappssmtp.com header.b="bSqLibna" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726169AbgGNRqu (ORCPT ); Tue, 14 Jul 2020 13:46:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56670 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728733AbgGNRqu (ORCPT ); Tue, 14 Jul 2020 13:46:50 -0400 Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com [IPv6:2a00:1450:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ACE9BC061794 for ; Tue, 14 Jul 2020 10:46:49 -0700 (PDT) Received: by mail-ej1-x642.google.com with SMTP id rk21so23471405ejb.2 for ; Tue, 14 Jul 2020 10:46:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jlekstrand-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NB5nytNOxsJJioGL1Jixv5ej+NnEMHWRKbTcnkeqcug=; b=bSqLibnaW/T58mL9feuhhYVqPsWXPihE0fwbIoqc39uqy6e+2BiUPZkGhVblD9R7Au akO6EH8cfrhK7Yf9kbjdwsNm/6+fhjEZ3TpbUP5BDyMVe2hVLNAK+Py5VsTtpjhiRqXo ghR+N/exkc4TPT4gAJesMOByGNpGxPZIDqXuQtW22DePJpZrEUFaDJWQNwfKaTT1ZgpI kyFzzeT1Vdif9Pe+iniC0KvvcPEJ8tLHRT3UovOz0N1Lfoe1dkguuagsdB3lgAtjM0cO SOxzOeMDOR+S7GSg8nxtewQSGNLBtatjVg9+jrdz2gjSMDz1GJxtFthbxYF5QEAXZJJS fZ/g== 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=NB5nytNOxsJJioGL1Jixv5ej+NnEMHWRKbTcnkeqcug=; b=FOB07j6+TUeRC/YVSUqOCzQs0K179Pmn8Q1eANQf5IusARrf8I605pGx7bLAl5xtAC QXVGzdcrilnP2GQcj1Ya5IB4L7w9VyVvawWFY/FNEjcQr3jVwCglnCCjLl7MTQ09W680 sfQKzQjSdZc2sbBcthfvSWtrZjjJanHeEeRbj6ZwzHWKXbBSbMHA7upkzsFUXm5b36Si MvyJyVNuZTiC9mJqXpLYiU9DmnMIjDwWAttUt4WBpHvgigZ8jwcNeJ6H+vt0pNK2xasH MfeDGydYZJOgmwh5LMXxtloxUSEwl+2IUt3xWm3Jdht4CDM6EMcw/3orgrTkIVemgq2a JoAQ== X-Gm-Message-State: AOAM5311qhOvSrg0rvYi00OG2oXzejnY+XM18kof3QbAG34Jxu7BLTP/ aIFW8VxoKkLC7QYBzSkZeytX/xuNNKFIWmzxOsivEg== X-Google-Smtp-Source: ABdhPJx0c4bCwqzJhlZQg26rtFZ2ogbu3hjGv1Go+aM7VrNiOmfc9AqYjZOFezTtwnrBkWcWaFJT4975ZoMq1Diy5+w= X-Received: by 2002:a17:906:26c3:: with SMTP id u3mr5380567ejc.483.1594748808337; Tue, 14 Jul 2020 10:46:48 -0700 (PDT) MIME-Version: 1.0 References: <20200707201229.472834-4-daniel.vetter@ffwll.ch> <20200709123339.547390-1-daniel.vetter@ffwll.ch> In-Reply-To: <20200709123339.547390-1-daniel.vetter@ffwll.ch> From: Jason Ekstrand Date: Tue, 14 Jul 2020 12:46:37 -0500 Message-ID: Subject: Re: [PATCH 1/2] dma-buf.rst: Document why indefinite fences are a bad idea To: Daniel Vetter Cc: DRI Development , Intel Graphics Development , linux-rdma@vger.kernel.org, =?UTF-8?Q?Christian_K=C3=B6nig?= , Daniel Stone , Jesse Natalie , Steve Pronovost , Felix Kuehling , Mika Kuoppala , Thomas Hellstrom , "open list:DMA BUFFER SHARING FRAMEWORK" , linaro-mm-sig@lists.linaro.org, amd-gfx mailing list , Chris Wilson , Maarten Lankhorst , Daniel Vetter Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org This matches my understanding for what it's worth. In my little bit of synchronization work in drm, I've gone out of my way to ensure we can maintain this constraint. Acked-by: Jason Ekstrand On Thu, Jul 9, 2020 at 7:33 AM Daniel Vetter wrote= : > > Comes up every few years, gets somewhat tedious to discuss, let's > write this down once and for all. > > What I'm not sure about is whether the text should be more explicit in > flat out mandating the amdkfd eviction fences for long running compute > workloads or workloads where userspace fencing is allowed. > > v2: Now with dot graph! > > v3: Typo (Dave Airlie) > > Acked-by: Christian K=C3=B6nig > Acked-by: Daniel Stone > Cc: Jesse Natalie > Cc: Steve Pronovost > Cc: Jason Ekstrand > Cc: Felix Kuehling > Cc: Mika Kuoppala > Cc: Thomas Hellstrom > Cc: linux-media@vger.kernel.org > Cc: linaro-mm-sig@lists.linaro.org > Cc: linux-rdma@vger.kernel.org > Cc: amd-gfx@lists.freedesktop.org > Cc: intel-gfx@lists.freedesktop.org > Cc: Chris Wilson > Cc: Maarten Lankhorst > Cc: Christian K=C3=B6nig > Signed-off-by: Daniel Vetter > --- > Documentation/driver-api/dma-buf.rst | 70 ++++++++++++++++++++++++++++ > 1 file changed, 70 insertions(+) > > diff --git a/Documentation/driver-api/dma-buf.rst b/Documentation/driver-= api/dma-buf.rst > index f8f6decde359..100bfd227265 100644 > --- a/Documentation/driver-api/dma-buf.rst > +++ b/Documentation/driver-api/dma-buf.rst > @@ -178,3 +178,73 @@ DMA Fence uABI/Sync File > .. kernel-doc:: include/linux/sync_file.h > :internal: > > +Indefinite DMA Fences > +~~~~~~~~~~~~~~~~~~~~ > + > +At various times &dma_fence with an indefinite time until dma_fence_wait= () > +finishes have been proposed. Examples include: > + > +* Future fences, used in HWC1 to signal when a buffer isn't used by the = display > + any longer, and created with the screen update that makes the buffer v= isible. > + The time this fence completes is entirely under userspace's control. > + > +* Proxy fences, proposed to handle &drm_syncobj for which the fence has = not yet > + been set. Used to asynchronously delay command submission. > + > +* Userspace fences or gpu futexes, fine-grained locking within a command= buffer > + that userspace uses for synchronization across engines or with the CPU= , which > + are then imported as a DMA fence for integration into existing winsys > + protocols. > + > +* Long-running compute command buffers, while still using traditional en= d of > + batch DMA fences for memory management instead of context preemption D= MA > + fences which get reattached when the compute job is rescheduled. > + > +Common to all these schemes is that userspace controls the dependencies = of these > +fences and controls when they fire. Mixing indefinite fences with normal > +in-kernel DMA fences does not work, even when a fallback timeout is incl= uded to > +protect against malicious userspace: > + > +* Only the kernel knows about all DMA fence dependencies, userspace is n= ot aware > + of dependencies injected due to memory management or scheduler decisio= ns. > + > +* Only userspace knows about all dependencies in indefinite fences and w= hen > + exactly they will complete, the kernel has no visibility. > + > +Furthermore the kernel has to be able to hold up userspace command submi= ssion > +for memory management needs, which means we must support indefinite fenc= es being > +dependent upon DMA fences. If the kernel also support indefinite fences = in the > +kernel like a DMA fence, like any of the above proposal would, there is = the > +potential for deadlocks. > + > +.. kernel-render:: DOT > + :alt: Indefinite Fencing Dependency Cycle > + :caption: Indefinite Fencing Dependency Cycle > + > + digraph "Fencing Cycle" { > + node [shape=3Dbox bgcolor=3Dgrey style=3Dfilled] > + kernel [label=3D"Kernel DMA Fences"] > + userspace [label=3D"userspace controlled fences"] > + kernel -> userspace [label=3D"memory management"] > + userspace -> kernel [label=3D"Future fence, fence proxy, ..."] > + > + { rank=3Dsame; kernel userspace } > + } > + > +This means that the kernel might accidentally create deadlocks > +through memory management dependencies which userspace is unaware of, wh= ich > +randomly hangs workloads until the timeout kicks in. Workloads, which fr= om > +userspace's perspective, do not contain a deadlock. In such a mixed fen= cing > +architecture there is no single entity with knowledge of all dependencie= s. > +Thefore preventing such deadlocks from within the kernel is not possible= . > + > +The only solution to avoid dependencies loops is by not allowing indefin= ite > +fences in the kernel. This means: > + > +* No future fences, proxy fences or userspace fences imported as DMA fen= ces, > + with or without a timeout. > + > +* No DMA fences that signal end of batchbuffer for command submission wh= ere > + userspace is allowed to use userspace fencing or long running compute > + workloads. This also means no implicit fencing for shared buffers in t= hese > + cases. > -- > 2.27.0 > 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=-9.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 64B50C433E0 for ; Tue, 14 Jul 2020 18:45:43 +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 343DA21897 for ; Tue, 14 Jul 2020 18:45:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=jlekstrand-net.20150623.gappssmtp.com header.i=@jlekstrand-net.20150623.gappssmtp.com header.b="bSqLibna" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 343DA21897 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=jlekstrand.net 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 5046F6E7DD; Tue, 14 Jul 2020 18:45:42 +0000 (UTC) Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by gabe.freedesktop.org (Postfix) with ESMTPS id 583066E5A4 for ; Tue, 14 Jul 2020 18:45:41 +0000 (UTC) Received: by mail-wr1-x441.google.com with SMTP id f18so24085244wrs.0 for ; Tue, 14 Jul 2020 11:45:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jlekstrand-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NB5nytNOxsJJioGL1Jixv5ej+NnEMHWRKbTcnkeqcug=; b=bSqLibnaW/T58mL9feuhhYVqPsWXPihE0fwbIoqc39uqy6e+2BiUPZkGhVblD9R7Au akO6EH8cfrhK7Yf9kbjdwsNm/6+fhjEZ3TpbUP5BDyMVe2hVLNAK+Py5VsTtpjhiRqXo ghR+N/exkc4TPT4gAJesMOByGNpGxPZIDqXuQtW22DePJpZrEUFaDJWQNwfKaTT1ZgpI kyFzzeT1Vdif9Pe+iniC0KvvcPEJ8tLHRT3UovOz0N1Lfoe1dkguuagsdB3lgAtjM0cO SOxzOeMDOR+S7GSg8nxtewQSGNLBtatjVg9+jrdz2gjSMDz1GJxtFthbxYF5QEAXZJJS fZ/g== 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=NB5nytNOxsJJioGL1Jixv5ej+NnEMHWRKbTcnkeqcug=; b=tQeZ7mW/6Ozq+BjjjaXrmPygMtXCbVQLmkefaD+xNA7JLdBzQnCg+JIzCoDKqSGdne D/dxubYpEleGxnOHBA3g0b9X+XieWBensu0sgOhuIjwwnhzfZYrpnSsSN1KtDajsiF4q UerQEO1ufRaUO3YNkTawcxdI2A/nbkC1IHL6cb6YYJj3M26EdHS8qc3txdUI6Ejkw0Ce TT53CvFTNDqkYy4Ha+gLqaM1MarZm5Owy9V+5pG/W9YTCpA6MM9u1BkEUA9ju6rzU7JC mBLQi5s2yKGx6nddvkUqOZ/xVe2i9v+kDdcWhiwxPz7I8vDXT60A+t0PGX1kWKz8JL9v 1vlw== X-Gm-Message-State: AOAM5312O9sNIjjLms8kdOAD7gZduk+jqbw6hBmcTkC0mCoBFzoceVh1 Oe3RFGYdhBVgD30yZa1/UFkD8dmd8QfNpGdw96D1V1tq X-Google-Smtp-Source: ABdhPJx0c4bCwqzJhlZQg26rtFZ2ogbu3hjGv1Go+aM7VrNiOmfc9AqYjZOFezTtwnrBkWcWaFJT4975ZoMq1Diy5+w= X-Received: by 2002:a17:906:26c3:: with SMTP id u3mr5380567ejc.483.1594748808337; Tue, 14 Jul 2020 10:46:48 -0700 (PDT) MIME-Version: 1.0 References: <20200707201229.472834-4-daniel.vetter@ffwll.ch> <20200709123339.547390-1-daniel.vetter@ffwll.ch> In-Reply-To: <20200709123339.547390-1-daniel.vetter@ffwll.ch> From: Jason Ekstrand Date: Tue, 14 Jul 2020 12:46:37 -0500 Message-ID: Subject: Re: [PATCH 1/2] dma-buf.rst: Document why indefinite fences are a bad idea To: Daniel Vetter 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: Daniel Vetter , Daniel Stone , linux-rdma@vger.kernel.org, Intel Graphics Development , DRI Development , Chris Wilson , linaro-mm-sig@lists.linaro.org, Steve Pronovost , amd-gfx mailing list , Jesse Natalie , Felix Kuehling , Thomas Hellstrom , "open list:DMA BUFFER SHARING FRAMEWORK" , =?UTF-8?Q?Christian_K=C3=B6nig?= , Mika Kuoppala Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" VGhpcyBtYXRjaGVzIG15IHVuZGVyc3RhbmRpbmcgZm9yIHdoYXQgaXQncyB3b3J0aC4gIEluIG15 IGxpdHRsZSBiaXQKb2Ygc3luY2hyb25pemF0aW9uIHdvcmsgaW4gZHJtLCBJJ3ZlIGdvbmUgb3V0 IG9mIG15IHdheSB0byBlbnN1cmUgd2UKY2FuIG1haW50YWluIHRoaXMgY29uc3RyYWludC4KCkFj a2VkLWJ5OiBKYXNvbiBFa3N0cmFuZCA8amFzb25Aamxla3N0cmFuZC5uZXQ+CgpPbiBUaHUsIEp1 bCA5LCAyMDIwIGF0IDc6MzMgQU0gRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4gd3JvdGU6Cj4KPiBDb21lcyB1cCBldmVyeSBmZXcgeWVhcnMsIGdldHMgc29tZXdoYXQgdGVk aW91cyB0byBkaXNjdXNzLCBsZXQncwo+IHdyaXRlIHRoaXMgZG93biBvbmNlIGFuZCBmb3IgYWxs Lgo+Cj4gV2hhdCBJJ20gbm90IHN1cmUgYWJvdXQgaXMgd2hldGhlciB0aGUgdGV4dCBzaG91bGQg YmUgbW9yZSBleHBsaWNpdCBpbgo+IGZsYXQgb3V0IG1hbmRhdGluZyB0aGUgYW1ka2ZkIGV2aWN0 aW9uIGZlbmNlcyBmb3IgbG9uZyBydW5uaW5nIGNvbXB1dGUKPiB3b3JrbG9hZHMgb3Igd29ya2xv YWRzIHdoZXJlIHVzZXJzcGFjZSBmZW5jaW5nIGlzIGFsbG93ZWQuCj4KPiB2MjogTm93IHdpdGgg ZG90IGdyYXBoIQo+Cj4gdjM6IFR5cG8gKERhdmUgQWlybGllKQo+Cj4gQWNrZWQtYnk6IENocmlz dGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiBBY2tlZC1ieTogRGFuaWVs IFN0b25lIDxkYW5pZWxzQGNvbGxhYm9yYS5jb20+Cj4gQ2M6IEplc3NlIE5hdGFsaWUgPGplbmF0 YWxpQG1pY3Jvc29mdC5jb20+Cj4gQ2M6IFN0ZXZlIFByb25vdm9zdCA8c3Byb25vdm9AbWljcm9z b2Z0LmNvbT4KPiBDYzogSmFzb24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0Pgo+IENj OiBGZWxpeCBLdWVobGluZyA8RmVsaXguS3VlaGxpbmdAYW1kLmNvbT4KPiBDYzogTWlrYSBLdW9w cGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+Cj4gQ2M6IFRob21hcyBIZWxsc3Ryb20gPHRo b21hcy5oZWxsc3Ryb21AaW50ZWwuY29tPgo+IENjOiBsaW51eC1tZWRpYUB2Z2VyLmtlcm5lbC5v cmcKPiBDYzogbGluYXJvLW1tLXNpZ0BsaXN0cy5saW5hcm8ub3JnCj4gQ2M6IGxpbnV4LXJkbWFA dmdlci5rZXJuZWwub3JnCj4gQ2M6IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gQ2M6 IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGludGVsLmNvbT4KPiAtLS0KPiAgRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL2RtYS1i dWYucnN0IHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdl ZCwgNzAgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZHJpdmVy LWFwaS9kbWEtYnVmLnJzdCBiL0RvY3VtZW50YXRpb24vZHJpdmVyLWFwaS9kbWEtYnVmLnJzdAo+ IGluZGV4IGY4ZjZkZWNkZTM1OS4uMTAwYmZkMjI3MjY1IDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50 YXRpb24vZHJpdmVyLWFwaS9kbWEtYnVmLnJzdAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZHJpdmVy LWFwaS9kbWEtYnVmLnJzdAo+IEBAIC0xNzgsMyArMTc4LDczIEBAIERNQSBGZW5jZSB1QUJJL1N5 bmMgRmlsZQo+ICAuLiBrZXJuZWwtZG9jOjogaW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaAo+ICAg ICA6aW50ZXJuYWw6Cj4KPiArSW5kZWZpbml0ZSBETUEgRmVuY2VzCj4gK35+fn5+fn5+fn5+fn5+ fn5+fn5+Cj4gKwo+ICtBdCB2YXJpb3VzIHRpbWVzICZkbWFfZmVuY2Ugd2l0aCBhbiBpbmRlZmlu aXRlIHRpbWUgdW50aWwgZG1hX2ZlbmNlX3dhaXQoKQo+ICtmaW5pc2hlcyBoYXZlIGJlZW4gcHJv cG9zZWQuIEV4YW1wbGVzIGluY2x1ZGU6Cj4gKwo+ICsqIEZ1dHVyZSBmZW5jZXMsIHVzZWQgaW4g SFdDMSB0byBzaWduYWwgd2hlbiBhIGJ1ZmZlciBpc24ndCB1c2VkIGJ5IHRoZSBkaXNwbGF5Cj4g KyAgYW55IGxvbmdlciwgYW5kIGNyZWF0ZWQgd2l0aCB0aGUgc2NyZWVuIHVwZGF0ZSB0aGF0IG1h a2VzIHRoZSBidWZmZXIgdmlzaWJsZS4KPiArICBUaGUgdGltZSB0aGlzIGZlbmNlIGNvbXBsZXRl cyBpcyBlbnRpcmVseSB1bmRlciB1c2Vyc3BhY2UncyBjb250cm9sLgo+ICsKPiArKiBQcm94eSBm ZW5jZXMsIHByb3Bvc2VkIHRvIGhhbmRsZSAmZHJtX3N5bmNvYmogZm9yIHdoaWNoIHRoZSBmZW5j ZSBoYXMgbm90IHlldAo+ICsgIGJlZW4gc2V0LiBVc2VkIHRvIGFzeW5jaHJvbm91c2x5IGRlbGF5 IGNvbW1hbmQgc3VibWlzc2lvbi4KPiArCj4gKyogVXNlcnNwYWNlIGZlbmNlcyBvciBncHUgZnV0 ZXhlcywgZmluZS1ncmFpbmVkIGxvY2tpbmcgd2l0aGluIGEgY29tbWFuZCBidWZmZXIKPiArICB0 aGF0IHVzZXJzcGFjZSB1c2VzIGZvciBzeW5jaHJvbml6YXRpb24gYWNyb3NzIGVuZ2luZXMgb3Ig d2l0aCB0aGUgQ1BVLCB3aGljaAo+ICsgIGFyZSB0aGVuIGltcG9ydGVkIGFzIGEgRE1BIGZlbmNl IGZvciBpbnRlZ3JhdGlvbiBpbnRvIGV4aXN0aW5nIHdpbnN5cwo+ICsgIHByb3RvY29scy4KPiAr Cj4gKyogTG9uZy1ydW5uaW5nIGNvbXB1dGUgY29tbWFuZCBidWZmZXJzLCB3aGlsZSBzdGlsbCB1 c2luZyB0cmFkaXRpb25hbCBlbmQgb2YKPiArICBiYXRjaCBETUEgZmVuY2VzIGZvciBtZW1vcnkg bWFuYWdlbWVudCBpbnN0ZWFkIG9mIGNvbnRleHQgcHJlZW1wdGlvbiBETUEKPiArICBmZW5jZXMg d2hpY2ggZ2V0IHJlYXR0YWNoZWQgd2hlbiB0aGUgY29tcHV0ZSBqb2IgaXMgcmVzY2hlZHVsZWQu Cj4gKwo+ICtDb21tb24gdG8gYWxsIHRoZXNlIHNjaGVtZXMgaXMgdGhhdCB1c2Vyc3BhY2UgY29u dHJvbHMgdGhlIGRlcGVuZGVuY2llcyBvZiB0aGVzZQo+ICtmZW5jZXMgYW5kIGNvbnRyb2xzIHdo ZW4gdGhleSBmaXJlLiBNaXhpbmcgaW5kZWZpbml0ZSBmZW5jZXMgd2l0aCBub3JtYWwKPiAraW4t a2VybmVsIERNQSBmZW5jZXMgZG9lcyBub3Qgd29yaywgZXZlbiB3aGVuIGEgZmFsbGJhY2sgdGlt ZW91dCBpcyBpbmNsdWRlZCB0bwo+ICtwcm90ZWN0IGFnYWluc3QgbWFsaWNpb3VzIHVzZXJzcGFj ZToKPiArCj4gKyogT25seSB0aGUga2VybmVsIGtub3dzIGFib3V0IGFsbCBETUEgZmVuY2UgZGVw ZW5kZW5jaWVzLCB1c2Vyc3BhY2UgaXMgbm90IGF3YXJlCj4gKyAgb2YgZGVwZW5kZW5jaWVzIGlu amVjdGVkIGR1ZSB0byBtZW1vcnkgbWFuYWdlbWVudCBvciBzY2hlZHVsZXIgZGVjaXNpb25zLgo+ ICsKPiArKiBPbmx5IHVzZXJzcGFjZSBrbm93cyBhYm91dCBhbGwgZGVwZW5kZW5jaWVzIGluIGlu ZGVmaW5pdGUgZmVuY2VzIGFuZCB3aGVuCj4gKyAgZXhhY3RseSB0aGV5IHdpbGwgY29tcGxldGUs IHRoZSBrZXJuZWwgaGFzIG5vIHZpc2liaWxpdHkuCj4gKwo+ICtGdXJ0aGVybW9yZSB0aGUga2Vy bmVsIGhhcyB0byBiZSBhYmxlIHRvIGhvbGQgdXAgdXNlcnNwYWNlIGNvbW1hbmQgc3VibWlzc2lv bgo+ICtmb3IgbWVtb3J5IG1hbmFnZW1lbnQgbmVlZHMsIHdoaWNoIG1lYW5zIHdlIG11c3Qgc3Vw cG9ydCBpbmRlZmluaXRlIGZlbmNlcyBiZWluZwo+ICtkZXBlbmRlbnQgdXBvbiBETUEgZmVuY2Vz LiBJZiB0aGUga2VybmVsIGFsc28gc3VwcG9ydCBpbmRlZmluaXRlIGZlbmNlcyBpbiB0aGUKPiAr a2VybmVsIGxpa2UgYSBETUEgZmVuY2UsIGxpa2UgYW55IG9mIHRoZSBhYm92ZSBwcm9wb3NhbCB3 b3VsZCwgdGhlcmUgaXMgdGhlCj4gK3BvdGVudGlhbCBmb3IgZGVhZGxvY2tzLgo+ICsKPiArLi4g a2VybmVsLXJlbmRlcjo6IERPVAo+ICsgICA6YWx0OiBJbmRlZmluaXRlIEZlbmNpbmcgRGVwZW5k ZW5jeSBDeWNsZQo+ICsgICA6Y2FwdGlvbjogSW5kZWZpbml0ZSBGZW5jaW5nIERlcGVuZGVuY3kg Q3ljbGUKPiArCj4gKyAgIGRpZ3JhcGggIkZlbmNpbmcgQ3ljbGUiIHsKPiArICAgICAgbm9kZSBb c2hhcGU9Ym94IGJnY29sb3I9Z3JleSBzdHlsZT1maWxsZWRdCj4gKyAgICAgIGtlcm5lbCBbbGFi ZWw9Iktlcm5lbCBETUEgRmVuY2VzIl0KPiArICAgICAgdXNlcnNwYWNlIFtsYWJlbD0idXNlcnNw YWNlIGNvbnRyb2xsZWQgZmVuY2VzIl0KPiArICAgICAga2VybmVsIC0+IHVzZXJzcGFjZSBbbGFi ZWw9Im1lbW9yeSBtYW5hZ2VtZW50Il0KPiArICAgICAgdXNlcnNwYWNlIC0+IGtlcm5lbCBbbGFi ZWw9IkZ1dHVyZSBmZW5jZSwgZmVuY2UgcHJveHksIC4uLiJdCj4gKwo+ICsgICAgICB7IHJhbms9 c2FtZTsga2VybmVsIHVzZXJzcGFjZSB9Cj4gKyAgIH0KPiArCj4gK1RoaXMgbWVhbnMgdGhhdCB0 aGUga2VybmVsIG1pZ2h0IGFjY2lkZW50YWxseSBjcmVhdGUgZGVhZGxvY2tzCj4gK3Rocm91Z2gg bWVtb3J5IG1hbmFnZW1lbnQgZGVwZW5kZW5jaWVzIHdoaWNoIHVzZXJzcGFjZSBpcyB1bmF3YXJl IG9mLCB3aGljaAo+ICtyYW5kb21seSBoYW5ncyB3b3JrbG9hZHMgdW50aWwgdGhlIHRpbWVvdXQg a2lja3MgaW4uIFdvcmtsb2Fkcywgd2hpY2ggZnJvbQo+ICt1c2Vyc3BhY2UncyBwZXJzcGVjdGl2 ZSwgZG8gbm90IGNvbnRhaW4gYSBkZWFkbG9jay4gIEluIHN1Y2ggYSBtaXhlZCBmZW5jaW5nCj4g K2FyY2hpdGVjdHVyZSB0aGVyZSBpcyBubyBzaW5nbGUgZW50aXR5IHdpdGgga25vd2xlZGdlIG9m IGFsbCBkZXBlbmRlbmNpZXMuCj4gK1RoZWZvcmUgcHJldmVudGluZyBzdWNoIGRlYWRsb2NrcyBm cm9tIHdpdGhpbiB0aGUga2VybmVsIGlzIG5vdCBwb3NzaWJsZS4KPiArCj4gK1RoZSBvbmx5IHNv bHV0aW9uIHRvIGF2b2lkIGRlcGVuZGVuY2llcyBsb29wcyBpcyBieSBub3QgYWxsb3dpbmcgaW5k ZWZpbml0ZQo+ICtmZW5jZXMgaW4gdGhlIGtlcm5lbC4gVGhpcyBtZWFuczoKPiArCj4gKyogTm8g ZnV0dXJlIGZlbmNlcywgcHJveHkgZmVuY2VzIG9yIHVzZXJzcGFjZSBmZW5jZXMgaW1wb3J0ZWQg YXMgRE1BIGZlbmNlcywKPiArICB3aXRoIG9yIHdpdGhvdXQgYSB0aW1lb3V0Lgo+ICsKPiArKiBO byBETUEgZmVuY2VzIHRoYXQgc2lnbmFsIGVuZCBvZiBiYXRjaGJ1ZmZlciBmb3IgY29tbWFuZCBz dWJtaXNzaW9uIHdoZXJlCj4gKyAgdXNlcnNwYWNlIGlzIGFsbG93ZWQgdG8gdXNlIHVzZXJzcGFj ZSBmZW5jaW5nIG9yIGxvbmcgcnVubmluZyBjb21wdXRlCj4gKyAgd29ya2xvYWRzLiBUaGlzIGFs c28gbWVhbnMgbm8gaW1wbGljaXQgZmVuY2luZyBmb3Igc2hhcmVkIGJ1ZmZlcnMgaW4gdGhlc2UK PiArICBjYXNlcy4KPiAtLQo+IDIuMjcuMAo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo= 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=-9.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 22056C433E0 for ; Tue, 14 Jul 2020 17:52:14 +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 E74FC2256C for ; Tue, 14 Jul 2020 17:52:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=jlekstrand-net.20150623.gappssmtp.com header.i=@jlekstrand-net.20150623.gappssmtp.com header.b="bSqLibna" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E74FC2256C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=jlekstrand.net 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 87DFC89FED; Tue, 14 Jul 2020 17:52:13 +0000 (UTC) Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5F52A89FED for ; Tue, 14 Jul 2020 17:52:12 +0000 (UTC) Received: by mail-wr1-x444.google.com with SMTP id f18so23681129wrs.0 for ; Tue, 14 Jul 2020 10:52:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jlekstrand-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NB5nytNOxsJJioGL1Jixv5ej+NnEMHWRKbTcnkeqcug=; b=bSqLibnaW/T58mL9feuhhYVqPsWXPihE0fwbIoqc39uqy6e+2BiUPZkGhVblD9R7Au akO6EH8cfrhK7Yf9kbjdwsNm/6+fhjEZ3TpbUP5BDyMVe2hVLNAK+Py5VsTtpjhiRqXo ghR+N/exkc4TPT4gAJesMOByGNpGxPZIDqXuQtW22DePJpZrEUFaDJWQNwfKaTT1ZgpI kyFzzeT1Vdif9Pe+iniC0KvvcPEJ8tLHRT3UovOz0N1Lfoe1dkguuagsdB3lgAtjM0cO SOxzOeMDOR+S7GSg8nxtewQSGNLBtatjVg9+jrdz2gjSMDz1GJxtFthbxYF5QEAXZJJS fZ/g== 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=NB5nytNOxsJJioGL1Jixv5ej+NnEMHWRKbTcnkeqcug=; b=Hq2edajG/6uriehAVcZBpDpyWu7bZg56yEvsgO0ZhejmmFeXj76gjjiLcI6y6CQrlX Zmh7Znio3PMuRkj9WlrfsB3ilMDgUbsnm1+EI1jwJ5Pn+zJHIugcez18E9lEHBB7SN3d gO0IcACpeSCANpzz7ejPw/97recH6X4QboUyWENfWl/ED/IGYfJd7ioKzYPgbEcCVDuq uakDWEsunKpEBCP7wUuyA4fMegOsQTueaaIp5t59RJJ9opQcvyKOdCWo+55Jag8t4isf xZ25vcHq4xN14jhlu8kExMJ+JUn4l171zXxkTYlO5s4d3dCgAC0iY+apjlYHHHPiZ/AC pJ8Q== X-Gm-Message-State: AOAM531Rvaln1Ug3aUcvllnpwfLNHn5pXQtd1X2VKR72erIFYSWOBAc/ xQXDCrG5UzvIwQICesNLgso6uz1R0wZ9Rs28igvDW5PM X-Google-Smtp-Source: ABdhPJx0c4bCwqzJhlZQg26rtFZ2ogbu3hjGv1Go+aM7VrNiOmfc9AqYjZOFezTtwnrBkWcWaFJT4975ZoMq1Diy5+w= X-Received: by 2002:a17:906:26c3:: with SMTP id u3mr5380567ejc.483.1594748808337; Tue, 14 Jul 2020 10:46:48 -0700 (PDT) MIME-Version: 1.0 References: <20200707201229.472834-4-daniel.vetter@ffwll.ch> <20200709123339.547390-1-daniel.vetter@ffwll.ch> In-Reply-To: <20200709123339.547390-1-daniel.vetter@ffwll.ch> From: Jason Ekstrand Date: Tue, 14 Jul 2020 12:46:37 -0500 Message-ID: To: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH 1/2] dma-buf.rst: Document why indefinite fences are a bad idea 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: Daniel Vetter , Daniel Stone , linux-rdma@vger.kernel.org, Intel Graphics Development , DRI Development , Chris Wilson , linaro-mm-sig@lists.linaro.org, Steve Pronovost , amd-gfx mailing list , Jesse Natalie , Felix Kuehling , Thomas Hellstrom , "open list:DMA BUFFER SHARING FRAMEWORK" , =?UTF-8?Q?Christian_K=C3=B6nig?= , Mika Kuoppala Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" VGhpcyBtYXRjaGVzIG15IHVuZGVyc3RhbmRpbmcgZm9yIHdoYXQgaXQncyB3b3J0aC4gIEluIG15 IGxpdHRsZSBiaXQKb2Ygc3luY2hyb25pemF0aW9uIHdvcmsgaW4gZHJtLCBJJ3ZlIGdvbmUgb3V0 IG9mIG15IHdheSB0byBlbnN1cmUgd2UKY2FuIG1haW50YWluIHRoaXMgY29uc3RyYWludC4KCkFj a2VkLWJ5OiBKYXNvbiBFa3N0cmFuZCA8amFzb25Aamxla3N0cmFuZC5uZXQ+CgpPbiBUaHUsIEp1 bCA5LCAyMDIwIGF0IDc6MzMgQU0gRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4gd3JvdGU6Cj4KPiBDb21lcyB1cCBldmVyeSBmZXcgeWVhcnMsIGdldHMgc29tZXdoYXQgdGVk aW91cyB0byBkaXNjdXNzLCBsZXQncwo+IHdyaXRlIHRoaXMgZG93biBvbmNlIGFuZCBmb3IgYWxs Lgo+Cj4gV2hhdCBJJ20gbm90IHN1cmUgYWJvdXQgaXMgd2hldGhlciB0aGUgdGV4dCBzaG91bGQg YmUgbW9yZSBleHBsaWNpdCBpbgo+IGZsYXQgb3V0IG1hbmRhdGluZyB0aGUgYW1ka2ZkIGV2aWN0 aW9uIGZlbmNlcyBmb3IgbG9uZyBydW5uaW5nIGNvbXB1dGUKPiB3b3JrbG9hZHMgb3Igd29ya2xv YWRzIHdoZXJlIHVzZXJzcGFjZSBmZW5jaW5nIGlzIGFsbG93ZWQuCj4KPiB2MjogTm93IHdpdGgg ZG90IGdyYXBoIQo+Cj4gdjM6IFR5cG8gKERhdmUgQWlybGllKQo+Cj4gQWNrZWQtYnk6IENocmlz dGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiBBY2tlZC1ieTogRGFuaWVs IFN0b25lIDxkYW5pZWxzQGNvbGxhYm9yYS5jb20+Cj4gQ2M6IEplc3NlIE5hdGFsaWUgPGplbmF0 YWxpQG1pY3Jvc29mdC5jb20+Cj4gQ2M6IFN0ZXZlIFByb25vdm9zdCA8c3Byb25vdm9AbWljcm9z b2Z0LmNvbT4KPiBDYzogSmFzb24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0Pgo+IENj OiBGZWxpeCBLdWVobGluZyA8RmVsaXguS3VlaGxpbmdAYW1kLmNvbT4KPiBDYzogTWlrYSBLdW9w cGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+Cj4gQ2M6IFRob21hcyBIZWxsc3Ryb20gPHRo b21hcy5oZWxsc3Ryb21AaW50ZWwuY29tPgo+IENjOiBsaW51eC1tZWRpYUB2Z2VyLmtlcm5lbC5v cmcKPiBDYzogbGluYXJvLW1tLXNpZ0BsaXN0cy5saW5hcm8ub3JnCj4gQ2M6IGxpbnV4LXJkbWFA dmdlci5rZXJuZWwub3JnCj4gQ2M6IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gQ2M6 IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGludGVsLmNvbT4KPiAtLS0KPiAgRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL2RtYS1i dWYucnN0IHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdl ZCwgNzAgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZHJpdmVy LWFwaS9kbWEtYnVmLnJzdCBiL0RvY3VtZW50YXRpb24vZHJpdmVyLWFwaS9kbWEtYnVmLnJzdAo+ IGluZGV4IGY4ZjZkZWNkZTM1OS4uMTAwYmZkMjI3MjY1IDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50 YXRpb24vZHJpdmVyLWFwaS9kbWEtYnVmLnJzdAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZHJpdmVy LWFwaS9kbWEtYnVmLnJzdAo+IEBAIC0xNzgsMyArMTc4LDczIEBAIERNQSBGZW5jZSB1QUJJL1N5 bmMgRmlsZQo+ICAuLiBrZXJuZWwtZG9jOjogaW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaAo+ICAg ICA6aW50ZXJuYWw6Cj4KPiArSW5kZWZpbml0ZSBETUEgRmVuY2VzCj4gK35+fn5+fn5+fn5+fn5+ fn5+fn5+Cj4gKwo+ICtBdCB2YXJpb3VzIHRpbWVzICZkbWFfZmVuY2Ugd2l0aCBhbiBpbmRlZmlu aXRlIHRpbWUgdW50aWwgZG1hX2ZlbmNlX3dhaXQoKQo+ICtmaW5pc2hlcyBoYXZlIGJlZW4gcHJv cG9zZWQuIEV4YW1wbGVzIGluY2x1ZGU6Cj4gKwo+ICsqIEZ1dHVyZSBmZW5jZXMsIHVzZWQgaW4g SFdDMSB0byBzaWduYWwgd2hlbiBhIGJ1ZmZlciBpc24ndCB1c2VkIGJ5IHRoZSBkaXNwbGF5Cj4g KyAgYW55IGxvbmdlciwgYW5kIGNyZWF0ZWQgd2l0aCB0aGUgc2NyZWVuIHVwZGF0ZSB0aGF0IG1h a2VzIHRoZSBidWZmZXIgdmlzaWJsZS4KPiArICBUaGUgdGltZSB0aGlzIGZlbmNlIGNvbXBsZXRl cyBpcyBlbnRpcmVseSB1bmRlciB1c2Vyc3BhY2UncyBjb250cm9sLgo+ICsKPiArKiBQcm94eSBm ZW5jZXMsIHByb3Bvc2VkIHRvIGhhbmRsZSAmZHJtX3N5bmNvYmogZm9yIHdoaWNoIHRoZSBmZW5j ZSBoYXMgbm90IHlldAo+ICsgIGJlZW4gc2V0LiBVc2VkIHRvIGFzeW5jaHJvbm91c2x5IGRlbGF5 IGNvbW1hbmQgc3VibWlzc2lvbi4KPiArCj4gKyogVXNlcnNwYWNlIGZlbmNlcyBvciBncHUgZnV0 ZXhlcywgZmluZS1ncmFpbmVkIGxvY2tpbmcgd2l0aGluIGEgY29tbWFuZCBidWZmZXIKPiArICB0 aGF0IHVzZXJzcGFjZSB1c2VzIGZvciBzeW5jaHJvbml6YXRpb24gYWNyb3NzIGVuZ2luZXMgb3Ig d2l0aCB0aGUgQ1BVLCB3aGljaAo+ICsgIGFyZSB0aGVuIGltcG9ydGVkIGFzIGEgRE1BIGZlbmNl IGZvciBpbnRlZ3JhdGlvbiBpbnRvIGV4aXN0aW5nIHdpbnN5cwo+ICsgIHByb3RvY29scy4KPiAr Cj4gKyogTG9uZy1ydW5uaW5nIGNvbXB1dGUgY29tbWFuZCBidWZmZXJzLCB3aGlsZSBzdGlsbCB1 c2luZyB0cmFkaXRpb25hbCBlbmQgb2YKPiArICBiYXRjaCBETUEgZmVuY2VzIGZvciBtZW1vcnkg bWFuYWdlbWVudCBpbnN0ZWFkIG9mIGNvbnRleHQgcHJlZW1wdGlvbiBETUEKPiArICBmZW5jZXMg d2hpY2ggZ2V0IHJlYXR0YWNoZWQgd2hlbiB0aGUgY29tcHV0ZSBqb2IgaXMgcmVzY2hlZHVsZWQu Cj4gKwo+ICtDb21tb24gdG8gYWxsIHRoZXNlIHNjaGVtZXMgaXMgdGhhdCB1c2Vyc3BhY2UgY29u dHJvbHMgdGhlIGRlcGVuZGVuY2llcyBvZiB0aGVzZQo+ICtmZW5jZXMgYW5kIGNvbnRyb2xzIHdo ZW4gdGhleSBmaXJlLiBNaXhpbmcgaW5kZWZpbml0ZSBmZW5jZXMgd2l0aCBub3JtYWwKPiAraW4t a2VybmVsIERNQSBmZW5jZXMgZG9lcyBub3Qgd29yaywgZXZlbiB3aGVuIGEgZmFsbGJhY2sgdGlt ZW91dCBpcyBpbmNsdWRlZCB0bwo+ICtwcm90ZWN0IGFnYWluc3QgbWFsaWNpb3VzIHVzZXJzcGFj ZToKPiArCj4gKyogT25seSB0aGUga2VybmVsIGtub3dzIGFib3V0IGFsbCBETUEgZmVuY2UgZGVw ZW5kZW5jaWVzLCB1c2Vyc3BhY2UgaXMgbm90IGF3YXJlCj4gKyAgb2YgZGVwZW5kZW5jaWVzIGlu amVjdGVkIGR1ZSB0byBtZW1vcnkgbWFuYWdlbWVudCBvciBzY2hlZHVsZXIgZGVjaXNpb25zLgo+ ICsKPiArKiBPbmx5IHVzZXJzcGFjZSBrbm93cyBhYm91dCBhbGwgZGVwZW5kZW5jaWVzIGluIGlu ZGVmaW5pdGUgZmVuY2VzIGFuZCB3aGVuCj4gKyAgZXhhY3RseSB0aGV5IHdpbGwgY29tcGxldGUs IHRoZSBrZXJuZWwgaGFzIG5vIHZpc2liaWxpdHkuCj4gKwo+ICtGdXJ0aGVybW9yZSB0aGUga2Vy bmVsIGhhcyB0byBiZSBhYmxlIHRvIGhvbGQgdXAgdXNlcnNwYWNlIGNvbW1hbmQgc3VibWlzc2lv bgo+ICtmb3IgbWVtb3J5IG1hbmFnZW1lbnQgbmVlZHMsIHdoaWNoIG1lYW5zIHdlIG11c3Qgc3Vw cG9ydCBpbmRlZmluaXRlIGZlbmNlcyBiZWluZwo+ICtkZXBlbmRlbnQgdXBvbiBETUEgZmVuY2Vz LiBJZiB0aGUga2VybmVsIGFsc28gc3VwcG9ydCBpbmRlZmluaXRlIGZlbmNlcyBpbiB0aGUKPiAr a2VybmVsIGxpa2UgYSBETUEgZmVuY2UsIGxpa2UgYW55IG9mIHRoZSBhYm92ZSBwcm9wb3NhbCB3 b3VsZCwgdGhlcmUgaXMgdGhlCj4gK3BvdGVudGlhbCBmb3IgZGVhZGxvY2tzLgo+ICsKPiArLi4g a2VybmVsLXJlbmRlcjo6IERPVAo+ICsgICA6YWx0OiBJbmRlZmluaXRlIEZlbmNpbmcgRGVwZW5k ZW5jeSBDeWNsZQo+ICsgICA6Y2FwdGlvbjogSW5kZWZpbml0ZSBGZW5jaW5nIERlcGVuZGVuY3kg Q3ljbGUKPiArCj4gKyAgIGRpZ3JhcGggIkZlbmNpbmcgQ3ljbGUiIHsKPiArICAgICAgbm9kZSBb c2hhcGU9Ym94IGJnY29sb3I9Z3JleSBzdHlsZT1maWxsZWRdCj4gKyAgICAgIGtlcm5lbCBbbGFi ZWw9Iktlcm5lbCBETUEgRmVuY2VzIl0KPiArICAgICAgdXNlcnNwYWNlIFtsYWJlbD0idXNlcnNw YWNlIGNvbnRyb2xsZWQgZmVuY2VzIl0KPiArICAgICAga2VybmVsIC0+IHVzZXJzcGFjZSBbbGFi ZWw9Im1lbW9yeSBtYW5hZ2VtZW50Il0KPiArICAgICAgdXNlcnNwYWNlIC0+IGtlcm5lbCBbbGFi ZWw9IkZ1dHVyZSBmZW5jZSwgZmVuY2UgcHJveHksIC4uLiJdCj4gKwo+ICsgICAgICB7IHJhbms9 c2FtZTsga2VybmVsIHVzZXJzcGFjZSB9Cj4gKyAgIH0KPiArCj4gK1RoaXMgbWVhbnMgdGhhdCB0 aGUga2VybmVsIG1pZ2h0IGFjY2lkZW50YWxseSBjcmVhdGUgZGVhZGxvY2tzCj4gK3Rocm91Z2gg bWVtb3J5IG1hbmFnZW1lbnQgZGVwZW5kZW5jaWVzIHdoaWNoIHVzZXJzcGFjZSBpcyB1bmF3YXJl IG9mLCB3aGljaAo+ICtyYW5kb21seSBoYW5ncyB3b3JrbG9hZHMgdW50aWwgdGhlIHRpbWVvdXQg a2lja3MgaW4uIFdvcmtsb2Fkcywgd2hpY2ggZnJvbQo+ICt1c2Vyc3BhY2UncyBwZXJzcGVjdGl2 ZSwgZG8gbm90IGNvbnRhaW4gYSBkZWFkbG9jay4gIEluIHN1Y2ggYSBtaXhlZCBmZW5jaW5nCj4g K2FyY2hpdGVjdHVyZSB0aGVyZSBpcyBubyBzaW5nbGUgZW50aXR5IHdpdGgga25vd2xlZGdlIG9m IGFsbCBkZXBlbmRlbmNpZXMuCj4gK1RoZWZvcmUgcHJldmVudGluZyBzdWNoIGRlYWRsb2NrcyBm cm9tIHdpdGhpbiB0aGUga2VybmVsIGlzIG5vdCBwb3NzaWJsZS4KPiArCj4gK1RoZSBvbmx5IHNv bHV0aW9uIHRvIGF2b2lkIGRlcGVuZGVuY2llcyBsb29wcyBpcyBieSBub3QgYWxsb3dpbmcgaW5k ZWZpbml0ZQo+ICtmZW5jZXMgaW4gdGhlIGtlcm5lbC4gVGhpcyBtZWFuczoKPiArCj4gKyogTm8g ZnV0dXJlIGZlbmNlcywgcHJveHkgZmVuY2VzIG9yIHVzZXJzcGFjZSBmZW5jZXMgaW1wb3J0ZWQg YXMgRE1BIGZlbmNlcywKPiArICB3aXRoIG9yIHdpdGhvdXQgYSB0aW1lb3V0Lgo+ICsKPiArKiBO byBETUEgZmVuY2VzIHRoYXQgc2lnbmFsIGVuZCBvZiBiYXRjaGJ1ZmZlciBmb3IgY29tbWFuZCBz dWJtaXNzaW9uIHdoZXJlCj4gKyAgdXNlcnNwYWNlIGlzIGFsbG93ZWQgdG8gdXNlIHVzZXJzcGFj ZSBmZW5jaW5nIG9yIGxvbmcgcnVubmluZyBjb21wdXRlCj4gKyAgd29ya2xvYWRzLiBUaGlzIGFs c28gbWVhbnMgbm8gaW1wbGljaXQgZmVuY2luZyBmb3Igc2hhcmVkIGJ1ZmZlcnMgaW4gdGhlc2UK PiArICBjYXNlcy4KPiAtLQo+IDIuMjcuMAo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo= 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=-9.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 4608EC433E1 for ; Tue, 14 Jul 2020 18:38:14 +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 15C432242E for ; Tue, 14 Jul 2020 18:38:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=jlekstrand-net.20150623.gappssmtp.com header.i=@jlekstrand-net.20150623.gappssmtp.com header.b="bSqLibna" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 15C432242E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=jlekstrand.net 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 5CA8889AC0; Tue, 14 Jul 2020 18:38:13 +0000 (UTC) Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6EAF089930 for ; Tue, 14 Jul 2020 18:38:12 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id a8so18839537edy.1 for ; Tue, 14 Jul 2020 11:38:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jlekstrand-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NB5nytNOxsJJioGL1Jixv5ej+NnEMHWRKbTcnkeqcug=; b=bSqLibnaW/T58mL9feuhhYVqPsWXPihE0fwbIoqc39uqy6e+2BiUPZkGhVblD9R7Au akO6EH8cfrhK7Yf9kbjdwsNm/6+fhjEZ3TpbUP5BDyMVe2hVLNAK+Py5VsTtpjhiRqXo ghR+N/exkc4TPT4gAJesMOByGNpGxPZIDqXuQtW22DePJpZrEUFaDJWQNwfKaTT1ZgpI kyFzzeT1Vdif9Pe+iniC0KvvcPEJ8tLHRT3UovOz0N1Lfoe1dkguuagsdB3lgAtjM0cO SOxzOeMDOR+S7GSg8nxtewQSGNLBtatjVg9+jrdz2gjSMDz1GJxtFthbxYF5QEAXZJJS fZ/g== 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=NB5nytNOxsJJioGL1Jixv5ej+NnEMHWRKbTcnkeqcug=; b=Ik6ZhiGLtxx6takbojWoqT5PMmz91Pd1Zp/5VYykcdRJNyzOBrJIH/uml4bR4jm/Vx m2I9OGsSMnFlfvxCK867eVUxls6mJzGbpkW93nEeM5lPCtttZj6s7po+h2YbBvam6fjU M8QeAPzf2dJC13KCzxx04qydc09Vo6Zi/86kqquWtzYnZvQ+jyoNpVnd5n79IJ9dWchW /RtfKZWXonwsZoGa5gayelmhvSi/zcq8temXJFSLiikigxMuepJvpsmp6iwwu8V4asv6 3QMpNIQsvNFIrJnC5TCg/h19XcZMDABGB147YtpPDucMXAHmJbgANzBadXonzXRXSaS+ L19w== X-Gm-Message-State: AOAM530ENX0+1UBvdnoNaDGU5WJYsaHlTaBKrUTVLXE/ExQ26mwH6S+P KPzNaKOJY/xiW80LrNCOiEH6GpP1d9t7khmi085x6DMr X-Google-Smtp-Source: ABdhPJx0c4bCwqzJhlZQg26rtFZ2ogbu3hjGv1Go+aM7VrNiOmfc9AqYjZOFezTtwnrBkWcWaFJT4975ZoMq1Diy5+w= X-Received: by 2002:a17:906:26c3:: with SMTP id u3mr5380567ejc.483.1594748808337; Tue, 14 Jul 2020 10:46:48 -0700 (PDT) MIME-Version: 1.0 References: <20200707201229.472834-4-daniel.vetter@ffwll.ch> <20200709123339.547390-1-daniel.vetter@ffwll.ch> In-Reply-To: <20200709123339.547390-1-daniel.vetter@ffwll.ch> From: Jason Ekstrand Date: Tue, 14 Jul 2020 12:46:37 -0500 Message-ID: Subject: Re: [PATCH 1/2] dma-buf.rst: Document why indefinite fences are a bad idea To: Daniel Vetter 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: , Cc: Daniel Vetter , Daniel Stone , linux-rdma@vger.kernel.org, Intel Graphics Development , Maarten Lankhorst , DRI Development , Chris Wilson , linaro-mm-sig@lists.linaro.org, Steve Pronovost , amd-gfx mailing list , Jesse Natalie , Felix Kuehling , Thomas Hellstrom , "open list:DMA BUFFER SHARING FRAMEWORK" , =?UTF-8?Q?Christian_K=C3=B6nig?= , Mika Kuoppala Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" VGhpcyBtYXRjaGVzIG15IHVuZGVyc3RhbmRpbmcgZm9yIHdoYXQgaXQncyB3b3J0aC4gIEluIG15 IGxpdHRsZSBiaXQKb2Ygc3luY2hyb25pemF0aW9uIHdvcmsgaW4gZHJtLCBJJ3ZlIGdvbmUgb3V0 IG9mIG15IHdheSB0byBlbnN1cmUgd2UKY2FuIG1haW50YWluIHRoaXMgY29uc3RyYWludC4KCkFj a2VkLWJ5OiBKYXNvbiBFa3N0cmFuZCA8amFzb25Aamxla3N0cmFuZC5uZXQ+CgpPbiBUaHUsIEp1 bCA5LCAyMDIwIGF0IDc6MzMgQU0gRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4gd3JvdGU6Cj4KPiBDb21lcyB1cCBldmVyeSBmZXcgeWVhcnMsIGdldHMgc29tZXdoYXQgdGVk aW91cyB0byBkaXNjdXNzLCBsZXQncwo+IHdyaXRlIHRoaXMgZG93biBvbmNlIGFuZCBmb3IgYWxs Lgo+Cj4gV2hhdCBJJ20gbm90IHN1cmUgYWJvdXQgaXMgd2hldGhlciB0aGUgdGV4dCBzaG91bGQg YmUgbW9yZSBleHBsaWNpdCBpbgo+IGZsYXQgb3V0IG1hbmRhdGluZyB0aGUgYW1ka2ZkIGV2aWN0 aW9uIGZlbmNlcyBmb3IgbG9uZyBydW5uaW5nIGNvbXB1dGUKPiB3b3JrbG9hZHMgb3Igd29ya2xv YWRzIHdoZXJlIHVzZXJzcGFjZSBmZW5jaW5nIGlzIGFsbG93ZWQuCj4KPiB2MjogTm93IHdpdGgg ZG90IGdyYXBoIQo+Cj4gdjM6IFR5cG8gKERhdmUgQWlybGllKQo+Cj4gQWNrZWQtYnk6IENocmlz dGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiBBY2tlZC1ieTogRGFuaWVs IFN0b25lIDxkYW5pZWxzQGNvbGxhYm9yYS5jb20+Cj4gQ2M6IEplc3NlIE5hdGFsaWUgPGplbmF0 YWxpQG1pY3Jvc29mdC5jb20+Cj4gQ2M6IFN0ZXZlIFByb25vdm9zdCA8c3Byb25vdm9AbWljcm9z b2Z0LmNvbT4KPiBDYzogSmFzb24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0Pgo+IENj OiBGZWxpeCBLdWVobGluZyA8RmVsaXguS3VlaGxpbmdAYW1kLmNvbT4KPiBDYzogTWlrYSBLdW9w cGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+Cj4gQ2M6IFRob21hcyBIZWxsc3Ryb20gPHRo b21hcy5oZWxsc3Ryb21AaW50ZWwuY29tPgo+IENjOiBsaW51eC1tZWRpYUB2Z2VyLmtlcm5lbC5v cmcKPiBDYzogbGluYXJvLW1tLXNpZ0BsaXN0cy5saW5hcm8ub3JnCj4gQ2M6IGxpbnV4LXJkbWFA dmdlci5rZXJuZWwub3JnCj4gQ2M6IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gQ2M6 IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGludGVsLmNvbT4KPiAtLS0KPiAgRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL2RtYS1i dWYucnN0IHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdl ZCwgNzAgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZHJpdmVy LWFwaS9kbWEtYnVmLnJzdCBiL0RvY3VtZW50YXRpb24vZHJpdmVyLWFwaS9kbWEtYnVmLnJzdAo+ IGluZGV4IGY4ZjZkZWNkZTM1OS4uMTAwYmZkMjI3MjY1IDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50 YXRpb24vZHJpdmVyLWFwaS9kbWEtYnVmLnJzdAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZHJpdmVy LWFwaS9kbWEtYnVmLnJzdAo+IEBAIC0xNzgsMyArMTc4LDczIEBAIERNQSBGZW5jZSB1QUJJL1N5 bmMgRmlsZQo+ICAuLiBrZXJuZWwtZG9jOjogaW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaAo+ICAg ICA6aW50ZXJuYWw6Cj4KPiArSW5kZWZpbml0ZSBETUEgRmVuY2VzCj4gK35+fn5+fn5+fn5+fn5+ fn5+fn5+Cj4gKwo+ICtBdCB2YXJpb3VzIHRpbWVzICZkbWFfZmVuY2Ugd2l0aCBhbiBpbmRlZmlu aXRlIHRpbWUgdW50aWwgZG1hX2ZlbmNlX3dhaXQoKQo+ICtmaW5pc2hlcyBoYXZlIGJlZW4gcHJv cG9zZWQuIEV4YW1wbGVzIGluY2x1ZGU6Cj4gKwo+ICsqIEZ1dHVyZSBmZW5jZXMsIHVzZWQgaW4g SFdDMSB0byBzaWduYWwgd2hlbiBhIGJ1ZmZlciBpc24ndCB1c2VkIGJ5IHRoZSBkaXNwbGF5Cj4g KyAgYW55IGxvbmdlciwgYW5kIGNyZWF0ZWQgd2l0aCB0aGUgc2NyZWVuIHVwZGF0ZSB0aGF0IG1h a2VzIHRoZSBidWZmZXIgdmlzaWJsZS4KPiArICBUaGUgdGltZSB0aGlzIGZlbmNlIGNvbXBsZXRl cyBpcyBlbnRpcmVseSB1bmRlciB1c2Vyc3BhY2UncyBjb250cm9sLgo+ICsKPiArKiBQcm94eSBm ZW5jZXMsIHByb3Bvc2VkIHRvIGhhbmRsZSAmZHJtX3N5bmNvYmogZm9yIHdoaWNoIHRoZSBmZW5j ZSBoYXMgbm90IHlldAo+ICsgIGJlZW4gc2V0LiBVc2VkIHRvIGFzeW5jaHJvbm91c2x5IGRlbGF5 IGNvbW1hbmQgc3VibWlzc2lvbi4KPiArCj4gKyogVXNlcnNwYWNlIGZlbmNlcyBvciBncHUgZnV0 ZXhlcywgZmluZS1ncmFpbmVkIGxvY2tpbmcgd2l0aGluIGEgY29tbWFuZCBidWZmZXIKPiArICB0 aGF0IHVzZXJzcGFjZSB1c2VzIGZvciBzeW5jaHJvbml6YXRpb24gYWNyb3NzIGVuZ2luZXMgb3Ig d2l0aCB0aGUgQ1BVLCB3aGljaAo+ICsgIGFyZSB0aGVuIGltcG9ydGVkIGFzIGEgRE1BIGZlbmNl IGZvciBpbnRlZ3JhdGlvbiBpbnRvIGV4aXN0aW5nIHdpbnN5cwo+ICsgIHByb3RvY29scy4KPiAr Cj4gKyogTG9uZy1ydW5uaW5nIGNvbXB1dGUgY29tbWFuZCBidWZmZXJzLCB3aGlsZSBzdGlsbCB1 c2luZyB0cmFkaXRpb25hbCBlbmQgb2YKPiArICBiYXRjaCBETUEgZmVuY2VzIGZvciBtZW1vcnkg bWFuYWdlbWVudCBpbnN0ZWFkIG9mIGNvbnRleHQgcHJlZW1wdGlvbiBETUEKPiArICBmZW5jZXMg d2hpY2ggZ2V0IHJlYXR0YWNoZWQgd2hlbiB0aGUgY29tcHV0ZSBqb2IgaXMgcmVzY2hlZHVsZWQu Cj4gKwo+ICtDb21tb24gdG8gYWxsIHRoZXNlIHNjaGVtZXMgaXMgdGhhdCB1c2Vyc3BhY2UgY29u dHJvbHMgdGhlIGRlcGVuZGVuY2llcyBvZiB0aGVzZQo+ICtmZW5jZXMgYW5kIGNvbnRyb2xzIHdo ZW4gdGhleSBmaXJlLiBNaXhpbmcgaW5kZWZpbml0ZSBmZW5jZXMgd2l0aCBub3JtYWwKPiAraW4t a2VybmVsIERNQSBmZW5jZXMgZG9lcyBub3Qgd29yaywgZXZlbiB3aGVuIGEgZmFsbGJhY2sgdGlt ZW91dCBpcyBpbmNsdWRlZCB0bwo+ICtwcm90ZWN0IGFnYWluc3QgbWFsaWNpb3VzIHVzZXJzcGFj ZToKPiArCj4gKyogT25seSB0aGUga2VybmVsIGtub3dzIGFib3V0IGFsbCBETUEgZmVuY2UgZGVw ZW5kZW5jaWVzLCB1c2Vyc3BhY2UgaXMgbm90IGF3YXJlCj4gKyAgb2YgZGVwZW5kZW5jaWVzIGlu amVjdGVkIGR1ZSB0byBtZW1vcnkgbWFuYWdlbWVudCBvciBzY2hlZHVsZXIgZGVjaXNpb25zLgo+ ICsKPiArKiBPbmx5IHVzZXJzcGFjZSBrbm93cyBhYm91dCBhbGwgZGVwZW5kZW5jaWVzIGluIGlu ZGVmaW5pdGUgZmVuY2VzIGFuZCB3aGVuCj4gKyAgZXhhY3RseSB0aGV5IHdpbGwgY29tcGxldGUs IHRoZSBrZXJuZWwgaGFzIG5vIHZpc2liaWxpdHkuCj4gKwo+ICtGdXJ0aGVybW9yZSB0aGUga2Vy bmVsIGhhcyB0byBiZSBhYmxlIHRvIGhvbGQgdXAgdXNlcnNwYWNlIGNvbW1hbmQgc3VibWlzc2lv bgo+ICtmb3IgbWVtb3J5IG1hbmFnZW1lbnQgbmVlZHMsIHdoaWNoIG1lYW5zIHdlIG11c3Qgc3Vw cG9ydCBpbmRlZmluaXRlIGZlbmNlcyBiZWluZwo+ICtkZXBlbmRlbnQgdXBvbiBETUEgZmVuY2Vz LiBJZiB0aGUga2VybmVsIGFsc28gc3VwcG9ydCBpbmRlZmluaXRlIGZlbmNlcyBpbiB0aGUKPiAr a2VybmVsIGxpa2UgYSBETUEgZmVuY2UsIGxpa2UgYW55IG9mIHRoZSBhYm92ZSBwcm9wb3NhbCB3 b3VsZCwgdGhlcmUgaXMgdGhlCj4gK3BvdGVudGlhbCBmb3IgZGVhZGxvY2tzLgo+ICsKPiArLi4g a2VybmVsLXJlbmRlcjo6IERPVAo+ICsgICA6YWx0OiBJbmRlZmluaXRlIEZlbmNpbmcgRGVwZW5k ZW5jeSBDeWNsZQo+ICsgICA6Y2FwdGlvbjogSW5kZWZpbml0ZSBGZW5jaW5nIERlcGVuZGVuY3kg Q3ljbGUKPiArCj4gKyAgIGRpZ3JhcGggIkZlbmNpbmcgQ3ljbGUiIHsKPiArICAgICAgbm9kZSBb c2hhcGU9Ym94IGJnY29sb3I9Z3JleSBzdHlsZT1maWxsZWRdCj4gKyAgICAgIGtlcm5lbCBbbGFi ZWw9Iktlcm5lbCBETUEgRmVuY2VzIl0KPiArICAgICAgdXNlcnNwYWNlIFtsYWJlbD0idXNlcnNw YWNlIGNvbnRyb2xsZWQgZmVuY2VzIl0KPiArICAgICAga2VybmVsIC0+IHVzZXJzcGFjZSBbbGFi ZWw9Im1lbW9yeSBtYW5hZ2VtZW50Il0KPiArICAgICAgdXNlcnNwYWNlIC0+IGtlcm5lbCBbbGFi ZWw9IkZ1dHVyZSBmZW5jZSwgZmVuY2UgcHJveHksIC4uLiJdCj4gKwo+ICsgICAgICB7IHJhbms9 c2FtZTsga2VybmVsIHVzZXJzcGFjZSB9Cj4gKyAgIH0KPiArCj4gK1RoaXMgbWVhbnMgdGhhdCB0 aGUga2VybmVsIG1pZ2h0IGFjY2lkZW50YWxseSBjcmVhdGUgZGVhZGxvY2tzCj4gK3Rocm91Z2gg bWVtb3J5IG1hbmFnZW1lbnQgZGVwZW5kZW5jaWVzIHdoaWNoIHVzZXJzcGFjZSBpcyB1bmF3YXJl IG9mLCB3aGljaAo+ICtyYW5kb21seSBoYW5ncyB3b3JrbG9hZHMgdW50aWwgdGhlIHRpbWVvdXQg a2lja3MgaW4uIFdvcmtsb2Fkcywgd2hpY2ggZnJvbQo+ICt1c2Vyc3BhY2UncyBwZXJzcGVjdGl2 ZSwgZG8gbm90IGNvbnRhaW4gYSBkZWFkbG9jay4gIEluIHN1Y2ggYSBtaXhlZCBmZW5jaW5nCj4g K2FyY2hpdGVjdHVyZSB0aGVyZSBpcyBubyBzaW5nbGUgZW50aXR5IHdpdGgga25vd2xlZGdlIG9m IGFsbCBkZXBlbmRlbmNpZXMuCj4gK1RoZWZvcmUgcHJldmVudGluZyBzdWNoIGRlYWRsb2NrcyBm cm9tIHdpdGhpbiB0aGUga2VybmVsIGlzIG5vdCBwb3NzaWJsZS4KPiArCj4gK1RoZSBvbmx5IHNv bHV0aW9uIHRvIGF2b2lkIGRlcGVuZGVuY2llcyBsb29wcyBpcyBieSBub3QgYWxsb3dpbmcgaW5k ZWZpbml0ZQo+ICtmZW5jZXMgaW4gdGhlIGtlcm5lbC4gVGhpcyBtZWFuczoKPiArCj4gKyogTm8g ZnV0dXJlIGZlbmNlcywgcHJveHkgZmVuY2VzIG9yIHVzZXJzcGFjZSBmZW5jZXMgaW1wb3J0ZWQg YXMgRE1BIGZlbmNlcywKPiArICB3aXRoIG9yIHdpdGhvdXQgYSB0aW1lb3V0Lgo+ICsKPiArKiBO byBETUEgZmVuY2VzIHRoYXQgc2lnbmFsIGVuZCBvZiBiYXRjaGJ1ZmZlciBmb3IgY29tbWFuZCBz dWJtaXNzaW9uIHdoZXJlCj4gKyAgdXNlcnNwYWNlIGlzIGFsbG93ZWQgdG8gdXNlIHVzZXJzcGFj ZSBmZW5jaW5nIG9yIGxvbmcgcnVubmluZyBjb21wdXRlCj4gKyAgd29ya2xvYWRzLiBUaGlzIGFs c28gbWVhbnMgbm8gaW1wbGljaXQgZmVuY2luZyBmb3Igc2hhcmVkIGJ1ZmZlcnMgaW4gdGhlc2UK PiArICBjYXNlcy4KPiAtLQo+IDIuMjcuMAo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeAo=