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=-4.1 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no 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 02087C433E1 for ; Wed, 22 Jul 2020 09:45:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CBA122068F for ; Wed, 22 Jul 2020 09:45:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="b7v0J64o" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730990AbgGVJpp (ORCPT ); Wed, 22 Jul 2020 05:45:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729864AbgGVJpo (ORCPT ); Wed, 22 Jul 2020 05:45:44 -0400 Received: from mail-oi1-x242.google.com (mail-oi1-x242.google.com [IPv6:2607:f8b0:4864:20::242]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2501DC0619DE for ; Wed, 22 Jul 2020 02:45:44 -0700 (PDT) Received: by mail-oi1-x242.google.com with SMTP id k6so1301401oij.11 for ; Wed, 22 Jul 2020 02:45:44 -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=qBIWLU6qcUqEJgyOOjaf3wwRh65k3CpshcWulpGbQ00=; b=b7v0J64ozdmomqKEQ6uZSIlGbo5wk3oIUkS7uMkxRWDmvOEEZpMeELjL9c+CVy85SC gUH8d0MgWe5mXyblHV6yLLD3z8ZPA2kyzVHVTvXOkMvI99kq8CnUvxAOcyjPRGeRVFV6 SlCRuZRdDuXm35855wF3cSNHDHeVNvKd8d8FY= 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=qBIWLU6qcUqEJgyOOjaf3wwRh65k3CpshcWulpGbQ00=; b=DquQNmP6y6+pUirs4d3yCovkyXRYfbgVpdwHHDhXQnlHAYkSnLFjjc9X1mzEPwfA5O Vym9gHpNk2ZK2m6QcazGHOddA2LtKyrS1Y4Z+eD+cIFSGv5L5EpIChote3adikr/O6zp leLV51YVLbRlsH3TVcRrUzJO6LOLILotlmKkX4mgZBnG5zcrHC6GRF+24uxd54N4uIGV puumCDBiQUlCcYThE6QNAqZRjfmSUuHcBmMR+HKWNwNGGnNHxaeMSSXNuMXwki4+SICj 2gNAAh7rNATUUHIV+G1lRDwOy7hrjtp0Z2hIN0CRwnM7reLfbzBZIuyyDcC2hkn8Sag0 vc2w== X-Gm-Message-State: AOAM53144Jr1gRvSsVDHiB+d83QUc4PNhkbzj8jDU0UUpALdT3+sf1/6 gVM4sp1c1LVQHOFNwmMCD3kCpbJscHNaiL2PX6TE9Q== X-Google-Smtp-Source: ABdhPJy1reMqVN9iXBAWZWyEiuKUCCqdgZLvt5/qG9Vsgmqwsqrfha82OrYO3x8LcEo6S/gxrnVxRoEeNL4w2jUzrW8= X-Received: by 2002:a05:6808:88:: with SMTP id s8mr6055422oic.101.1595411143320; Wed, 22 Jul 2020 02:45:43 -0700 (PDT) MIME-Version: 1.0 References: <20200707201229.472834-4-daniel.vetter@ffwll.ch> <20200709123339.547390-1-daniel.vetter@ffwll.ch> <93b673b7-bb48-96eb-dc2c-bd4f9304000e@shipmail.org> <20200721074157.GB3278063@phenom.ffwll.local> <3603bb71-318b-eb53-0532-9daab62dce86@amd.com> <57a5eb9d-b74f-8ce4-7199-94e911d9b68b@shipmail.org> <805c49b7-f0b3-45dc-5fe3-b352f0971527@shipmail.org> <92393d26-d863-aac6-6d27-53cad6854e13@shipmail.org> In-Reply-To: <92393d26-d863-aac6-6d27-53cad6854e13@shipmail.org> From: Daniel Vetter Date: Wed, 22 Jul 2020 11:45:32 +0200 Message-ID: Subject: Re: [Linaro-mm-sig] [PATCH 1/2] dma-buf.rst: Document why indefinite fences are a bad idea To: =?UTF-8?Q?Thomas_Hellstr=C3=B6m_=28Intel=29?= Cc: Dave Airlie , =?UTF-8?Q?Christian_K=C3=B6nig?= , Daniel Stone , linux-rdma , Intel Graphics Development , Maarten Lankhorst , DRI Development , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Steve Pronovost , amd-gfx mailing list , Jason Ekstrand , Jesse Natalie , Daniel Vetter , Thomas Hellstrom , Mika Kuoppala , Felix Kuehling , Linux Media Mailing List 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 On Wed, Jul 22, 2020 at 10:05 AM Thomas Hellstr=C3=B6m (Intel) wrote: > > > On 2020-07-22 09:11, Daniel Vetter wrote: > > On Wed, Jul 22, 2020 at 8:45 AM Thomas Hellstr=C3=B6m (Intel) > > wrote: > >> > >> On 2020-07-22 00:45, Dave Airlie wrote: > >>> On Tue, 21 Jul 2020 at 18:47, Thomas Hellstr=C3=B6m (Intel) > >>> wrote: > >>>> On 7/21/20 9:45 AM, Christian K=C3=B6nig wrote: > >>>>> Am 21.07.20 um 09:41 schrieb Daniel Vetter: > >>>>>> On Mon, Jul 20, 2020 at 01:15:17PM +0200, Thomas Hellstr=C3=B6m (I= ntel) > >>>>>> wrote: > >>>>>>> Hi, > >>>>>>> > >>>>>>> On 7/9/20 2:33 PM, 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 expli= cit in > >>>>>>>> flat out mandating the amdkfd eviction fences for long running c= ompute > >>>>>>>> workloads or workloads where userspace fencing is allowed. > >>>>>>> Although (in my humble opinion) it might be possible to completel= y > >>>>>>> untangle > >>>>>>> kernel-introduced fences for resource management and dma-fences u= sed > >>>>>>> for > >>>>>>> completion- and dependency tracking and lift a lot of restriction= s > >>>>>>> for the > >>>>>>> dma-fences, including prohibiting infinite ones, I think this mak= es > >>>>>>> sense > >>>>>>> describing the current state. > >>>>>> Yeah I think a future patch needs to type up how we want to make t= hat > >>>>>> happen (for some cross driver consistency) and what needs to be > >>>>>> considered. Some of the necessary parts are already there (with li= ke the > >>>>>> preemption fences amdkfd has as an example), but I think some clea= r docs > >>>>>> on what's required from both hw, drivers and userspace would be re= ally > >>>>>> good. > >>>>> I'm currently writing that up, but probably still need a few days f= or > >>>>> this. > >>>> Great! I put down some (very) initial thoughts a couple of weeks ago > >>>> building on eviction fences for various hardware complexity levels h= ere: > >>>> > >>>> https://gitlab.freedesktop.org/thomash/docs/-/blob/master/Untangling= %20dma-fence%20and%20memory%20allocation.odt > >>> We are seeing HW that has recoverable GPU page faults but only for > >>> compute tasks, and scheduler without semaphores hw for graphics. > >>> > >>> So a single driver may have to expose both models to userspace and > >>> also introduces the problem of how to interoperate between the two > >>> models on one card. > >>> > >>> Dave. > >> Hmm, yes to begin with it's important to note that this is not a > >> replacement for new programming models or APIs, This is something that > >> takes place internally in drivers to mitigate many of the restrictions > >> that are currently imposed on dma-fence and documented in this and > >> previous series. It's basically the driver-private narrow completions > >> Jason suggested in the lockdep patches discussions implemented the sam= e > >> way as eviction-fences. > >> > >> The memory fence API would be local to helpers and middle-layers like > >> TTM, and the corresponding drivers. The only cross-driver-like > >> visibility would be that the dma-buf move_notify() callback would not = be > >> allowed to wait on dma-fences or something that depends on a dma-fence= . > > Because we can't preempt (on some engines at least) we already have > > the requirement that cross driver buffer management can get stuck on a > > dma-fence. Not even taking into account the horrors we do with > > userptr, which are cross driver no matter what. Limiting move_notify > > to memory fences only doesn't work, since the pte clearing might need > > to wait for a dma_fence first. Hence this becomes a full end-of-batch > > fence, not just a limited kernel-internal memory fence. > > For non-preemptible hardware the memory fence typically *is* the > end-of-batch fence. (Unless, as documented, there is a scheduler > consuming sync-file dependencies in which case the memory fence wait > needs to be able to break out of that). The key thing is not that we can > break out of execution, but that we can break out of dependencies, since > when we're executing all dependecies (modulo semaphores) are already > fulfilled. That's what's eliminating the deadlocks. > > > That's kinda why I think only reasonable option is to toss in the > > towel and declare dma-fence to be the memory fence (and suck up all > > the consequences of that decision as uapi, which is kinda where we > > are), and construct something new&entirely free-wheeling for userspace > > fencing. But only for engines that allow enough preempt/gpu page > > faulting to make that possible. Free wheeling userspace fences/gpu > > semaphores or whatever you want to call them (on windows I think it's > > monitored fence) only work if you can preempt to decouple the memory > > fences from your gpu command execution. > > > > There's the in-between step of just decoupling the batchbuffer > > submission prep for hw without any preempt (but a scheduler), but that > > seems kinda pointless. Modern execbuf should be O(1) fastpath, with > > all the allocation/mapping work pulled out ahead. vk exposes that > > model directly to clients, GL drivers could use it internally too, so > > I see zero value in spending lots of time engineering very tricky > > kernel code just for old userspace. Much more reasonable to do that in > > userspace, where we have real debuggers and no panics about security > > bugs (or well, a lot less, webgl is still a thing, but at least > > browsers realized you need to container that completely). > > Sure, it's definitely a big chunk of work. I think the big win would be > allowing memory allocation in dma-fence critical sections. But I > completely buy the above argument. I just wanted to point out that many > of the dma-fence restrictions are IMHO fixable, should we need to do > that for whatever reason. I'm still not sure that's possible, without preemption at least. We have 4 edges: - Kernel has internal depencies among memory fences. We want that to allow (mild) amounts of overcommit, since that simplifies live so much. - Memory fences can block gpu ctx execution (by nature of the memory simply not being there yet due to our overcommit) - gpu ctx have (if we allow this) userspace controlled semaphore dependencies. Of course userspace is expected to not create deadlocks, but that's only assuming the kernel doesn't inject additional dependencies. Compute folks really want that. - gpu ctx can hold up memory allocations if all we have is end-of-batch fences. And end-of-batch fences are all we have without preempt, plus if we want backwards compat with the entire current winsys/compositor ecosystem we need them, which allows us to inject stuff dependent upon them pretty much anywhere. Fundamentally that's not fixable without throwing one of the edges (and the corresponding feature that enables) out, since no entity has full visibility into what's going on. E.g. forcing userspace to tell the kernel about all semaphores just brings up back to the drm_timeline_syncobj design we have merged right now. And that's imo no better. That's kinda why I'm not seeing much benefits in a half-way state: Tons of work, and still not what userspace wants. And for the full deal that userspace wants we might as well not change anything with dma-fences. For that we need a) ctx preempt and b) new entirely decoupled fences that never feed back into a memory fences and c) are controlled entirely by userspace. And c) is the really important thing people want us to provide. And once we're ok with dma_fence =3D=3D memory fences, then enforcing the strict and painful memory allocation limitations is actually what we want. Cheers, Daniel --=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=-3.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no 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 A5993C433E3 for ; Wed, 22 Jul 2020 09:45:45 +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 4CD492068F for ; Wed, 22 Jul 2020 09:45:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="b7v0J64o" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4CD492068F 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 9EEB089958; Wed, 22 Jul 2020 09:45:44 +0000 (UTC) Received: from mail-oi1-x242.google.com (mail-oi1-x242.google.com [IPv6:2607:f8b0:4864:20::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 29C3789958 for ; Wed, 22 Jul 2020 09:45:44 +0000 (UTC) Received: by mail-oi1-x242.google.com with SMTP id l63so1294940oih.13 for ; Wed, 22 Jul 2020 02:45:44 -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=qBIWLU6qcUqEJgyOOjaf3wwRh65k3CpshcWulpGbQ00=; b=b7v0J64ozdmomqKEQ6uZSIlGbo5wk3oIUkS7uMkxRWDmvOEEZpMeELjL9c+CVy85SC gUH8d0MgWe5mXyblHV6yLLD3z8ZPA2kyzVHVTvXOkMvI99kq8CnUvxAOcyjPRGeRVFV6 SlCRuZRdDuXm35855wF3cSNHDHeVNvKd8d8FY= 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=qBIWLU6qcUqEJgyOOjaf3wwRh65k3CpshcWulpGbQ00=; b=YNmDKf6GSYaO9Ql9qZd98xsSKXtXTC7o1a7PjFfV6M5PEkksn03eu1OQdHxJvPtAgq zoSQcFUfLX0uUZW3Y2Y6F6pKXiPlZ7WFr4ERJWw53fcCa837+zzKc3I7gbMwqBvP1FMl 1SAsog8pBJIp54frrJLYCtSR+gY/woa8v1QTAkaWxTCHQUqhN3zNWRdIGBG7ssscE0q6 0ev/79pJt4VpUN/0NfwgQP4DUeroBxJLT/ktuhdr5VoQiRMZidhIDnF0kntfvp2+T3AN ZPsEZSXZ6oFlil3f5s63KwIKxye39ZT4CVJ0qR5grVKrHaxONw9eHMKGzlGnUumtqGN8 xq0A== X-Gm-Message-State: AOAM531JjJ+OgAGke8X7QPeBCcCFf3Seqrde/m39qoE+D5kKLUalJ+UF FZenDMlFCK+dhieWEhg5M0m+M07pc9swKeh7+gSnYg== X-Google-Smtp-Source: ABdhPJy1reMqVN9iXBAWZWyEiuKUCCqdgZLvt5/qG9Vsgmqwsqrfha82OrYO3x8LcEo6S/gxrnVxRoEeNL4w2jUzrW8= X-Received: by 2002:a05:6808:88:: with SMTP id s8mr6055422oic.101.1595411143320; Wed, 22 Jul 2020 02:45:43 -0700 (PDT) MIME-Version: 1.0 References: <20200707201229.472834-4-daniel.vetter@ffwll.ch> <20200709123339.547390-1-daniel.vetter@ffwll.ch> <93b673b7-bb48-96eb-dc2c-bd4f9304000e@shipmail.org> <20200721074157.GB3278063@phenom.ffwll.local> <3603bb71-318b-eb53-0532-9daab62dce86@amd.com> <57a5eb9d-b74f-8ce4-7199-94e911d9b68b@shipmail.org> <805c49b7-f0b3-45dc-5fe3-b352f0971527@shipmail.org> <92393d26-d863-aac6-6d27-53cad6854e13@shipmail.org> In-Reply-To: <92393d26-d863-aac6-6d27-53cad6854e13@shipmail.org> From: Daniel Vetter Date: Wed, 22 Jul 2020 11:45:32 +0200 Message-ID: Subject: Re: [Linaro-mm-sig] [PATCH 1/2] dma-buf.rst: Document why indefinite fences are a bad idea To: =?UTF-8?Q?Thomas_Hellstr=C3=B6m_=28Intel=29?= 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: Felix Kuehling , Daniel Stone , linux-rdma , Intel Graphics Development , DRI Development , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Steve Pronovost , amd-gfx mailing list , Jason Ekstrand , Jesse Natalie , Daniel Vetter , Thomas Hellstrom , Linux Media Mailing List , =?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" T24gV2VkLCBKdWwgMjIsIDIwMjAgYXQgMTA6MDUgQU0gVGhvbWFzIEhlbGxzdHLDtm0gKEludGVs KQo8dGhvbWFzX29zQHNoaXBtYWlsLm9yZz4gd3JvdGU6Cj4KPgo+IE9uIDIwMjAtMDctMjIgMDk6 MTEsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBXZWQsIEp1bCAyMiwgMjAyMCBhdCA4OjQ1 IEFNIFRob21hcyBIZWxsc3Ryw7ZtIChJbnRlbCkKPiA+IDx0aG9tYXNfb3NAc2hpcG1haWwub3Jn PiB3cm90ZToKPiA+Pgo+ID4+IE9uIDIwMjAtMDctMjIgMDA6NDUsIERhdmUgQWlybGllIHdyb3Rl Ogo+ID4+PiBPbiBUdWUsIDIxIEp1bCAyMDIwIGF0IDE4OjQ3LCBUaG9tYXMgSGVsbHN0csO2bSAo SW50ZWwpCj4gPj4+IDx0aG9tYXNfb3NAc2hpcG1haWwub3JnPiB3cm90ZToKPiA+Pj4+IE9uIDcv MjEvMjAgOTo0NSBBTSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiA+Pj4+PiBBbSAyMS4wNy4y MCB1bSAwOTo0MSBzY2hyaWViIERhbmllbCBWZXR0ZXI6Cj4gPj4+Pj4+IE9uIE1vbiwgSnVsIDIw LCAyMDIwIGF0IDAxOjE1OjE3UE0gKzAyMDAsIFRob21hcyBIZWxsc3Ryw7ZtIChJbnRlbCkKPiA+ Pj4+Pj4gd3JvdGU6Cj4gPj4+Pj4+PiBIaSwKPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBPbiA3LzkvMjAg MjozMyBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+Pj4+Pj4+PiBDb21lcyB1cCBldmVyeSBm ZXcgeWVhcnMsIGdldHMgc29tZXdoYXQgdGVkaW91cyB0byBkaXNjdXNzLCBsZXQncwo+ID4+Pj4+ Pj4+IHdyaXRlIHRoaXMgZG93biBvbmNlIGFuZCBmb3IgYWxsLgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+ Pj4gV2hhdCBJJ20gbm90IHN1cmUgYWJvdXQgaXMgd2hldGhlciB0aGUgdGV4dCBzaG91bGQgYmUg bW9yZSBleHBsaWNpdCBpbgo+ID4+Pj4+Pj4+IGZsYXQgb3V0IG1hbmRhdGluZyB0aGUgYW1ka2Zk IGV2aWN0aW9uIGZlbmNlcyBmb3IgbG9uZyBydW5uaW5nIGNvbXB1dGUKPiA+Pj4+Pj4+PiB3b3Jr bG9hZHMgb3Igd29ya2xvYWRzIHdoZXJlIHVzZXJzcGFjZSBmZW5jaW5nIGlzIGFsbG93ZWQuCj4g Pj4+Pj4+PiBBbHRob3VnaCAoaW4gbXkgaHVtYmxlIG9waW5pb24pIGl0IG1pZ2h0IGJlIHBvc3Np YmxlIHRvIGNvbXBsZXRlbHkKPiA+Pj4+Pj4+IHVudGFuZ2xlCj4gPj4+Pj4+PiBrZXJuZWwtaW50 cm9kdWNlZCBmZW5jZXMgZm9yIHJlc291cmNlIG1hbmFnZW1lbnQgYW5kIGRtYS1mZW5jZXMgdXNl ZAo+ID4+Pj4+Pj4gZm9yCj4gPj4+Pj4+PiBjb21wbGV0aW9uLSBhbmQgZGVwZW5kZW5jeSB0cmFj a2luZyBhbmQgbGlmdCBhIGxvdCBvZiByZXN0cmljdGlvbnMKPiA+Pj4+Pj4+IGZvciB0aGUKPiA+ Pj4+Pj4+IGRtYS1mZW5jZXMsIGluY2x1ZGluZyBwcm9oaWJpdGluZyBpbmZpbml0ZSBvbmVzLCBJ IHRoaW5rIHRoaXMgbWFrZXMKPiA+Pj4+Pj4+IHNlbnNlCj4gPj4+Pj4+PiBkZXNjcmliaW5nIHRo ZSBjdXJyZW50IHN0YXRlLgo+ID4+Pj4+PiBZZWFoIEkgdGhpbmsgYSBmdXR1cmUgcGF0Y2ggbmVl ZHMgdG8gdHlwZSB1cCBob3cgd2Ugd2FudCB0byBtYWtlIHRoYXQKPiA+Pj4+Pj4gaGFwcGVuIChm b3Igc29tZSBjcm9zcyBkcml2ZXIgY29uc2lzdGVuY3kpIGFuZCB3aGF0IG5lZWRzIHRvIGJlCj4g Pj4+Pj4+IGNvbnNpZGVyZWQuIFNvbWUgb2YgdGhlIG5lY2Vzc2FyeSBwYXJ0cyBhcmUgYWxyZWFk eSB0aGVyZSAod2l0aCBsaWtlIHRoZQo+ID4+Pj4+PiBwcmVlbXB0aW9uIGZlbmNlcyBhbWRrZmQg aGFzIGFzIGFuIGV4YW1wbGUpLCBidXQgSSB0aGluayBzb21lIGNsZWFyIGRvY3MKPiA+Pj4+Pj4g b24gd2hhdCdzIHJlcXVpcmVkIGZyb20gYm90aCBodywgZHJpdmVycyBhbmQgdXNlcnNwYWNlIHdv dWxkIGJlIHJlYWxseQo+ID4+Pj4+PiBnb29kLgo+ID4+Pj4+IEknbSBjdXJyZW50bHkgd3JpdGlu ZyB0aGF0IHVwLCBidXQgcHJvYmFibHkgc3RpbGwgbmVlZCBhIGZldyBkYXlzIGZvcgo+ID4+Pj4+ IHRoaXMuCj4gPj4+PiBHcmVhdCEgSSBwdXQgZG93biBzb21lICh2ZXJ5KSBpbml0aWFsIHRob3Vn aHRzIGEgY291cGxlIG9mIHdlZWtzIGFnbwo+ID4+Pj4gYnVpbGRpbmcgb24gZXZpY3Rpb24gZmVu Y2VzIGZvciB2YXJpb3VzIGhhcmR3YXJlIGNvbXBsZXhpdHkgbGV2ZWxzIGhlcmU6Cj4gPj4+Pgo+ ID4+Pj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3Rob21hc2gvZG9jcy8tL2Jsb2Iv bWFzdGVyL1VudGFuZ2xpbmclMjBkbWEtZmVuY2UlMjBhbmQlMjBtZW1vcnklMjBhbGxvY2F0aW9u Lm9kdAo+ID4+PiBXZSBhcmUgc2VlaW5nIEhXIHRoYXQgaGFzIHJlY292ZXJhYmxlIEdQVSBwYWdl IGZhdWx0cyBidXQgb25seSBmb3IKPiA+Pj4gY29tcHV0ZSB0YXNrcywgYW5kIHNjaGVkdWxlciB3 aXRob3V0IHNlbWFwaG9yZXMgaHcgZm9yIGdyYXBoaWNzLgo+ID4+Pgo+ID4+PiBTbyBhIHNpbmds ZSBkcml2ZXIgbWF5IGhhdmUgdG8gZXhwb3NlIGJvdGggbW9kZWxzIHRvIHVzZXJzcGFjZSBhbmQK PiA+Pj4gYWxzbyBpbnRyb2R1Y2VzIHRoZSBwcm9ibGVtIG9mIGhvdyB0byBpbnRlcm9wZXJhdGUg YmV0d2VlbiB0aGUgdHdvCj4gPj4+IG1vZGVscyBvbiBvbmUgY2FyZC4KPiA+Pj4KPiA+Pj4gRGF2 ZS4KPiA+PiBIbW0sIHllcyB0byBiZWdpbiB3aXRoIGl0J3MgaW1wb3J0YW50IHRvIG5vdGUgdGhh dCB0aGlzIGlzIG5vdCBhCj4gPj4gcmVwbGFjZW1lbnQgZm9yIG5ldyBwcm9ncmFtbWluZyBtb2Rl bHMgb3IgQVBJcywgVGhpcyBpcyBzb21ldGhpbmcgdGhhdAo+ID4+IHRha2VzIHBsYWNlIGludGVy bmFsbHkgaW4gZHJpdmVycyB0byBtaXRpZ2F0ZSBtYW55IG9mIHRoZSByZXN0cmljdGlvbnMKPiA+ PiB0aGF0IGFyZSBjdXJyZW50bHkgaW1wb3NlZCBvbiBkbWEtZmVuY2UgYW5kIGRvY3VtZW50ZWQg aW4gdGhpcyBhbmQKPiA+PiBwcmV2aW91cyBzZXJpZXMuIEl0J3MgYmFzaWNhbGx5IHRoZSBkcml2 ZXItcHJpdmF0ZSBuYXJyb3cgY29tcGxldGlvbnMKPiA+PiBKYXNvbiBzdWdnZXN0ZWQgaW4gdGhl IGxvY2tkZXAgcGF0Y2hlcyBkaXNjdXNzaW9ucyBpbXBsZW1lbnRlZCB0aGUgc2FtZQo+ID4+IHdh eSBhcyBldmljdGlvbi1mZW5jZXMuCj4gPj4KPiA+PiBUaGUgbWVtb3J5IGZlbmNlIEFQSSB3b3Vs ZCBiZSBsb2NhbCB0byBoZWxwZXJzIGFuZCBtaWRkbGUtbGF5ZXJzIGxpa2UKPiA+PiBUVE0sIGFu ZCB0aGUgY29ycmVzcG9uZGluZyBkcml2ZXJzLiAgVGhlIG9ubHkgY3Jvc3MtZHJpdmVyLWxpa2UK PiA+PiB2aXNpYmlsaXR5IHdvdWxkIGJlIHRoYXQgdGhlIGRtYS1idWYgbW92ZV9ub3RpZnkoKSBj YWxsYmFjayB3b3VsZCBub3QgYmUKPiA+PiBhbGxvd2VkIHRvIHdhaXQgb24gZG1hLWZlbmNlcyBv ciBzb21ldGhpbmcgdGhhdCBkZXBlbmRzIG9uIGEgZG1hLWZlbmNlLgo+ID4gQmVjYXVzZSB3ZSBj YW4ndCBwcmVlbXB0IChvbiBzb21lIGVuZ2luZXMgYXQgbGVhc3QpIHdlIGFscmVhZHkgaGF2ZQo+ ID4gdGhlIHJlcXVpcmVtZW50IHRoYXQgY3Jvc3MgZHJpdmVyIGJ1ZmZlciBtYW5hZ2VtZW50IGNh biBnZXQgc3R1Y2sgb24gYQo+ID4gZG1hLWZlbmNlLiBOb3QgZXZlbiB0YWtpbmcgaW50byBhY2Nv dW50IHRoZSBob3Jyb3JzIHdlIGRvIHdpdGgKPiA+IHVzZXJwdHIsIHdoaWNoIGFyZSBjcm9zcyBk cml2ZXIgbm8gbWF0dGVyIHdoYXQuIExpbWl0aW5nIG1vdmVfbm90aWZ5Cj4gPiB0byBtZW1vcnkg ZmVuY2VzIG9ubHkgZG9lc24ndCB3b3JrLCBzaW5jZSB0aGUgcHRlIGNsZWFyaW5nIG1pZ2h0IG5l ZWQKPiA+IHRvIHdhaXQgZm9yIGEgZG1hX2ZlbmNlIGZpcnN0LiBIZW5jZSB0aGlzIGJlY29tZXMg YSBmdWxsIGVuZC1vZi1iYXRjaAo+ID4gZmVuY2UsIG5vdCBqdXN0IGEgbGltaXRlZCBrZXJuZWwt aW50ZXJuYWwgbWVtb3J5IGZlbmNlLgo+Cj4gRm9yIG5vbi1wcmVlbXB0aWJsZSBoYXJkd2FyZSB0 aGUgbWVtb3J5IGZlbmNlIHR5cGljYWxseSAqaXMqIHRoZQo+IGVuZC1vZi1iYXRjaCBmZW5jZS4g KFVubGVzcywgYXMgZG9jdW1lbnRlZCwgdGhlcmUgaXMgYSBzY2hlZHVsZXIKPiBjb25zdW1pbmcg c3luYy1maWxlIGRlcGVuZGVuY2llcyBpbiB3aGljaCBjYXNlIHRoZSBtZW1vcnkgZmVuY2Ugd2Fp dAo+IG5lZWRzIHRvIGJlIGFibGUgdG8gYnJlYWsgb3V0IG9mIHRoYXQpLiBUaGUga2V5IHRoaW5n IGlzIG5vdCB0aGF0IHdlIGNhbgo+IGJyZWFrIG91dCBvZiBleGVjdXRpb24sIGJ1dCB0aGF0IHdl IGNhbiBicmVhayBvdXQgb2YgZGVwZW5kZW5jaWVzLCBzaW5jZQo+IHdoZW4gd2UncmUgZXhlY3V0 aW5nIGFsbCBkZXBlbmRlY2llcyAobW9kdWxvIHNlbWFwaG9yZXMpIGFyZSBhbHJlYWR5Cj4gZnVs ZmlsbGVkLiBUaGF0J3Mgd2hhdCdzIGVsaW1pbmF0aW5nIHRoZSBkZWFkbG9ja3MuCj4KPiA+IFRo YXQncyBraW5kYSB3aHkgSSB0aGluayBvbmx5IHJlYXNvbmFibGUgb3B0aW9uIGlzIHRvIHRvc3Mg aW4gdGhlCj4gPiB0b3dlbCBhbmQgZGVjbGFyZSBkbWEtZmVuY2UgdG8gYmUgdGhlIG1lbW9yeSBm ZW5jZSAoYW5kIHN1Y2sgdXAgYWxsCj4gPiB0aGUgY29uc2VxdWVuY2VzIG9mIHRoYXQgZGVjaXNp b24gYXMgdWFwaSwgd2hpY2ggaXMga2luZGEgd2hlcmUgd2UKPiA+IGFyZSksIGFuZCBjb25zdHJ1 Y3Qgc29tZXRoaW5nIG5ldyZlbnRpcmVseSBmcmVlLXdoZWVsaW5nIGZvciB1c2Vyc3BhY2UKPiA+ IGZlbmNpbmcuIEJ1dCBvbmx5IGZvciBlbmdpbmVzIHRoYXQgYWxsb3cgZW5vdWdoIHByZWVtcHQv Z3B1IHBhZ2UKPiA+IGZhdWx0aW5nIHRvIG1ha2UgdGhhdCBwb3NzaWJsZS4gRnJlZSB3aGVlbGlu ZyB1c2Vyc3BhY2UgZmVuY2VzL2dwdQo+ID4gc2VtYXBob3JlcyBvciB3aGF0ZXZlciB5b3Ugd2Fu dCB0byBjYWxsIHRoZW0gKG9uIHdpbmRvd3MgSSB0aGluayBpdCdzCj4gPiBtb25pdG9yZWQgZmVu Y2UpIG9ubHkgd29yayBpZiB5b3UgY2FuIHByZWVtcHQgdG8gZGVjb3VwbGUgdGhlIG1lbW9yeQo+ ID4gZmVuY2VzIGZyb20geW91ciBncHUgY29tbWFuZCBleGVjdXRpb24uCj4gPgo+ID4gVGhlcmUn cyB0aGUgaW4tYmV0d2VlbiBzdGVwIG9mIGp1c3QgZGVjb3VwbGluZyB0aGUgYmF0Y2hidWZmZXIK PiA+IHN1Ym1pc3Npb24gcHJlcCBmb3IgaHcgd2l0aG91dCBhbnkgcHJlZW1wdCAoYnV0IGEgc2No ZWR1bGVyKSwgYnV0IHRoYXQKPiA+IHNlZW1zIGtpbmRhIHBvaW50bGVzcy4gTW9kZXJuIGV4ZWNi dWYgc2hvdWxkIGJlIE8oMSkgZmFzdHBhdGgsIHdpdGgKPiA+IGFsbCB0aGUgYWxsb2NhdGlvbi9t YXBwaW5nIHdvcmsgcHVsbGVkIG91dCBhaGVhZC4gdmsgZXhwb3NlcyB0aGF0Cj4gPiBtb2RlbCBk aXJlY3RseSB0byBjbGllbnRzLCBHTCBkcml2ZXJzIGNvdWxkIHVzZSBpdCBpbnRlcm5hbGx5IHRv bywgc28KPiA+IEkgc2VlIHplcm8gdmFsdWUgaW4gc3BlbmRpbmcgbG90cyBvZiB0aW1lIGVuZ2lu ZWVyaW5nIHZlcnkgdHJpY2t5Cj4gPiBrZXJuZWwgY29kZSBqdXN0IGZvciBvbGQgdXNlcnNwYWNl LiBNdWNoIG1vcmUgcmVhc29uYWJsZSB0byBkbyB0aGF0IGluCj4gPiB1c2Vyc3BhY2UsIHdoZXJl IHdlIGhhdmUgcmVhbCBkZWJ1Z2dlcnMgYW5kIG5vIHBhbmljcyBhYm91dCBzZWN1cml0eQo+ID4g YnVncyAob3Igd2VsbCwgYSBsb3QgbGVzcywgd2ViZ2wgaXMgc3RpbGwgYSB0aGluZywgYnV0IGF0 IGxlYXN0Cj4gPiBicm93c2VycyByZWFsaXplZCB5b3UgbmVlZCB0byBjb250YWluZXIgdGhhdCBj b21wbGV0ZWx5KS4KPgo+IFN1cmUsIGl0J3MgZGVmaW5pdGVseSBhIGJpZyBjaHVuayBvZiB3b3Jr LiBJIHRoaW5rIHRoZSBiaWcgd2luIHdvdWxkIGJlCj4gYWxsb3dpbmcgbWVtb3J5IGFsbG9jYXRp b24gaW4gZG1hLWZlbmNlIGNyaXRpY2FsIHNlY3Rpb25zLiBCdXQgSQo+IGNvbXBsZXRlbHkgYnV5 IHRoZSBhYm92ZSBhcmd1bWVudC4gSSBqdXN0IHdhbnRlZCB0byBwb2ludCBvdXQgdGhhdCBtYW55 Cj4gb2YgdGhlIGRtYS1mZW5jZSByZXN0cmljdGlvbnMgYXJlIElNSE8gZml4YWJsZSwgc2hvdWxk IHdlIG5lZWQgdG8gZG8KPiB0aGF0IGZvciB3aGF0ZXZlciByZWFzb24uCgpJJ20gc3RpbGwgbm90 IHN1cmUgdGhhdCdzIHBvc3NpYmxlLCB3aXRob3V0IHByZWVtcHRpb24gYXQgbGVhc3QuIFdlCmhh dmUgNCBlZGdlczoKLSBLZXJuZWwgaGFzIGludGVybmFsIGRlcGVuY2llcyBhbW9uZyBtZW1vcnkg ZmVuY2VzLiBXZSB3YW50IHRoYXQgdG8KYWxsb3cgKG1pbGQpIGFtb3VudHMgb2Ygb3ZlcmNvbW1p dCwgc2luY2UgdGhhdCBzaW1wbGlmaWVzIGxpdmUgc28KbXVjaC4KLSBNZW1vcnkgZmVuY2VzIGNh biBibG9jayBncHUgY3R4IGV4ZWN1dGlvbiAoYnkgbmF0dXJlIG9mIHRoZSBtZW1vcnkKc2ltcGx5 IG5vdCBiZWluZyB0aGVyZSB5ZXQgZHVlIHRvIG91ciBvdmVyY29tbWl0KQotIGdwdSBjdHggaGF2 ZSAoaWYgd2UgYWxsb3cgdGhpcykgdXNlcnNwYWNlIGNvbnRyb2xsZWQgc2VtYXBob3JlCmRlcGVu ZGVuY2llcy4gT2YgY291cnNlIHVzZXJzcGFjZSBpcyBleHBlY3RlZCB0byBub3QgY3JlYXRlIGRl YWRsb2NrcywKYnV0IHRoYXQncyBvbmx5IGFzc3VtaW5nIHRoZSBrZXJuZWwgZG9lc24ndCBpbmpl Y3QgYWRkaXRpb25hbApkZXBlbmRlbmNpZXMuIENvbXB1dGUgZm9sa3MgcmVhbGx5IHdhbnQgdGhh dC4KLSBncHUgY3R4IGNhbiBob2xkIHVwIG1lbW9yeSBhbGxvY2F0aW9ucyBpZiBhbGwgd2UgaGF2 ZSBpcwplbmQtb2YtYmF0Y2ggZmVuY2VzLiBBbmQgZW5kLW9mLWJhdGNoIGZlbmNlcyBhcmUgYWxs IHdlIGhhdmUgd2l0aG91dApwcmVlbXB0LCBwbHVzIGlmIHdlIHdhbnQgYmFja3dhcmRzIGNvbXBh dCB3aXRoIHRoZSBlbnRpcmUgY3VycmVudAp3aW5zeXMvY29tcG9zaXRvciBlY29zeXN0ZW0gd2Ug bmVlZCB0aGVtLCB3aGljaCBhbGxvd3MgdXMgdG8gaW5qZWN0CnN0dWZmIGRlcGVuZGVudCB1cG9u IHRoZW0gcHJldHR5IG11Y2ggYW55d2hlcmUuCgpGdW5kYW1lbnRhbGx5IHRoYXQncyBub3QgZml4 YWJsZSB3aXRob3V0IHRocm93aW5nIG9uZSBvZiB0aGUgZWRnZXMKKGFuZCB0aGUgY29ycmVzcG9u ZGluZyBmZWF0dXJlIHRoYXQgZW5hYmxlcykgb3V0LCBzaW5jZSBubyBlbnRpdHkgaGFzCmZ1bGwg dmlzaWJpbGl0eSBpbnRvIHdoYXQncyBnb2luZyBvbi4gRS5nLiBmb3JjaW5nIHVzZXJzcGFjZSB0 byB0ZWxsCnRoZSBrZXJuZWwgYWJvdXQgYWxsIHNlbWFwaG9yZXMganVzdCBicmluZ3MgdXAgYmFj ayB0byB0aGUKZHJtX3RpbWVsaW5lX3N5bmNvYmogZGVzaWduIHdlIGhhdmUgbWVyZ2VkIHJpZ2h0 IG5vdy4gQW5kIHRoYXQncyBpbW8Kbm8gYmV0dGVyLgoKVGhhdCdzIGtpbmRhIHdoeSBJJ20gbm90 IHNlZWluZyBtdWNoIGJlbmVmaXRzIGluIGEgaGFsZi13YXkgc3RhdGU6ClRvbnMgb2Ygd29yaywg YW5kIHN0aWxsIG5vdCB3aGF0IHVzZXJzcGFjZSB3YW50cy4gQW5kIGZvciB0aGUgZnVsbApkZWFs IHRoYXQgdXNlcnNwYWNlIHdhbnRzIHdlIG1pZ2h0IGFzIHdlbGwgbm90IGNoYW5nZSBhbnl0aGlu ZyB3aXRoCmRtYS1mZW5jZXMuIEZvciB0aGF0IHdlIG5lZWQgYSkgY3R4IHByZWVtcHQgYW5kIGIp IG5ldyBlbnRpcmVseQpkZWNvdXBsZWQgZmVuY2VzIHRoYXQgbmV2ZXIgZmVlZCBiYWNrIGludG8g YSBtZW1vcnkgZmVuY2VzIGFuZCBjKSBhcmUKY29udHJvbGxlZCBlbnRpcmVseSBieSB1c2Vyc3Bh Y2UuIEFuZCBjKSBpcyB0aGUgcmVhbGx5IGltcG9ydGFudCB0aGluZwpwZW9wbGUgd2FudCB1cyB0 byBwcm92aWRlLgoKQW5kIG9uY2Ugd2UncmUgb2sgd2l0aCBkbWFfZmVuY2UgPT0gbWVtb3J5IGZl bmNlcywgdGhlbiBlbmZvcmNpbmcgdGhlCnN0cmljdCBhbmQgcGFpbmZ1bCBtZW1vcnkgYWxsb2Nh dGlvbiBsaW1pdGF0aW9ucyBpcyBhY3R1YWxseSB3aGF0IHdlCndhbnQuCgpDaGVlcnMsIERhbmll bAotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24K aHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg== 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=-3.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no 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 AC152C433E6 for ; Wed, 22 Jul 2020 09:45:51 +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 7EE8F2068F for ; Wed, 22 Jul 2020 09:45:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="b7v0J64o" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7EE8F2068F 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 2C5F66E0C8; Wed, 22 Jul 2020 09:45:45 +0000 (UTC) Received: from mail-oi1-x242.google.com (mail-oi1-x242.google.com [IPv6:2607:f8b0:4864:20::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 398B06E0C8 for ; Wed, 22 Jul 2020 09:45:44 +0000 (UTC) Received: by mail-oi1-x242.google.com with SMTP id k4so1342024oik.2 for ; Wed, 22 Jul 2020 02:45:44 -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=qBIWLU6qcUqEJgyOOjaf3wwRh65k3CpshcWulpGbQ00=; b=b7v0J64ozdmomqKEQ6uZSIlGbo5wk3oIUkS7uMkxRWDmvOEEZpMeELjL9c+CVy85SC gUH8d0MgWe5mXyblHV6yLLD3z8ZPA2kyzVHVTvXOkMvI99kq8CnUvxAOcyjPRGeRVFV6 SlCRuZRdDuXm35855wF3cSNHDHeVNvKd8d8FY= 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=qBIWLU6qcUqEJgyOOjaf3wwRh65k3CpshcWulpGbQ00=; b=YVTkpURuzb9BF6jlL2UQNp3kjWhKUaN7pI3WlWnok2Hq8p050TUOXb8j/MmOk+zDu3 x+ZqBilzXmQYVwt/Mjbn1wViUhy754WhHG/gSWqupE/PbIezez+rDPpWnTr90dU19avQ JFeYoI0DAthQE/rXvUSeBECFzRQvXJgF4qPATz0/b4g7Sqjj4clT2F7joIHqmJiSOFM3 y4QO/etVVV4b4CYPO4/l0Xv2F66zA8qGwBAx+w7X9+HwJACChRLcHLQstJjIw0w2ioWk c8mHmYL61ZiSs2mhleuALULjgVvjvK0k14XWFWS+lZZoFm+Bjt5NJhg969b+e1cob18V iJXw== X-Gm-Message-State: AOAM531OYSvKdAUn0BRezTHn0dfrFLkdZd1269IImvpTUFVnEFqOV73A jaDSqvkxMyD8DN2jM7gg50Eszde8q0iL/nGp36qVXw== X-Google-Smtp-Source: ABdhPJy1reMqVN9iXBAWZWyEiuKUCCqdgZLvt5/qG9Vsgmqwsqrfha82OrYO3x8LcEo6S/gxrnVxRoEeNL4w2jUzrW8= X-Received: by 2002:a05:6808:88:: with SMTP id s8mr6055422oic.101.1595411143320; Wed, 22 Jul 2020 02:45:43 -0700 (PDT) MIME-Version: 1.0 References: <20200707201229.472834-4-daniel.vetter@ffwll.ch> <20200709123339.547390-1-daniel.vetter@ffwll.ch> <93b673b7-bb48-96eb-dc2c-bd4f9304000e@shipmail.org> <20200721074157.GB3278063@phenom.ffwll.local> <3603bb71-318b-eb53-0532-9daab62dce86@amd.com> <57a5eb9d-b74f-8ce4-7199-94e911d9b68b@shipmail.org> <805c49b7-f0b3-45dc-5fe3-b352f0971527@shipmail.org> <92393d26-d863-aac6-6d27-53cad6854e13@shipmail.org> In-Reply-To: <92393d26-d863-aac6-6d27-53cad6854e13@shipmail.org> From: Daniel Vetter Date: Wed, 22 Jul 2020 11:45:32 +0200 Message-ID: To: =?UTF-8?Q?Thomas_Hellstr=C3=B6m_=28Intel=29?= Subject: Re: [Intel-gfx] [Linaro-mm-sig] [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: Felix Kuehling , Daniel Stone , linux-rdma , Intel Graphics Development , DRI Development , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Steve Pronovost , amd-gfx mailing list , Jesse Natalie , Daniel Vetter , Thomas Hellstrom , Linux Media Mailing List , =?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" T24gV2VkLCBKdWwgMjIsIDIwMjAgYXQgMTA6MDUgQU0gVGhvbWFzIEhlbGxzdHLDtm0gKEludGVs KQo8dGhvbWFzX29zQHNoaXBtYWlsLm9yZz4gd3JvdGU6Cj4KPgo+IE9uIDIwMjAtMDctMjIgMDk6 MTEsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBXZWQsIEp1bCAyMiwgMjAyMCBhdCA4OjQ1 IEFNIFRob21hcyBIZWxsc3Ryw7ZtIChJbnRlbCkKPiA+IDx0aG9tYXNfb3NAc2hpcG1haWwub3Jn PiB3cm90ZToKPiA+Pgo+ID4+IE9uIDIwMjAtMDctMjIgMDA6NDUsIERhdmUgQWlybGllIHdyb3Rl Ogo+ID4+PiBPbiBUdWUsIDIxIEp1bCAyMDIwIGF0IDE4OjQ3LCBUaG9tYXMgSGVsbHN0csO2bSAo SW50ZWwpCj4gPj4+IDx0aG9tYXNfb3NAc2hpcG1haWwub3JnPiB3cm90ZToKPiA+Pj4+IE9uIDcv MjEvMjAgOTo0NSBBTSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiA+Pj4+PiBBbSAyMS4wNy4y MCB1bSAwOTo0MSBzY2hyaWViIERhbmllbCBWZXR0ZXI6Cj4gPj4+Pj4+IE9uIE1vbiwgSnVsIDIw LCAyMDIwIGF0IDAxOjE1OjE3UE0gKzAyMDAsIFRob21hcyBIZWxsc3Ryw7ZtIChJbnRlbCkKPiA+ Pj4+Pj4gd3JvdGU6Cj4gPj4+Pj4+PiBIaSwKPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBPbiA3LzkvMjAg MjozMyBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+Pj4+Pj4+PiBDb21lcyB1cCBldmVyeSBm ZXcgeWVhcnMsIGdldHMgc29tZXdoYXQgdGVkaW91cyB0byBkaXNjdXNzLCBsZXQncwo+ID4+Pj4+ Pj4+IHdyaXRlIHRoaXMgZG93biBvbmNlIGFuZCBmb3IgYWxsLgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+ Pj4gV2hhdCBJJ20gbm90IHN1cmUgYWJvdXQgaXMgd2hldGhlciB0aGUgdGV4dCBzaG91bGQgYmUg bW9yZSBleHBsaWNpdCBpbgo+ID4+Pj4+Pj4+IGZsYXQgb3V0IG1hbmRhdGluZyB0aGUgYW1ka2Zk IGV2aWN0aW9uIGZlbmNlcyBmb3IgbG9uZyBydW5uaW5nIGNvbXB1dGUKPiA+Pj4+Pj4+PiB3b3Jr bG9hZHMgb3Igd29ya2xvYWRzIHdoZXJlIHVzZXJzcGFjZSBmZW5jaW5nIGlzIGFsbG93ZWQuCj4g Pj4+Pj4+PiBBbHRob3VnaCAoaW4gbXkgaHVtYmxlIG9waW5pb24pIGl0IG1pZ2h0IGJlIHBvc3Np YmxlIHRvIGNvbXBsZXRlbHkKPiA+Pj4+Pj4+IHVudGFuZ2xlCj4gPj4+Pj4+PiBrZXJuZWwtaW50 cm9kdWNlZCBmZW5jZXMgZm9yIHJlc291cmNlIG1hbmFnZW1lbnQgYW5kIGRtYS1mZW5jZXMgdXNl ZAo+ID4+Pj4+Pj4gZm9yCj4gPj4+Pj4+PiBjb21wbGV0aW9uLSBhbmQgZGVwZW5kZW5jeSB0cmFj a2luZyBhbmQgbGlmdCBhIGxvdCBvZiByZXN0cmljdGlvbnMKPiA+Pj4+Pj4+IGZvciB0aGUKPiA+ Pj4+Pj4+IGRtYS1mZW5jZXMsIGluY2x1ZGluZyBwcm9oaWJpdGluZyBpbmZpbml0ZSBvbmVzLCBJ IHRoaW5rIHRoaXMgbWFrZXMKPiA+Pj4+Pj4+IHNlbnNlCj4gPj4+Pj4+PiBkZXNjcmliaW5nIHRo ZSBjdXJyZW50IHN0YXRlLgo+ID4+Pj4+PiBZZWFoIEkgdGhpbmsgYSBmdXR1cmUgcGF0Y2ggbmVl ZHMgdG8gdHlwZSB1cCBob3cgd2Ugd2FudCB0byBtYWtlIHRoYXQKPiA+Pj4+Pj4gaGFwcGVuIChm b3Igc29tZSBjcm9zcyBkcml2ZXIgY29uc2lzdGVuY3kpIGFuZCB3aGF0IG5lZWRzIHRvIGJlCj4g Pj4+Pj4+IGNvbnNpZGVyZWQuIFNvbWUgb2YgdGhlIG5lY2Vzc2FyeSBwYXJ0cyBhcmUgYWxyZWFk eSB0aGVyZSAod2l0aCBsaWtlIHRoZQo+ID4+Pj4+PiBwcmVlbXB0aW9uIGZlbmNlcyBhbWRrZmQg aGFzIGFzIGFuIGV4YW1wbGUpLCBidXQgSSB0aGluayBzb21lIGNsZWFyIGRvY3MKPiA+Pj4+Pj4g b24gd2hhdCdzIHJlcXVpcmVkIGZyb20gYm90aCBodywgZHJpdmVycyBhbmQgdXNlcnNwYWNlIHdv dWxkIGJlIHJlYWxseQo+ID4+Pj4+PiBnb29kLgo+ID4+Pj4+IEknbSBjdXJyZW50bHkgd3JpdGlu ZyB0aGF0IHVwLCBidXQgcHJvYmFibHkgc3RpbGwgbmVlZCBhIGZldyBkYXlzIGZvcgo+ID4+Pj4+ IHRoaXMuCj4gPj4+PiBHcmVhdCEgSSBwdXQgZG93biBzb21lICh2ZXJ5KSBpbml0aWFsIHRob3Vn aHRzIGEgY291cGxlIG9mIHdlZWtzIGFnbwo+ID4+Pj4gYnVpbGRpbmcgb24gZXZpY3Rpb24gZmVu Y2VzIGZvciB2YXJpb3VzIGhhcmR3YXJlIGNvbXBsZXhpdHkgbGV2ZWxzIGhlcmU6Cj4gPj4+Pgo+ ID4+Pj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3Rob21hc2gvZG9jcy8tL2Jsb2Iv bWFzdGVyL1VudGFuZ2xpbmclMjBkbWEtZmVuY2UlMjBhbmQlMjBtZW1vcnklMjBhbGxvY2F0aW9u Lm9kdAo+ID4+PiBXZSBhcmUgc2VlaW5nIEhXIHRoYXQgaGFzIHJlY292ZXJhYmxlIEdQVSBwYWdl IGZhdWx0cyBidXQgb25seSBmb3IKPiA+Pj4gY29tcHV0ZSB0YXNrcywgYW5kIHNjaGVkdWxlciB3 aXRob3V0IHNlbWFwaG9yZXMgaHcgZm9yIGdyYXBoaWNzLgo+ID4+Pgo+ID4+PiBTbyBhIHNpbmds ZSBkcml2ZXIgbWF5IGhhdmUgdG8gZXhwb3NlIGJvdGggbW9kZWxzIHRvIHVzZXJzcGFjZSBhbmQK PiA+Pj4gYWxzbyBpbnRyb2R1Y2VzIHRoZSBwcm9ibGVtIG9mIGhvdyB0byBpbnRlcm9wZXJhdGUg YmV0d2VlbiB0aGUgdHdvCj4gPj4+IG1vZGVscyBvbiBvbmUgY2FyZC4KPiA+Pj4KPiA+Pj4gRGF2 ZS4KPiA+PiBIbW0sIHllcyB0byBiZWdpbiB3aXRoIGl0J3MgaW1wb3J0YW50IHRvIG5vdGUgdGhh dCB0aGlzIGlzIG5vdCBhCj4gPj4gcmVwbGFjZW1lbnQgZm9yIG5ldyBwcm9ncmFtbWluZyBtb2Rl bHMgb3IgQVBJcywgVGhpcyBpcyBzb21ldGhpbmcgdGhhdAo+ID4+IHRha2VzIHBsYWNlIGludGVy bmFsbHkgaW4gZHJpdmVycyB0byBtaXRpZ2F0ZSBtYW55IG9mIHRoZSByZXN0cmljdGlvbnMKPiA+ PiB0aGF0IGFyZSBjdXJyZW50bHkgaW1wb3NlZCBvbiBkbWEtZmVuY2UgYW5kIGRvY3VtZW50ZWQg aW4gdGhpcyBhbmQKPiA+PiBwcmV2aW91cyBzZXJpZXMuIEl0J3MgYmFzaWNhbGx5IHRoZSBkcml2 ZXItcHJpdmF0ZSBuYXJyb3cgY29tcGxldGlvbnMKPiA+PiBKYXNvbiBzdWdnZXN0ZWQgaW4gdGhl IGxvY2tkZXAgcGF0Y2hlcyBkaXNjdXNzaW9ucyBpbXBsZW1lbnRlZCB0aGUgc2FtZQo+ID4+IHdh eSBhcyBldmljdGlvbi1mZW5jZXMuCj4gPj4KPiA+PiBUaGUgbWVtb3J5IGZlbmNlIEFQSSB3b3Vs ZCBiZSBsb2NhbCB0byBoZWxwZXJzIGFuZCBtaWRkbGUtbGF5ZXJzIGxpa2UKPiA+PiBUVE0sIGFu ZCB0aGUgY29ycmVzcG9uZGluZyBkcml2ZXJzLiAgVGhlIG9ubHkgY3Jvc3MtZHJpdmVyLWxpa2UK PiA+PiB2aXNpYmlsaXR5IHdvdWxkIGJlIHRoYXQgdGhlIGRtYS1idWYgbW92ZV9ub3RpZnkoKSBj YWxsYmFjayB3b3VsZCBub3QgYmUKPiA+PiBhbGxvd2VkIHRvIHdhaXQgb24gZG1hLWZlbmNlcyBv ciBzb21ldGhpbmcgdGhhdCBkZXBlbmRzIG9uIGEgZG1hLWZlbmNlLgo+ID4gQmVjYXVzZSB3ZSBj YW4ndCBwcmVlbXB0IChvbiBzb21lIGVuZ2luZXMgYXQgbGVhc3QpIHdlIGFscmVhZHkgaGF2ZQo+ ID4gdGhlIHJlcXVpcmVtZW50IHRoYXQgY3Jvc3MgZHJpdmVyIGJ1ZmZlciBtYW5hZ2VtZW50IGNh biBnZXQgc3R1Y2sgb24gYQo+ID4gZG1hLWZlbmNlLiBOb3QgZXZlbiB0YWtpbmcgaW50byBhY2Nv dW50IHRoZSBob3Jyb3JzIHdlIGRvIHdpdGgKPiA+IHVzZXJwdHIsIHdoaWNoIGFyZSBjcm9zcyBk cml2ZXIgbm8gbWF0dGVyIHdoYXQuIExpbWl0aW5nIG1vdmVfbm90aWZ5Cj4gPiB0byBtZW1vcnkg ZmVuY2VzIG9ubHkgZG9lc24ndCB3b3JrLCBzaW5jZSB0aGUgcHRlIGNsZWFyaW5nIG1pZ2h0IG5l ZWQKPiA+IHRvIHdhaXQgZm9yIGEgZG1hX2ZlbmNlIGZpcnN0LiBIZW5jZSB0aGlzIGJlY29tZXMg YSBmdWxsIGVuZC1vZi1iYXRjaAo+ID4gZmVuY2UsIG5vdCBqdXN0IGEgbGltaXRlZCBrZXJuZWwt aW50ZXJuYWwgbWVtb3J5IGZlbmNlLgo+Cj4gRm9yIG5vbi1wcmVlbXB0aWJsZSBoYXJkd2FyZSB0 aGUgbWVtb3J5IGZlbmNlIHR5cGljYWxseSAqaXMqIHRoZQo+IGVuZC1vZi1iYXRjaCBmZW5jZS4g KFVubGVzcywgYXMgZG9jdW1lbnRlZCwgdGhlcmUgaXMgYSBzY2hlZHVsZXIKPiBjb25zdW1pbmcg c3luYy1maWxlIGRlcGVuZGVuY2llcyBpbiB3aGljaCBjYXNlIHRoZSBtZW1vcnkgZmVuY2Ugd2Fp dAo+IG5lZWRzIHRvIGJlIGFibGUgdG8gYnJlYWsgb3V0IG9mIHRoYXQpLiBUaGUga2V5IHRoaW5n IGlzIG5vdCB0aGF0IHdlIGNhbgo+IGJyZWFrIG91dCBvZiBleGVjdXRpb24sIGJ1dCB0aGF0IHdl IGNhbiBicmVhayBvdXQgb2YgZGVwZW5kZW5jaWVzLCBzaW5jZQo+IHdoZW4gd2UncmUgZXhlY3V0 aW5nIGFsbCBkZXBlbmRlY2llcyAobW9kdWxvIHNlbWFwaG9yZXMpIGFyZSBhbHJlYWR5Cj4gZnVs ZmlsbGVkLiBUaGF0J3Mgd2hhdCdzIGVsaW1pbmF0aW5nIHRoZSBkZWFkbG9ja3MuCj4KPiA+IFRo YXQncyBraW5kYSB3aHkgSSB0aGluayBvbmx5IHJlYXNvbmFibGUgb3B0aW9uIGlzIHRvIHRvc3Mg aW4gdGhlCj4gPiB0b3dlbCBhbmQgZGVjbGFyZSBkbWEtZmVuY2UgdG8gYmUgdGhlIG1lbW9yeSBm ZW5jZSAoYW5kIHN1Y2sgdXAgYWxsCj4gPiB0aGUgY29uc2VxdWVuY2VzIG9mIHRoYXQgZGVjaXNp b24gYXMgdWFwaSwgd2hpY2ggaXMga2luZGEgd2hlcmUgd2UKPiA+IGFyZSksIGFuZCBjb25zdHJ1 Y3Qgc29tZXRoaW5nIG5ldyZlbnRpcmVseSBmcmVlLXdoZWVsaW5nIGZvciB1c2Vyc3BhY2UKPiA+ IGZlbmNpbmcuIEJ1dCBvbmx5IGZvciBlbmdpbmVzIHRoYXQgYWxsb3cgZW5vdWdoIHByZWVtcHQv Z3B1IHBhZ2UKPiA+IGZhdWx0aW5nIHRvIG1ha2UgdGhhdCBwb3NzaWJsZS4gRnJlZSB3aGVlbGlu ZyB1c2Vyc3BhY2UgZmVuY2VzL2dwdQo+ID4gc2VtYXBob3JlcyBvciB3aGF0ZXZlciB5b3Ugd2Fu dCB0byBjYWxsIHRoZW0gKG9uIHdpbmRvd3MgSSB0aGluayBpdCdzCj4gPiBtb25pdG9yZWQgZmVu Y2UpIG9ubHkgd29yayBpZiB5b3UgY2FuIHByZWVtcHQgdG8gZGVjb3VwbGUgdGhlIG1lbW9yeQo+ ID4gZmVuY2VzIGZyb20geW91ciBncHUgY29tbWFuZCBleGVjdXRpb24uCj4gPgo+ID4gVGhlcmUn cyB0aGUgaW4tYmV0d2VlbiBzdGVwIG9mIGp1c3QgZGVjb3VwbGluZyB0aGUgYmF0Y2hidWZmZXIK PiA+IHN1Ym1pc3Npb24gcHJlcCBmb3IgaHcgd2l0aG91dCBhbnkgcHJlZW1wdCAoYnV0IGEgc2No ZWR1bGVyKSwgYnV0IHRoYXQKPiA+IHNlZW1zIGtpbmRhIHBvaW50bGVzcy4gTW9kZXJuIGV4ZWNi dWYgc2hvdWxkIGJlIE8oMSkgZmFzdHBhdGgsIHdpdGgKPiA+IGFsbCB0aGUgYWxsb2NhdGlvbi9t YXBwaW5nIHdvcmsgcHVsbGVkIG91dCBhaGVhZC4gdmsgZXhwb3NlcyB0aGF0Cj4gPiBtb2RlbCBk aXJlY3RseSB0byBjbGllbnRzLCBHTCBkcml2ZXJzIGNvdWxkIHVzZSBpdCBpbnRlcm5hbGx5IHRv bywgc28KPiA+IEkgc2VlIHplcm8gdmFsdWUgaW4gc3BlbmRpbmcgbG90cyBvZiB0aW1lIGVuZ2lu ZWVyaW5nIHZlcnkgdHJpY2t5Cj4gPiBrZXJuZWwgY29kZSBqdXN0IGZvciBvbGQgdXNlcnNwYWNl LiBNdWNoIG1vcmUgcmVhc29uYWJsZSB0byBkbyB0aGF0IGluCj4gPiB1c2Vyc3BhY2UsIHdoZXJl IHdlIGhhdmUgcmVhbCBkZWJ1Z2dlcnMgYW5kIG5vIHBhbmljcyBhYm91dCBzZWN1cml0eQo+ID4g YnVncyAob3Igd2VsbCwgYSBsb3QgbGVzcywgd2ViZ2wgaXMgc3RpbGwgYSB0aGluZywgYnV0IGF0 IGxlYXN0Cj4gPiBicm93c2VycyByZWFsaXplZCB5b3UgbmVlZCB0byBjb250YWluZXIgdGhhdCBj b21wbGV0ZWx5KS4KPgo+IFN1cmUsIGl0J3MgZGVmaW5pdGVseSBhIGJpZyBjaHVuayBvZiB3b3Jr LiBJIHRoaW5rIHRoZSBiaWcgd2luIHdvdWxkIGJlCj4gYWxsb3dpbmcgbWVtb3J5IGFsbG9jYXRp b24gaW4gZG1hLWZlbmNlIGNyaXRpY2FsIHNlY3Rpb25zLiBCdXQgSQo+IGNvbXBsZXRlbHkgYnV5 IHRoZSBhYm92ZSBhcmd1bWVudC4gSSBqdXN0IHdhbnRlZCB0byBwb2ludCBvdXQgdGhhdCBtYW55 Cj4gb2YgdGhlIGRtYS1mZW5jZSByZXN0cmljdGlvbnMgYXJlIElNSE8gZml4YWJsZSwgc2hvdWxk IHdlIG5lZWQgdG8gZG8KPiB0aGF0IGZvciB3aGF0ZXZlciByZWFzb24uCgpJJ20gc3RpbGwgbm90 IHN1cmUgdGhhdCdzIHBvc3NpYmxlLCB3aXRob3V0IHByZWVtcHRpb24gYXQgbGVhc3QuIFdlCmhh dmUgNCBlZGdlczoKLSBLZXJuZWwgaGFzIGludGVybmFsIGRlcGVuY2llcyBhbW9uZyBtZW1vcnkg ZmVuY2VzLiBXZSB3YW50IHRoYXQgdG8KYWxsb3cgKG1pbGQpIGFtb3VudHMgb2Ygb3ZlcmNvbW1p dCwgc2luY2UgdGhhdCBzaW1wbGlmaWVzIGxpdmUgc28KbXVjaC4KLSBNZW1vcnkgZmVuY2VzIGNh biBibG9jayBncHUgY3R4IGV4ZWN1dGlvbiAoYnkgbmF0dXJlIG9mIHRoZSBtZW1vcnkKc2ltcGx5 IG5vdCBiZWluZyB0aGVyZSB5ZXQgZHVlIHRvIG91ciBvdmVyY29tbWl0KQotIGdwdSBjdHggaGF2 ZSAoaWYgd2UgYWxsb3cgdGhpcykgdXNlcnNwYWNlIGNvbnRyb2xsZWQgc2VtYXBob3JlCmRlcGVu ZGVuY2llcy4gT2YgY291cnNlIHVzZXJzcGFjZSBpcyBleHBlY3RlZCB0byBub3QgY3JlYXRlIGRl YWRsb2NrcywKYnV0IHRoYXQncyBvbmx5IGFzc3VtaW5nIHRoZSBrZXJuZWwgZG9lc24ndCBpbmpl Y3QgYWRkaXRpb25hbApkZXBlbmRlbmNpZXMuIENvbXB1dGUgZm9sa3MgcmVhbGx5IHdhbnQgdGhh dC4KLSBncHUgY3R4IGNhbiBob2xkIHVwIG1lbW9yeSBhbGxvY2F0aW9ucyBpZiBhbGwgd2UgaGF2 ZSBpcwplbmQtb2YtYmF0Y2ggZmVuY2VzLiBBbmQgZW5kLW9mLWJhdGNoIGZlbmNlcyBhcmUgYWxs IHdlIGhhdmUgd2l0aG91dApwcmVlbXB0LCBwbHVzIGlmIHdlIHdhbnQgYmFja3dhcmRzIGNvbXBh dCB3aXRoIHRoZSBlbnRpcmUgY3VycmVudAp3aW5zeXMvY29tcG9zaXRvciBlY29zeXN0ZW0gd2Ug bmVlZCB0aGVtLCB3aGljaCBhbGxvd3MgdXMgdG8gaW5qZWN0CnN0dWZmIGRlcGVuZGVudCB1cG9u IHRoZW0gcHJldHR5IG11Y2ggYW55d2hlcmUuCgpGdW5kYW1lbnRhbGx5IHRoYXQncyBub3QgZml4 YWJsZSB3aXRob3V0IHRocm93aW5nIG9uZSBvZiB0aGUgZWRnZXMKKGFuZCB0aGUgY29ycmVzcG9u ZGluZyBmZWF0dXJlIHRoYXQgZW5hYmxlcykgb3V0LCBzaW5jZSBubyBlbnRpdHkgaGFzCmZ1bGwg dmlzaWJpbGl0eSBpbnRvIHdoYXQncyBnb2luZyBvbi4gRS5nLiBmb3JjaW5nIHVzZXJzcGFjZSB0 byB0ZWxsCnRoZSBrZXJuZWwgYWJvdXQgYWxsIHNlbWFwaG9yZXMganVzdCBicmluZ3MgdXAgYmFj ayB0byB0aGUKZHJtX3RpbWVsaW5lX3N5bmNvYmogZGVzaWduIHdlIGhhdmUgbWVyZ2VkIHJpZ2h0 IG5vdy4gQW5kIHRoYXQncyBpbW8Kbm8gYmV0dGVyLgoKVGhhdCdzIGtpbmRhIHdoeSBJJ20gbm90 IHNlZWluZyBtdWNoIGJlbmVmaXRzIGluIGEgaGFsZi13YXkgc3RhdGU6ClRvbnMgb2Ygd29yaywg YW5kIHN0aWxsIG5vdCB3aGF0IHVzZXJzcGFjZSB3YW50cy4gQW5kIGZvciB0aGUgZnVsbApkZWFs IHRoYXQgdXNlcnNwYWNlIHdhbnRzIHdlIG1pZ2h0IGFzIHdlbGwgbm90IGNoYW5nZSBhbnl0aGlu ZyB3aXRoCmRtYS1mZW5jZXMuIEZvciB0aGF0IHdlIG5lZWQgYSkgY3R4IHByZWVtcHQgYW5kIGIp IG5ldyBlbnRpcmVseQpkZWNvdXBsZWQgZmVuY2VzIHRoYXQgbmV2ZXIgZmVlZCBiYWNrIGludG8g YSBtZW1vcnkgZmVuY2VzIGFuZCBjKSBhcmUKY29udHJvbGxlZCBlbnRpcmVseSBieSB1c2Vyc3Bh Y2UuIEFuZCBjKSBpcyB0aGUgcmVhbGx5IGltcG9ydGFudCB0aGluZwpwZW9wbGUgd2FudCB1cyB0 byBwcm92aWRlLgoKQW5kIG9uY2Ugd2UncmUgb2sgd2l0aCBkbWFfZmVuY2UgPT0gbWVtb3J5IGZl bmNlcywgdGhlbiBlbmZvcmNpbmcgdGhlCnN0cmljdCBhbmQgcGFpbmZ1bCBtZW1vcnkgYWxsb2Nh dGlvbiBsaW1pdGF0aW9ucyBpcyBhY3R1YWxseSB3aGF0IHdlCndhbnQuCgpDaGVlcnMsIERhbmll bAotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24K aHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg== 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=-3.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no 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 73426C433E5 for ; Wed, 22 Jul 2020 09:45: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 42EB62068F for ; Wed, 22 Jul 2020 09:45:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="b7v0J64o" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 42EB62068F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch 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 402776E0FF; Wed, 22 Jul 2020 09:45:45 +0000 (UTC) Received: from mail-oi1-x241.google.com (mail-oi1-x241.google.com [IPv6:2607:f8b0:4864:20::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3780889DEC for ; Wed, 22 Jul 2020 09:45:44 +0000 (UTC) Received: by mail-oi1-x241.google.com with SMTP id k22so1352108oib.0 for ; Wed, 22 Jul 2020 02:45:44 -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=qBIWLU6qcUqEJgyOOjaf3wwRh65k3CpshcWulpGbQ00=; b=b7v0J64ozdmomqKEQ6uZSIlGbo5wk3oIUkS7uMkxRWDmvOEEZpMeELjL9c+CVy85SC gUH8d0MgWe5mXyblHV6yLLD3z8ZPA2kyzVHVTvXOkMvI99kq8CnUvxAOcyjPRGeRVFV6 SlCRuZRdDuXm35855wF3cSNHDHeVNvKd8d8FY= 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=qBIWLU6qcUqEJgyOOjaf3wwRh65k3CpshcWulpGbQ00=; b=eYLxLzTipTb1Xdmv4KvcbRXixLRbP8a37ztBkkxG/Eyf6hghGAt0xnuH8XCbvTKuuu IEB9GIrFYe8ZeBjzsDc8c4Z5fmKvWXbwGG6YkfE86bT1V40wW0hAf11w9ykGDaaLEd6v J8Jp8nEMR8smOUVPBawqtK4nYeJ8JsdajaCvNcseoZAHCDLFVuHq96EZoeas6z2aqr+B rjwTV7utjC6ltzYbytFLI/jZ2OMaKHUZrb5zjVtJRaLfEgRDoktid/eBR9s80G51vls0 MuwwPG7Lh2NRDOFiL2DsYJJ1u070XuTwPnyv7lVxfnXUaw7NSVMCyG9L84AcjsS8BBW6 bunA== X-Gm-Message-State: AOAM533viT644Vpj0u2xrcdUCfaOk6hGDMgfRNd9vdOcb5JxlmMKFUCE a2TCDctU+QHofxV4G1ixONi8FpOMLxgVw/DXzVdWxg== X-Google-Smtp-Source: ABdhPJy1reMqVN9iXBAWZWyEiuKUCCqdgZLvt5/qG9Vsgmqwsqrfha82OrYO3x8LcEo6S/gxrnVxRoEeNL4w2jUzrW8= X-Received: by 2002:a05:6808:88:: with SMTP id s8mr6055422oic.101.1595411143320; Wed, 22 Jul 2020 02:45:43 -0700 (PDT) MIME-Version: 1.0 References: <20200707201229.472834-4-daniel.vetter@ffwll.ch> <20200709123339.547390-1-daniel.vetter@ffwll.ch> <93b673b7-bb48-96eb-dc2c-bd4f9304000e@shipmail.org> <20200721074157.GB3278063@phenom.ffwll.local> <3603bb71-318b-eb53-0532-9daab62dce86@amd.com> <57a5eb9d-b74f-8ce4-7199-94e911d9b68b@shipmail.org> <805c49b7-f0b3-45dc-5fe3-b352f0971527@shipmail.org> <92393d26-d863-aac6-6d27-53cad6854e13@shipmail.org> In-Reply-To: <92393d26-d863-aac6-6d27-53cad6854e13@shipmail.org> From: Daniel Vetter Date: Wed, 22 Jul 2020 11:45:32 +0200 Message-ID: Subject: Re: [Linaro-mm-sig] [PATCH 1/2] dma-buf.rst: Document why indefinite fences are a bad idea To: =?UTF-8?Q?Thomas_Hellstr=C3=B6m_=28Intel=29?= 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: Felix Kuehling , Daniel Stone , linux-rdma , Intel Graphics Development , Maarten Lankhorst , DRI Development , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Steve Pronovost , amd-gfx mailing list , Jason Ekstrand , Jesse Natalie , Daniel Vetter , Thomas Hellstrom , Linux Media Mailing List , Dave Airlie , =?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" T24gV2VkLCBKdWwgMjIsIDIwMjAgYXQgMTA6MDUgQU0gVGhvbWFzIEhlbGxzdHLDtm0gKEludGVs KQo8dGhvbWFzX29zQHNoaXBtYWlsLm9yZz4gd3JvdGU6Cj4KPgo+IE9uIDIwMjAtMDctMjIgMDk6 MTEsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBXZWQsIEp1bCAyMiwgMjAyMCBhdCA4OjQ1 IEFNIFRob21hcyBIZWxsc3Ryw7ZtIChJbnRlbCkKPiA+IDx0aG9tYXNfb3NAc2hpcG1haWwub3Jn PiB3cm90ZToKPiA+Pgo+ID4+IE9uIDIwMjAtMDctMjIgMDA6NDUsIERhdmUgQWlybGllIHdyb3Rl Ogo+ID4+PiBPbiBUdWUsIDIxIEp1bCAyMDIwIGF0IDE4OjQ3LCBUaG9tYXMgSGVsbHN0csO2bSAo SW50ZWwpCj4gPj4+IDx0aG9tYXNfb3NAc2hpcG1haWwub3JnPiB3cm90ZToKPiA+Pj4+IE9uIDcv MjEvMjAgOTo0NSBBTSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiA+Pj4+PiBBbSAyMS4wNy4y MCB1bSAwOTo0MSBzY2hyaWViIERhbmllbCBWZXR0ZXI6Cj4gPj4+Pj4+IE9uIE1vbiwgSnVsIDIw LCAyMDIwIGF0IDAxOjE1OjE3UE0gKzAyMDAsIFRob21hcyBIZWxsc3Ryw7ZtIChJbnRlbCkKPiA+ Pj4+Pj4gd3JvdGU6Cj4gPj4+Pj4+PiBIaSwKPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBPbiA3LzkvMjAg MjozMyBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+Pj4+Pj4+PiBDb21lcyB1cCBldmVyeSBm ZXcgeWVhcnMsIGdldHMgc29tZXdoYXQgdGVkaW91cyB0byBkaXNjdXNzLCBsZXQncwo+ID4+Pj4+ Pj4+IHdyaXRlIHRoaXMgZG93biBvbmNlIGFuZCBmb3IgYWxsLgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+ Pj4gV2hhdCBJJ20gbm90IHN1cmUgYWJvdXQgaXMgd2hldGhlciB0aGUgdGV4dCBzaG91bGQgYmUg bW9yZSBleHBsaWNpdCBpbgo+ID4+Pj4+Pj4+IGZsYXQgb3V0IG1hbmRhdGluZyB0aGUgYW1ka2Zk IGV2aWN0aW9uIGZlbmNlcyBmb3IgbG9uZyBydW5uaW5nIGNvbXB1dGUKPiA+Pj4+Pj4+PiB3b3Jr bG9hZHMgb3Igd29ya2xvYWRzIHdoZXJlIHVzZXJzcGFjZSBmZW5jaW5nIGlzIGFsbG93ZWQuCj4g Pj4+Pj4+PiBBbHRob3VnaCAoaW4gbXkgaHVtYmxlIG9waW5pb24pIGl0IG1pZ2h0IGJlIHBvc3Np YmxlIHRvIGNvbXBsZXRlbHkKPiA+Pj4+Pj4+IHVudGFuZ2xlCj4gPj4+Pj4+PiBrZXJuZWwtaW50 cm9kdWNlZCBmZW5jZXMgZm9yIHJlc291cmNlIG1hbmFnZW1lbnQgYW5kIGRtYS1mZW5jZXMgdXNl ZAo+ID4+Pj4+Pj4gZm9yCj4gPj4+Pj4+PiBjb21wbGV0aW9uLSBhbmQgZGVwZW5kZW5jeSB0cmFj a2luZyBhbmQgbGlmdCBhIGxvdCBvZiByZXN0cmljdGlvbnMKPiA+Pj4+Pj4+IGZvciB0aGUKPiA+ Pj4+Pj4+IGRtYS1mZW5jZXMsIGluY2x1ZGluZyBwcm9oaWJpdGluZyBpbmZpbml0ZSBvbmVzLCBJ IHRoaW5rIHRoaXMgbWFrZXMKPiA+Pj4+Pj4+IHNlbnNlCj4gPj4+Pj4+PiBkZXNjcmliaW5nIHRo ZSBjdXJyZW50IHN0YXRlLgo+ID4+Pj4+PiBZZWFoIEkgdGhpbmsgYSBmdXR1cmUgcGF0Y2ggbmVl ZHMgdG8gdHlwZSB1cCBob3cgd2Ugd2FudCB0byBtYWtlIHRoYXQKPiA+Pj4+Pj4gaGFwcGVuIChm b3Igc29tZSBjcm9zcyBkcml2ZXIgY29uc2lzdGVuY3kpIGFuZCB3aGF0IG5lZWRzIHRvIGJlCj4g Pj4+Pj4+IGNvbnNpZGVyZWQuIFNvbWUgb2YgdGhlIG5lY2Vzc2FyeSBwYXJ0cyBhcmUgYWxyZWFk eSB0aGVyZSAod2l0aCBsaWtlIHRoZQo+ID4+Pj4+PiBwcmVlbXB0aW9uIGZlbmNlcyBhbWRrZmQg aGFzIGFzIGFuIGV4YW1wbGUpLCBidXQgSSB0aGluayBzb21lIGNsZWFyIGRvY3MKPiA+Pj4+Pj4g b24gd2hhdCdzIHJlcXVpcmVkIGZyb20gYm90aCBodywgZHJpdmVycyBhbmQgdXNlcnNwYWNlIHdv dWxkIGJlIHJlYWxseQo+ID4+Pj4+PiBnb29kLgo+ID4+Pj4+IEknbSBjdXJyZW50bHkgd3JpdGlu ZyB0aGF0IHVwLCBidXQgcHJvYmFibHkgc3RpbGwgbmVlZCBhIGZldyBkYXlzIGZvcgo+ID4+Pj4+ IHRoaXMuCj4gPj4+PiBHcmVhdCEgSSBwdXQgZG93biBzb21lICh2ZXJ5KSBpbml0aWFsIHRob3Vn aHRzIGEgY291cGxlIG9mIHdlZWtzIGFnbwo+ID4+Pj4gYnVpbGRpbmcgb24gZXZpY3Rpb24gZmVu Y2VzIGZvciB2YXJpb3VzIGhhcmR3YXJlIGNvbXBsZXhpdHkgbGV2ZWxzIGhlcmU6Cj4gPj4+Pgo+ ID4+Pj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3Rob21hc2gvZG9jcy8tL2Jsb2Iv bWFzdGVyL1VudGFuZ2xpbmclMjBkbWEtZmVuY2UlMjBhbmQlMjBtZW1vcnklMjBhbGxvY2F0aW9u Lm9kdAo+ID4+PiBXZSBhcmUgc2VlaW5nIEhXIHRoYXQgaGFzIHJlY292ZXJhYmxlIEdQVSBwYWdl IGZhdWx0cyBidXQgb25seSBmb3IKPiA+Pj4gY29tcHV0ZSB0YXNrcywgYW5kIHNjaGVkdWxlciB3 aXRob3V0IHNlbWFwaG9yZXMgaHcgZm9yIGdyYXBoaWNzLgo+ID4+Pgo+ID4+PiBTbyBhIHNpbmds ZSBkcml2ZXIgbWF5IGhhdmUgdG8gZXhwb3NlIGJvdGggbW9kZWxzIHRvIHVzZXJzcGFjZSBhbmQK PiA+Pj4gYWxzbyBpbnRyb2R1Y2VzIHRoZSBwcm9ibGVtIG9mIGhvdyB0byBpbnRlcm9wZXJhdGUg YmV0d2VlbiB0aGUgdHdvCj4gPj4+IG1vZGVscyBvbiBvbmUgY2FyZC4KPiA+Pj4KPiA+Pj4gRGF2 ZS4KPiA+PiBIbW0sIHllcyB0byBiZWdpbiB3aXRoIGl0J3MgaW1wb3J0YW50IHRvIG5vdGUgdGhh dCB0aGlzIGlzIG5vdCBhCj4gPj4gcmVwbGFjZW1lbnQgZm9yIG5ldyBwcm9ncmFtbWluZyBtb2Rl bHMgb3IgQVBJcywgVGhpcyBpcyBzb21ldGhpbmcgdGhhdAo+ID4+IHRha2VzIHBsYWNlIGludGVy bmFsbHkgaW4gZHJpdmVycyB0byBtaXRpZ2F0ZSBtYW55IG9mIHRoZSByZXN0cmljdGlvbnMKPiA+ PiB0aGF0IGFyZSBjdXJyZW50bHkgaW1wb3NlZCBvbiBkbWEtZmVuY2UgYW5kIGRvY3VtZW50ZWQg aW4gdGhpcyBhbmQKPiA+PiBwcmV2aW91cyBzZXJpZXMuIEl0J3MgYmFzaWNhbGx5IHRoZSBkcml2 ZXItcHJpdmF0ZSBuYXJyb3cgY29tcGxldGlvbnMKPiA+PiBKYXNvbiBzdWdnZXN0ZWQgaW4gdGhl IGxvY2tkZXAgcGF0Y2hlcyBkaXNjdXNzaW9ucyBpbXBsZW1lbnRlZCB0aGUgc2FtZQo+ID4+IHdh eSBhcyBldmljdGlvbi1mZW5jZXMuCj4gPj4KPiA+PiBUaGUgbWVtb3J5IGZlbmNlIEFQSSB3b3Vs ZCBiZSBsb2NhbCB0byBoZWxwZXJzIGFuZCBtaWRkbGUtbGF5ZXJzIGxpa2UKPiA+PiBUVE0sIGFu ZCB0aGUgY29ycmVzcG9uZGluZyBkcml2ZXJzLiAgVGhlIG9ubHkgY3Jvc3MtZHJpdmVyLWxpa2UK PiA+PiB2aXNpYmlsaXR5IHdvdWxkIGJlIHRoYXQgdGhlIGRtYS1idWYgbW92ZV9ub3RpZnkoKSBj YWxsYmFjayB3b3VsZCBub3QgYmUKPiA+PiBhbGxvd2VkIHRvIHdhaXQgb24gZG1hLWZlbmNlcyBv ciBzb21ldGhpbmcgdGhhdCBkZXBlbmRzIG9uIGEgZG1hLWZlbmNlLgo+ID4gQmVjYXVzZSB3ZSBj YW4ndCBwcmVlbXB0IChvbiBzb21lIGVuZ2luZXMgYXQgbGVhc3QpIHdlIGFscmVhZHkgaGF2ZQo+ ID4gdGhlIHJlcXVpcmVtZW50IHRoYXQgY3Jvc3MgZHJpdmVyIGJ1ZmZlciBtYW5hZ2VtZW50IGNh biBnZXQgc3R1Y2sgb24gYQo+ID4gZG1hLWZlbmNlLiBOb3QgZXZlbiB0YWtpbmcgaW50byBhY2Nv dW50IHRoZSBob3Jyb3JzIHdlIGRvIHdpdGgKPiA+IHVzZXJwdHIsIHdoaWNoIGFyZSBjcm9zcyBk cml2ZXIgbm8gbWF0dGVyIHdoYXQuIExpbWl0aW5nIG1vdmVfbm90aWZ5Cj4gPiB0byBtZW1vcnkg ZmVuY2VzIG9ubHkgZG9lc24ndCB3b3JrLCBzaW5jZSB0aGUgcHRlIGNsZWFyaW5nIG1pZ2h0IG5l ZWQKPiA+IHRvIHdhaXQgZm9yIGEgZG1hX2ZlbmNlIGZpcnN0LiBIZW5jZSB0aGlzIGJlY29tZXMg YSBmdWxsIGVuZC1vZi1iYXRjaAo+ID4gZmVuY2UsIG5vdCBqdXN0IGEgbGltaXRlZCBrZXJuZWwt aW50ZXJuYWwgbWVtb3J5IGZlbmNlLgo+Cj4gRm9yIG5vbi1wcmVlbXB0aWJsZSBoYXJkd2FyZSB0 aGUgbWVtb3J5IGZlbmNlIHR5cGljYWxseSAqaXMqIHRoZQo+IGVuZC1vZi1iYXRjaCBmZW5jZS4g KFVubGVzcywgYXMgZG9jdW1lbnRlZCwgdGhlcmUgaXMgYSBzY2hlZHVsZXIKPiBjb25zdW1pbmcg c3luYy1maWxlIGRlcGVuZGVuY2llcyBpbiB3aGljaCBjYXNlIHRoZSBtZW1vcnkgZmVuY2Ugd2Fp dAo+IG5lZWRzIHRvIGJlIGFibGUgdG8gYnJlYWsgb3V0IG9mIHRoYXQpLiBUaGUga2V5IHRoaW5n IGlzIG5vdCB0aGF0IHdlIGNhbgo+IGJyZWFrIG91dCBvZiBleGVjdXRpb24sIGJ1dCB0aGF0IHdl IGNhbiBicmVhayBvdXQgb2YgZGVwZW5kZW5jaWVzLCBzaW5jZQo+IHdoZW4gd2UncmUgZXhlY3V0 aW5nIGFsbCBkZXBlbmRlY2llcyAobW9kdWxvIHNlbWFwaG9yZXMpIGFyZSBhbHJlYWR5Cj4gZnVs ZmlsbGVkLiBUaGF0J3Mgd2hhdCdzIGVsaW1pbmF0aW5nIHRoZSBkZWFkbG9ja3MuCj4KPiA+IFRo YXQncyBraW5kYSB3aHkgSSB0aGluayBvbmx5IHJlYXNvbmFibGUgb3B0aW9uIGlzIHRvIHRvc3Mg aW4gdGhlCj4gPiB0b3dlbCBhbmQgZGVjbGFyZSBkbWEtZmVuY2UgdG8gYmUgdGhlIG1lbW9yeSBm ZW5jZSAoYW5kIHN1Y2sgdXAgYWxsCj4gPiB0aGUgY29uc2VxdWVuY2VzIG9mIHRoYXQgZGVjaXNp b24gYXMgdWFwaSwgd2hpY2ggaXMga2luZGEgd2hlcmUgd2UKPiA+IGFyZSksIGFuZCBjb25zdHJ1 Y3Qgc29tZXRoaW5nIG5ldyZlbnRpcmVseSBmcmVlLXdoZWVsaW5nIGZvciB1c2Vyc3BhY2UKPiA+ IGZlbmNpbmcuIEJ1dCBvbmx5IGZvciBlbmdpbmVzIHRoYXQgYWxsb3cgZW5vdWdoIHByZWVtcHQv Z3B1IHBhZ2UKPiA+IGZhdWx0aW5nIHRvIG1ha2UgdGhhdCBwb3NzaWJsZS4gRnJlZSB3aGVlbGlu ZyB1c2Vyc3BhY2UgZmVuY2VzL2dwdQo+ID4gc2VtYXBob3JlcyBvciB3aGF0ZXZlciB5b3Ugd2Fu dCB0byBjYWxsIHRoZW0gKG9uIHdpbmRvd3MgSSB0aGluayBpdCdzCj4gPiBtb25pdG9yZWQgZmVu Y2UpIG9ubHkgd29yayBpZiB5b3UgY2FuIHByZWVtcHQgdG8gZGVjb3VwbGUgdGhlIG1lbW9yeQo+ ID4gZmVuY2VzIGZyb20geW91ciBncHUgY29tbWFuZCBleGVjdXRpb24uCj4gPgo+ID4gVGhlcmUn cyB0aGUgaW4tYmV0d2VlbiBzdGVwIG9mIGp1c3QgZGVjb3VwbGluZyB0aGUgYmF0Y2hidWZmZXIK PiA+IHN1Ym1pc3Npb24gcHJlcCBmb3IgaHcgd2l0aG91dCBhbnkgcHJlZW1wdCAoYnV0IGEgc2No ZWR1bGVyKSwgYnV0IHRoYXQKPiA+IHNlZW1zIGtpbmRhIHBvaW50bGVzcy4gTW9kZXJuIGV4ZWNi dWYgc2hvdWxkIGJlIE8oMSkgZmFzdHBhdGgsIHdpdGgKPiA+IGFsbCB0aGUgYWxsb2NhdGlvbi9t YXBwaW5nIHdvcmsgcHVsbGVkIG91dCBhaGVhZC4gdmsgZXhwb3NlcyB0aGF0Cj4gPiBtb2RlbCBk aXJlY3RseSB0byBjbGllbnRzLCBHTCBkcml2ZXJzIGNvdWxkIHVzZSBpdCBpbnRlcm5hbGx5IHRv bywgc28KPiA+IEkgc2VlIHplcm8gdmFsdWUgaW4gc3BlbmRpbmcgbG90cyBvZiB0aW1lIGVuZ2lu ZWVyaW5nIHZlcnkgdHJpY2t5Cj4gPiBrZXJuZWwgY29kZSBqdXN0IGZvciBvbGQgdXNlcnNwYWNl LiBNdWNoIG1vcmUgcmVhc29uYWJsZSB0byBkbyB0aGF0IGluCj4gPiB1c2Vyc3BhY2UsIHdoZXJl IHdlIGhhdmUgcmVhbCBkZWJ1Z2dlcnMgYW5kIG5vIHBhbmljcyBhYm91dCBzZWN1cml0eQo+ID4g YnVncyAob3Igd2VsbCwgYSBsb3QgbGVzcywgd2ViZ2wgaXMgc3RpbGwgYSB0aGluZywgYnV0IGF0 IGxlYXN0Cj4gPiBicm93c2VycyByZWFsaXplZCB5b3UgbmVlZCB0byBjb250YWluZXIgdGhhdCBj b21wbGV0ZWx5KS4KPgo+IFN1cmUsIGl0J3MgZGVmaW5pdGVseSBhIGJpZyBjaHVuayBvZiB3b3Jr LiBJIHRoaW5rIHRoZSBiaWcgd2luIHdvdWxkIGJlCj4gYWxsb3dpbmcgbWVtb3J5IGFsbG9jYXRp b24gaW4gZG1hLWZlbmNlIGNyaXRpY2FsIHNlY3Rpb25zLiBCdXQgSQo+IGNvbXBsZXRlbHkgYnV5 IHRoZSBhYm92ZSBhcmd1bWVudC4gSSBqdXN0IHdhbnRlZCB0byBwb2ludCBvdXQgdGhhdCBtYW55 Cj4gb2YgdGhlIGRtYS1mZW5jZSByZXN0cmljdGlvbnMgYXJlIElNSE8gZml4YWJsZSwgc2hvdWxk IHdlIG5lZWQgdG8gZG8KPiB0aGF0IGZvciB3aGF0ZXZlciByZWFzb24uCgpJJ20gc3RpbGwgbm90 IHN1cmUgdGhhdCdzIHBvc3NpYmxlLCB3aXRob3V0IHByZWVtcHRpb24gYXQgbGVhc3QuIFdlCmhh dmUgNCBlZGdlczoKLSBLZXJuZWwgaGFzIGludGVybmFsIGRlcGVuY2llcyBhbW9uZyBtZW1vcnkg ZmVuY2VzLiBXZSB3YW50IHRoYXQgdG8KYWxsb3cgKG1pbGQpIGFtb3VudHMgb2Ygb3ZlcmNvbW1p dCwgc2luY2UgdGhhdCBzaW1wbGlmaWVzIGxpdmUgc28KbXVjaC4KLSBNZW1vcnkgZmVuY2VzIGNh biBibG9jayBncHUgY3R4IGV4ZWN1dGlvbiAoYnkgbmF0dXJlIG9mIHRoZSBtZW1vcnkKc2ltcGx5 IG5vdCBiZWluZyB0aGVyZSB5ZXQgZHVlIHRvIG91ciBvdmVyY29tbWl0KQotIGdwdSBjdHggaGF2 ZSAoaWYgd2UgYWxsb3cgdGhpcykgdXNlcnNwYWNlIGNvbnRyb2xsZWQgc2VtYXBob3JlCmRlcGVu ZGVuY2llcy4gT2YgY291cnNlIHVzZXJzcGFjZSBpcyBleHBlY3RlZCB0byBub3QgY3JlYXRlIGRl YWRsb2NrcywKYnV0IHRoYXQncyBvbmx5IGFzc3VtaW5nIHRoZSBrZXJuZWwgZG9lc24ndCBpbmpl Y3QgYWRkaXRpb25hbApkZXBlbmRlbmNpZXMuIENvbXB1dGUgZm9sa3MgcmVhbGx5IHdhbnQgdGhh dC4KLSBncHUgY3R4IGNhbiBob2xkIHVwIG1lbW9yeSBhbGxvY2F0aW9ucyBpZiBhbGwgd2UgaGF2 ZSBpcwplbmQtb2YtYmF0Y2ggZmVuY2VzLiBBbmQgZW5kLW9mLWJhdGNoIGZlbmNlcyBhcmUgYWxs IHdlIGhhdmUgd2l0aG91dApwcmVlbXB0LCBwbHVzIGlmIHdlIHdhbnQgYmFja3dhcmRzIGNvbXBh dCB3aXRoIHRoZSBlbnRpcmUgY3VycmVudAp3aW5zeXMvY29tcG9zaXRvciBlY29zeXN0ZW0gd2Ug bmVlZCB0aGVtLCB3aGljaCBhbGxvd3MgdXMgdG8gaW5qZWN0CnN0dWZmIGRlcGVuZGVudCB1cG9u IHRoZW0gcHJldHR5IG11Y2ggYW55d2hlcmUuCgpGdW5kYW1lbnRhbGx5IHRoYXQncyBub3QgZml4 YWJsZSB3aXRob3V0IHRocm93aW5nIG9uZSBvZiB0aGUgZWRnZXMKKGFuZCB0aGUgY29ycmVzcG9u ZGluZyBmZWF0dXJlIHRoYXQgZW5hYmxlcykgb3V0LCBzaW5jZSBubyBlbnRpdHkgaGFzCmZ1bGwg dmlzaWJpbGl0eSBpbnRvIHdoYXQncyBnb2luZyBvbi4gRS5nLiBmb3JjaW5nIHVzZXJzcGFjZSB0 byB0ZWxsCnRoZSBrZXJuZWwgYWJvdXQgYWxsIHNlbWFwaG9yZXMganVzdCBicmluZ3MgdXAgYmFj ayB0byB0aGUKZHJtX3RpbWVsaW5lX3N5bmNvYmogZGVzaWduIHdlIGhhdmUgbWVyZ2VkIHJpZ2h0 IG5vdy4gQW5kIHRoYXQncyBpbW8Kbm8gYmV0dGVyLgoKVGhhdCdzIGtpbmRhIHdoeSBJJ20gbm90 IHNlZWluZyBtdWNoIGJlbmVmaXRzIGluIGEgaGFsZi13YXkgc3RhdGU6ClRvbnMgb2Ygd29yaywg YW5kIHN0aWxsIG5vdCB3aGF0IHVzZXJzcGFjZSB3YW50cy4gQW5kIGZvciB0aGUgZnVsbApkZWFs IHRoYXQgdXNlcnNwYWNlIHdhbnRzIHdlIG1pZ2h0IGFzIHdlbGwgbm90IGNoYW5nZSBhbnl0aGlu ZyB3aXRoCmRtYS1mZW5jZXMuIEZvciB0aGF0IHdlIG5lZWQgYSkgY3R4IHByZWVtcHQgYW5kIGIp IG5ldyBlbnRpcmVseQpkZWNvdXBsZWQgZmVuY2VzIHRoYXQgbmV2ZXIgZmVlZCBiYWNrIGludG8g YSBtZW1vcnkgZmVuY2VzIGFuZCBjKSBhcmUKY29udHJvbGxlZCBlbnRpcmVseSBieSB1c2Vyc3Bh Y2UuIEFuZCBjKSBpcyB0aGUgcmVhbGx5IGltcG9ydGFudCB0aGluZwpwZW9wbGUgd2FudCB1cyB0 byBwcm92aWRlLgoKQW5kIG9uY2Ugd2UncmUgb2sgd2l0aCBkbWFfZmVuY2UgPT0gbWVtb3J5IGZl bmNlcywgdGhlbiBlbmZvcmNpbmcgdGhlCnN0cmljdCBhbmQgcGFpbmZ1bCBtZW1vcnkgYWxsb2Nh dGlvbiBsaW1pdGF0aW9ucyBpcyBhY3R1YWxseSB3aGF0IHdlCndhbnQuCgpDaGVlcnMsIERhbmll bAotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24K aHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4Cg==