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=-8.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,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 82890C433DB for ; Thu, 14 Jan 2021 11:52:18 +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 BC8C523A34 for ; Thu, 14 Jan 2021 11:52:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BC8C523A34 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 E7AA66E250; Thu, 14 Jan 2021 11:52:16 +0000 (UTC) Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com [IPv6:2607:f8b0:4864:20::335]) by gabe.freedesktop.org (Postfix) with ESMTPS id EAC816E250 for ; Thu, 14 Jan 2021 11:52:15 +0000 (UTC) Received: by mail-ot1-x335.google.com with SMTP id q25so4895825otn.10 for ; Thu, 14 Jan 2021 03:52:15 -0800 (PST) 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=jxsLAdBpgA0kon3KhpO63qf8j7XjoIW36cw4nfSUxtY=; b=Ok+48E9jtLPpI8vERLJZcCNm7s4L6V6JxXZ1pNIUqdDroUgQRKnzNoMW9PjMLoYGEP S6fdQq7U3Rycg8OYwBKJAov0f0rKOXxrILRllLKtZagCQi50qrAiTaASYdEW29KlQc8Y vBR9H6jxMvv1bHtuqkjau5P+cfZwczQnUn/C4= 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=jxsLAdBpgA0kon3KhpO63qf8j7XjoIW36cw4nfSUxtY=; b=nZbfxyuUbCGeCKl0nouvlltQwE5QiAFGwGp4kB00XapfEtpJ354n2LVzoByw2v7Jwi CMZncP24LFROHz0atLF0uJyBrtyRkeNJ3o6B3ZNxjNXo/stksMsmeAl7n8d6eGUwj7pi 87lfr5zAtIgKCLdVDH83aftKaOxHaEAFKD2+W+953LBphQijYqUICYjTdm0vrAyKyADt jY8eJqDJNrq/4nN7loYvQqZxreuTHSXWHDm7wXrr33zJCM/pVaykvjCAqKjpqgaYnZuC rUDbHyHr4WQeAn969Sa/dWrEif3DGSq5XVuOOYMjL7+lbfTG3U91JCeWJbDao9fcigV5 lBXw== X-Gm-Message-State: AOAM533NqRjKk5OWmUTferrHyXqHEahDvI8w8MW7shDRhkCynr9LGojj O994KaXBhD7OfOctOIwKQOce+jlBNmjYEqlA6jgLjg== X-Google-Smtp-Source: ABdhPJzjPwNF+2bTmQR8L4v+Fq4AdddfqBRJTMwxVNG4JQlHZ4/5mux3mbnzVleXWBRBFu9JyJhiBReWkNdnztZD6cU= X-Received: by 2002:a9d:23ca:: with SMTP id t68mr4377241otb.281.1610625135211; Thu, 14 Jan 2021 03:52:15 -0800 (PST) MIME-Version: 1.0 References: <20210107030127.20393-1-Felix.Kuehling@amd.com> <6daf9ebc-507e-6e83-04dd-d7c5fc6998d6@amd.com> <20210113165646.GB521755@redhat.com> In-Reply-To: From: Daniel Vetter Date: Thu, 14 Jan 2021 12:52:03 +0100 Message-ID: Subject: Re: [PATCH 00/35] Add HMM-based SVM memory manager to KFD To: =?UTF-8?Q?Christian_K=C3=B6nig?= 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: Alex Sierra , "Yang, Philip" , Felix Kuehling , dri-devel , Jerome Glisse , amd-gfx list Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVGh1LCBKYW4gMTQsIDIwMjEgYXQgMTE6NDkgQU0gQ2hyaXN0aWFuIEvDtm5pZwo8Y2tvZW5p Zy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20+IHdyb3RlOgo+Cj4gQW0gMTMuMDEuMjEgdW0gMTc6 NTYgc2NocmllYiBKZXJvbWUgR2xpc3NlOgo+ID4gT24gRnJpLCBKYW4gMDgsIDIwMjEgYXQgMDM6 NDA6MDdQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+PiBPbiBUaHUsIEphbiAwNywg MjAyMSBhdCAxMToyNTo0MUFNIC0wNTAwLCBGZWxpeCBLdWVobGluZyB3cm90ZToKPiA+Pj4gQW0g MjAyMS0wMS0wNyB1bSA0OjIzIGEubS4gc2NocmllYiBEYW5pZWwgVmV0dGVyOgo+ID4+Pj4gT24g V2VkLCBKYW4gMDYsIDIwMjEgYXQgMTA6MDA6NTJQTSAtMDUwMCwgRmVsaXggS3VlaGxpbmcgd3Jv dGU6Cj4gPj4+Pj4gVGhpcyBpcyB0aGUgZmlyc3QgdmVyc2lvbiBvZiBvdXIgSE1NIGJhc2VkIHNo YXJlZCB2aXJ0dWFsIG1lbW9yeSBtYW5hZ2VyCj4gPj4+Pj4gZm9yIEtGRC4gVGhlcmUgYXJlIHN0 aWxsIGEgbnVtYmVyIG9mIGtub3duIGlzc3VlcyB0aGF0IHdlJ3JlIHdvcmtpbmcgdGhyb3VnaAo+ ID4+Pj4+IChzZWUgYmVsb3cpLiBUaGlzIHdpbGwgbGlrZWx5IGxlYWQgdG8gc29tZSBwcmV0dHkg c2lnbmlmaWNhbnQgY2hhbmdlcyBpbgo+ID4+Pj4+IE1NVSBub3RpZmllciBoYW5kbGluZyBhbmQg bG9ja2luZyBvbiB0aGUgbWlncmF0aW9uIGNvZGUgcGF0aHMuIFNvIGRvbid0Cj4gPj4+Pj4gZ2V0 IGh1bmcgdXAgb24gdGhvc2UgZGV0YWlscyB5ZXQuCj4gPj4+Pj4KPiA+Pj4+PiBCdXQgSSB0aGlu ayB0aGlzIGlzIGEgZ29vZCB0aW1lIHRvIHN0YXJ0IGdldHRpbmcgZmVlZGJhY2suIFdlJ3JlIHBy ZXR0eQo+ID4+Pj4+IGNvbmZpZGVudCBhYm91dCB0aGUgaW9jdGwgQVBJLCB3aGljaCBpcyBib3Ro IHNpbXBsZSBhbmQgZXh0ZW5zaWJsZSBmb3IgdGhlCj4gPj4+Pj4gZnV0dXJlLiAoc2VlIHBhdGNo ZXMgNCwxNikgVGhlIHVzZXIgbW9kZSBzaWRlIG9mIHRoZSBBUEkgY2FuIGJlIGZvdW5kIGhlcmU6 Cj4gPj4+Pj4gaHR0cHM6Ly9naXRodWIuY29tL1JhZGVvbk9wZW5Db21wdXRlL1JPQ1QtVGh1bmst SW50ZXJmYWNlL2Jsb2IvZnhrYW1kL2htbS13aXAvc3JjL3N2bS5jCj4gPj4+Pj4KPiA+Pj4+PiBJ J2QgYWxzbyBsaWtlIGFub3RoZXIgcGFpciBvZiBleWVzIG9uIGhvdyB3ZSdyZSBpbnRlcmZhY2lu ZyB3aXRoIHRoZSBHUFUgVk0KPiA+Pj4+PiBjb2RlIGluIGFtZGdwdV92bS5jIChzZWUgcGF0Y2hl cyAxMiwxMyksIHJldHJ5IHBhZ2UgZmF1bHQgaGFuZGxpbmcgKDI0LDI1KSwKPiA+Pj4+PiBhbmQg c29tZSByZXRyeSBJUlEgaGFuZGxpbmcgY2hhbmdlcyAoMzIpLgo+ID4+Pj4+Cj4gPj4+Pj4KPiA+ Pj4+PiBLbm93biBpc3N1ZXM6Cj4gPj4+Pj4gKiB3b24ndCB3b3JrIHdpdGggSU9NTVUgZW5hYmxl ZCwgd2UgbmVlZCB0byBkbWFfbWFwIGFsbCBwYWdlcyBwcm9wZXJseQo+ID4+Pj4+ICogc3RpbGwg d29ya2luZyBvbiBzb21lIHJhY2UgY29uZGl0aW9ucyBhbmQgcmFuZG9tIGJ1Z3MKPiA+Pj4+PiAq IHBlcmZvcm1hbmNlIGlzIG5vdCBncmVhdCB5ZXQKPiA+Pj4+IFN0aWxsIGNhdGNoaW5nIHVwLCBi dXQgSSB0aGluayB0aGVyZSdzIGFub3RoZXIgb25lIGZvciB5b3VyIGxpc3Q6Cj4gPj4+Pgo+ID4+ Pj4gICAqIGhtbSBncHUgY29udGV4dCBwcmVlbXB0IHZzIHBhZ2UgZmF1bHQgaGFuZGxpbmcuIEkn dmUgaGFkIGEgc2hvcnQKPiA+Pj4+ICAgICBkaXNjdXNzaW9uIGFib3V0IHRoaXMgb25lIHdpdGgg Q2hyaXN0aWFuIGJlZm9yZSB0aGUgaG9saWRheXMsIGFuZCBhbHNvCj4gPj4+PiAgICAgc29tZSBw cml2YXRlIGNoYXRzIHdpdGggSmVyb21lLiBJdCdzIG5hc3R5IHNpbmNlIG5vIGVhc3kgZml4LCBt dWNoIGxlc3MKPiA+Pj4+ICAgICBhIGdvb2QgaWRlYSB3aGF0J3MgdGhlIGJlc3QgYXBwcm9hY2gg aGVyZS4KPiA+Pj4gRG8geW91IGhhdmUgYSBwb2ludGVyIHRvIHRoYXQgZGlzY3Vzc2lvbiBvciBh bnkgbW9yZSBkZXRhaWxzPwo+ID4+IEVzc2VudGlhbGx5IGlmIHlvdSdyZSBoYW5kbGluZyBhbiBo bW0gcGFnZSBmYXVsdCBmcm9tIHRoZSBncHUsIHlvdSBjYW4KPiA+PiBkZWFkbG9jayBieSBjYWxs aW5nIGRtYV9mZW5jZV93YWl0IG9uIGEgKGNoYWluIG9mLCBwb3NzaWJseSkgb3RoZXIgY29tbWFu ZAo+ID4+IHN1Ym1pc3Npb25zIG9yIGNvbXB1dGUgY29udGV4dHMgd2l0aCBkbWFfZmVuY2Vfd2Fp dC4gV2hpY2ggZGVhZGxvY2tzIGlmCj4gPj4geW91IGNhbid0IHByZWVtcHQgd2hpbGUgeW91IGhh dmUgdGhhdCBwYWdlIGZhdWx0IHBlbmRpbmcuIFR3byBzb2x1dGlvbnM6Cj4gPj4KPiA+PiAtIHlv dXIgaHcgY2FuIChhdCBsZWFzdCBmb3IgY29tcHV0ZSBjdHgpIHByZWVtcHQgZXZlbiB3aGVuIGEg cGFnZSBmYXVsdCBpcwo+ID4+ICAgIHBlbmRpbmcKPiA+Pgo+ID4+IC0gbG90cyBvZiBzY3JlYW1p bmcgaW4gdHJ5aW5nIHRvIGNvbWUgdXAgd2l0aCBhbiBhbHRlcm5hdGUgc29sdXRpb24uIFRoZXkK PiA+PiAgICBhbGwgc3Vjay4KPiA+Pgo+ID4+IE5vdGUgdGhhdCB0aGUgZG1hX2ZlbmNlX3dhaXQg aXMgaGFyZCByZXF1aXJlbWVudCwgYmVjYXVzZSB3ZSBuZWVkIHRoYXQgZm9yCj4gPj4gbW11IG5v dGlmaWVycyBhbmQgc2hyaW5rZXJzLCBkaXNhbGxvd2luZyB0aGF0IHdvdWxkIGRpc2FibGUgZHlu YW1pYyBtZW1vcnkKPiA+PiBtYW5hZ2VtZW50LiBXaGljaCBpcyB0aGUgY3VycmVudCAidHRtIGlz IHNlbGYtbGltaXRlZCB0byA1MCUgb2Ygc3lzdGVtCj4gPj4gbWVtb3J5IiBsaW1pdGF0aW9uIENo cmlzdGlhbiBpcyB0cnlpbmcgdG8gbGlmdC4gU28gdGhhdCdzIHJlYWxseSBub3QKPiA+PiBhIHJl c3RyaWN0aW9uIHdlIGNhbiBsaWZ0LCBhdCBsZWFzdCBub3QgaW4gdXBzdHJlYW0gd2hlcmUgd2Ug bmVlZCB0byBhbHNvCj4gPj4gc3VwcG9ydCBvbGQgc3R5bGUgaGFyZHdhcmUgd2hpY2ggZG9lc24n dCBoYXZlIHBhZ2UgZmF1bHQgc3VwcG9ydCBhbmQKPiA+PiByZWFsbHkgaGFzIG5vIG90aGVyIG9w dGlvbiB0byBoYW5kbGUgbWVtb3J5IG1hbmFnZW1lbnQgdGhhbgo+ID4+IGRtYV9mZW5jZV93YWl0 Lgo+ID4+Cj4gPj4gVGhyZWFkIHdhcyBoZXJlOgo+ID4+Cj4gPj4gaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvZHJpLWRldmVsL0NBS01LN3VHZ29lRjhMbUZCd1doNW1XMWs0eFdqdVVoM2hkU0ZwVkgx TkJNN0swPWVkQUBtYWlsLmdtYWlsLmNvbS8KPiA+Pgo+ID4+IFRoZXJlJ3MgYSBmZXcgd2F5cyB0 byByZXNvbHZlIHRoaXMgKHdpdGhvdXQgaGF2aW5nIHByZWVtcHQtY2FwYWJsZQo+ID4+IGhhcmR3 YXJlKSwgYnV0IHRoZXkncmUgYWxsIHN1cHJlbWVseSBuYXN0eS4KPiA+PiAtRGFuaWVsCj4gPj4K PiA+IEkgaGFkIGEgbmV3IGlkZWEsIGkgd2FudGVkIHRvIHRoaW5rIG1vcmUgYWJvdXQgaXQgYnV0 IGhhdmUgbm90IHlldCwKPiA+IGFueXdheSBoZXJlIGl0IGlzLiBBZGRpbmcgYSBuZXcgY2FsbGJh Y2sgdG8gZG1hIGZlbmNlIHdoaWNoIGFzayB0aGUKPiA+IHF1ZXN0aW9uIGNhbiBpdCBkZWFkIGxv Y2sgPyBBbnkgdGltZSBhIEdQVSBkcml2ZXIgaGFzIHBlbmRpbmcgcGFnZQo+ID4gZmF1bHQgKGll IHNvbWV0aGluZyBjYWxsaW5nIGludG8gdGhlIG1tKSBpdCBhbnN3ZXIgeWVzLCBvdGhlcndpc2UK PiA+IG5vLiBUaGUgR1BVIHNocmlua2VyIHdvdWxkIGFzayB0aGUgcXVlc3Rpb24gYmVmb3JlIHdh aXRpbmcgb24gYW55Cj4gPiBkbWEtZmVuY2UgYW5kIGJhY2sgb2YgaWYgaXQgZ2V0cyB5ZXMuIFNo cmlua2VyIGNhbiBzdGlsbCB0cnkgbWFueQo+ID4gZG1hIGJ1ZiBvYmplY3QgZm9yIHdoaWNoIGl0 IGRvZXMgbm90IGdldCBhIHllcyBvbiBhc3NvY2lhdGVkIGZlbmNlLgo+ID4KPiA+IFRoaXMgZG9l cyBub3Qgc29sdmUgdGhlIG1tdSBub3RpZmllciBjYXNlLCBmb3IgdGhpcyB5b3Ugd291bGQganVz dAo+ID4gaW52YWxpZGF0ZSB0aGUgZ2VtIHVzZXJwdHIgb2JqZWN0ICh3aXRoIGEgZmxhZyBidXQg bm90IHJlbGVhc2luZyB0aGUKPiA+IHBhZ2UgcmVmY291bnQpIGJ1dCB5b3Ugd291bGQgbm90IHdh aXQgZm9yIHRoZSBHUFUgKGllIG5vIGRtYSBmZW5jZQo+ID4gd2FpdCBpbiB0aGF0IGNvZGUgcGF0 aCBhbnltb3JlKS4gVGhlIHVzZXJwdHIgQVBJIG5ldmVyIHJlYWxseSBtYWRlCj4gPiB0aGUgY29u dHJhY3QgdGhhdCBpdCB3aWxsIGFsd2F5cyBiZSBpbiBzeW5jIHdpdGggdGhlIG1tIHZpZXcgb2Yg dGhlCj4gPiB3b3JsZCBzbyBpZiBkaWZmZXJlbnQgcGFnZSBnZXQgcmVtYXBwZWQgdG8gc2FtZSB2 aXJ0dWFsIGFkZHJlc3MKPiA+IHdoaWxlIEdQVSBpcyBzdGlsbCB3b3JraW5nIHdpdGggdGhlIG9s ZCBwYWdlcyBpdCBzaG91bGQgbm90IGJlIGFuCj4gPiBpc3N1ZSAoaXQgd291bGQgbm90IGJlIGlu IG91ciB1c2FnZSBvZiB1c2VycHRyIGZvciBjb21wb3NpdG9yIGFuZAo+ID4gd2hhdCBub3QpLgo+ Cj4gVGhlIGN1cnJlbnQgd29ya2luZyBpZGVhIGluIG15IG1pbmQgZ29lcyBpbnRvIGEgc2ltaWxh ciBkaXJlY3Rpb24uCj4KPiBCdXQgaW5zdGVhZCBvZiBhIGNhbGxiYWNrIEknbSBhZGRpbmcgYSBj b21wbGV0ZSBuZXcgY2xhc3Mgb2YgSE1NIGZlbmNlcy4KPgo+IFdhaXRpbmcgaW4gdGhlIE1NVSBu b3RmaWVyLCBzY2hlZHVsZXIsIFRUTSBldGMgZXRjIGlzIG9ubHkgYWxsb3dlZCBmb3IKPiB0aGUg ZG1hX2ZlbmNlcyBhbmQgSE1NIGZlbmNlcyBhcmUgaWdub3JlZCBpbiBjb250YWluZXIgb2JqZWN0 cy4KPgo+IFdoZW4geW91IGhhbmRsZSBhbiBpbXBsaWNpdCBvciBleHBsaWNpdCBzeW5jaHJvbml6 YXRpb24gcmVxdWVzdCBmcm9tCj4gdXNlcnNwYWNlIHlvdSBuZWVkIHRvIGJsb2NrIGZvciBITU0g ZmVuY2VzIHRvIGNvbXBsZXRlIGJlZm9yZSB0YWtpbmcgYW55Cj4gcmVzb3VyY2UgbG9ja3MuCgpJ c250JyB0aGF0IHdoYXQgSSBjYWxsIGdhbmcgc2NoZWR1bGluZz8gSS5lLiB5b3UgZWl0aGVyIHJ1 biBpbiBITU0KbW9kZSwgb3IgaW4gbGVnYWN5IGZlbmNpbmcgbW9kZSAod2hldGhlciBpbXBsaWNp dCBvciBleHBsaWNpdCBkb2Vzbid0CnJlYWxseSBtYXR0ZXIgSSB0aGluaykuIEJ5IGZvcmNpbmcg dGhhdCBzcGxpdCB3ZSBhdm9pZCB0aGUgcHJvYmxlbSwKYnV0IGl0IG1lYW5zIG9jY2FzaW9uYWxs eSBmdWxsIHN0YWxscyBvbiBtaXhlZCB3b3JrbG9hZHMuCgpCdXQgdGhhdCdzIG5vdCB3aGF0IEpl cm9tZSB3YW50cyAoYWZhaXVpIGF0IGxlYXN0KSwgSSB0aGluayBoaXMgaWRlYQppcyB0byB0cmFj ayB0aGUgcmV2ZXJzZSBkZXBlbmRlbmNpZXMgb2YgYWxsIHRoZSBmZW5jZXMgZmxvYXRpbmcKYXJv dW5kLCBhbmQgdGhlbiBza2lwIGV2aWN0aW5nIGFuIG9iamVjdCBpZiB5b3UgaGF2ZSB0byB3YWl0 IGZvciBhbnkKZmVuY2UgdGhhdCBpcyBwcm9ibGVtYXRpYyBmb3IgdGhlIGN1cnJlbnQgY2FsbGlu ZyBjb250ZXh0LiBBbmQgSSBkb24ndAp0aGluayB0aGF0J3MgdmVyeSBmZWFzaWJsZSBpbiBwcmFj dGljZS4KClNvIHdoYXQga2luZCBvZiBobW0gZmVuY2VzIGRvIHlvdSBoYXZlIGluIG1pbmQgaGVy ZT8KLURhbmllbAoKCj4KPiBSZWdhcmRzLAo+IENocmlzdGlhbi4KPgo+ID4KPiA+IE1heWJlIGkg b3Zlcmxvb2sgc29tZXRoaW5nIHRoZXJlLgo+ID4KPiA+IENoZWVycywKPiA+IErDg8KpcsODwrRt ZQo+ID4KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1k LWdmeAo+CgoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBv cmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f 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=-8.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS 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 36C03C433E6 for ; Thu, 14 Jan 2021 11:52:20 +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 D06C823A34 for ; Thu, 14 Jan 2021 11:52:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D06C823A34 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 4A83F6E255; Thu, 14 Jan 2021 11:52:17 +0000 (UTC) Received: from mail-ot1-x332.google.com (mail-ot1-x332.google.com [IPv6:2607:f8b0:4864:20::332]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1246B6E255 for ; Thu, 14 Jan 2021 11:52:16 +0000 (UTC) Received: by mail-ot1-x332.google.com with SMTP id i6so4926552otr.2 for ; Thu, 14 Jan 2021 03:52:15 -0800 (PST) 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=jxsLAdBpgA0kon3KhpO63qf8j7XjoIW36cw4nfSUxtY=; b=Ok+48E9jtLPpI8vERLJZcCNm7s4L6V6JxXZ1pNIUqdDroUgQRKnzNoMW9PjMLoYGEP S6fdQq7U3Rycg8OYwBKJAov0f0rKOXxrILRllLKtZagCQi50qrAiTaASYdEW29KlQc8Y vBR9H6jxMvv1bHtuqkjau5P+cfZwczQnUn/C4= 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=jxsLAdBpgA0kon3KhpO63qf8j7XjoIW36cw4nfSUxtY=; b=KcaZggEHddCKRuKwLkOMBhNSd+who9lu+u5b1fDVhfQ/BdwmHs1p1qVUoGqEZQ3reS EiL0AVWncMIqeizedQ0H0l/RC3mrLMV/vimt+MEloRft1mfX+O1zss5l/70Np1+EfUMt d3J7drtanhpYfP8WkHQ+naT0IafK4yJcFjIPoEWNMUsRdZ4M3agd+EOcr3V3ohNg+eeW Y4k8CyNaS7BOZaIvZlb5hjgspcwrCg7mMONwkHFMUsZMcW3A8mg4SR1DuucPlckVY4ip 7NKFBN2r+RSt1SO7+5usEcN96HgS7HLZOdahqGGaSVgIE+ZnU3kXttyfKCRZ1LYXpApt zbxQ== X-Gm-Message-State: AOAM531LNE5wkB8xdBxQczjLGiRhnJ10ZY6XKxb7zBYVsedm2DRZzdsW zDg7qWtUFUNAG3tTgSEdG6dJKkuh57rY+asDhSgouw== X-Google-Smtp-Source: ABdhPJzjPwNF+2bTmQR8L4v+Fq4AdddfqBRJTMwxVNG4JQlHZ4/5mux3mbnzVleXWBRBFu9JyJhiBReWkNdnztZD6cU= X-Received: by 2002:a9d:23ca:: with SMTP id t68mr4377241otb.281.1610625135211; Thu, 14 Jan 2021 03:52:15 -0800 (PST) MIME-Version: 1.0 References: <20210107030127.20393-1-Felix.Kuehling@amd.com> <6daf9ebc-507e-6e83-04dd-d7c5fc6998d6@amd.com> <20210113165646.GB521755@redhat.com> In-Reply-To: From: Daniel Vetter Date: Thu, 14 Jan 2021 12:52:03 +0100 Message-ID: Subject: Re: [PATCH 00/35] Add HMM-based SVM memory manager to KFD To: =?UTF-8?Q?Christian_K=C3=B6nig?= 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: Alex Sierra , "Yang, Philip" , Felix Kuehling , dri-devel , Jerome Glisse , amd-gfx list Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" T24gVGh1LCBKYW4gMTQsIDIwMjEgYXQgMTE6NDkgQU0gQ2hyaXN0aWFuIEvDtm5pZwo8Y2tvZW5p Zy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20+IHdyb3RlOgo+Cj4gQW0gMTMuMDEuMjEgdW0gMTc6 NTYgc2NocmllYiBKZXJvbWUgR2xpc3NlOgo+ID4gT24gRnJpLCBKYW4gMDgsIDIwMjEgYXQgMDM6 NDA6MDdQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+PiBPbiBUaHUsIEphbiAwNywg MjAyMSBhdCAxMToyNTo0MUFNIC0wNTAwLCBGZWxpeCBLdWVobGluZyB3cm90ZToKPiA+Pj4gQW0g MjAyMS0wMS0wNyB1bSA0OjIzIGEubS4gc2NocmllYiBEYW5pZWwgVmV0dGVyOgo+ID4+Pj4gT24g V2VkLCBKYW4gMDYsIDIwMjEgYXQgMTA6MDA6NTJQTSAtMDUwMCwgRmVsaXggS3VlaGxpbmcgd3Jv dGU6Cj4gPj4+Pj4gVGhpcyBpcyB0aGUgZmlyc3QgdmVyc2lvbiBvZiBvdXIgSE1NIGJhc2VkIHNo YXJlZCB2aXJ0dWFsIG1lbW9yeSBtYW5hZ2VyCj4gPj4+Pj4gZm9yIEtGRC4gVGhlcmUgYXJlIHN0 aWxsIGEgbnVtYmVyIG9mIGtub3duIGlzc3VlcyB0aGF0IHdlJ3JlIHdvcmtpbmcgdGhyb3VnaAo+ ID4+Pj4+IChzZWUgYmVsb3cpLiBUaGlzIHdpbGwgbGlrZWx5IGxlYWQgdG8gc29tZSBwcmV0dHkg c2lnbmlmaWNhbnQgY2hhbmdlcyBpbgo+ID4+Pj4+IE1NVSBub3RpZmllciBoYW5kbGluZyBhbmQg bG9ja2luZyBvbiB0aGUgbWlncmF0aW9uIGNvZGUgcGF0aHMuIFNvIGRvbid0Cj4gPj4+Pj4gZ2V0 IGh1bmcgdXAgb24gdGhvc2UgZGV0YWlscyB5ZXQuCj4gPj4+Pj4KPiA+Pj4+PiBCdXQgSSB0aGlu ayB0aGlzIGlzIGEgZ29vZCB0aW1lIHRvIHN0YXJ0IGdldHRpbmcgZmVlZGJhY2suIFdlJ3JlIHBy ZXR0eQo+ID4+Pj4+IGNvbmZpZGVudCBhYm91dCB0aGUgaW9jdGwgQVBJLCB3aGljaCBpcyBib3Ro IHNpbXBsZSBhbmQgZXh0ZW5zaWJsZSBmb3IgdGhlCj4gPj4+Pj4gZnV0dXJlLiAoc2VlIHBhdGNo ZXMgNCwxNikgVGhlIHVzZXIgbW9kZSBzaWRlIG9mIHRoZSBBUEkgY2FuIGJlIGZvdW5kIGhlcmU6 Cj4gPj4+Pj4gaHR0cHM6Ly9naXRodWIuY29tL1JhZGVvbk9wZW5Db21wdXRlL1JPQ1QtVGh1bmst SW50ZXJmYWNlL2Jsb2IvZnhrYW1kL2htbS13aXAvc3JjL3N2bS5jCj4gPj4+Pj4KPiA+Pj4+PiBJ J2QgYWxzbyBsaWtlIGFub3RoZXIgcGFpciBvZiBleWVzIG9uIGhvdyB3ZSdyZSBpbnRlcmZhY2lu ZyB3aXRoIHRoZSBHUFUgVk0KPiA+Pj4+PiBjb2RlIGluIGFtZGdwdV92bS5jIChzZWUgcGF0Y2hl cyAxMiwxMyksIHJldHJ5IHBhZ2UgZmF1bHQgaGFuZGxpbmcgKDI0LDI1KSwKPiA+Pj4+PiBhbmQg c29tZSByZXRyeSBJUlEgaGFuZGxpbmcgY2hhbmdlcyAoMzIpLgo+ID4+Pj4+Cj4gPj4+Pj4KPiA+ Pj4+PiBLbm93biBpc3N1ZXM6Cj4gPj4+Pj4gKiB3b24ndCB3b3JrIHdpdGggSU9NTVUgZW5hYmxl ZCwgd2UgbmVlZCB0byBkbWFfbWFwIGFsbCBwYWdlcyBwcm9wZXJseQo+ID4+Pj4+ICogc3RpbGwg d29ya2luZyBvbiBzb21lIHJhY2UgY29uZGl0aW9ucyBhbmQgcmFuZG9tIGJ1Z3MKPiA+Pj4+PiAq IHBlcmZvcm1hbmNlIGlzIG5vdCBncmVhdCB5ZXQKPiA+Pj4+IFN0aWxsIGNhdGNoaW5nIHVwLCBi dXQgSSB0aGluayB0aGVyZSdzIGFub3RoZXIgb25lIGZvciB5b3VyIGxpc3Q6Cj4gPj4+Pgo+ID4+ Pj4gICAqIGhtbSBncHUgY29udGV4dCBwcmVlbXB0IHZzIHBhZ2UgZmF1bHQgaGFuZGxpbmcuIEkn dmUgaGFkIGEgc2hvcnQKPiA+Pj4+ICAgICBkaXNjdXNzaW9uIGFib3V0IHRoaXMgb25lIHdpdGgg Q2hyaXN0aWFuIGJlZm9yZSB0aGUgaG9saWRheXMsIGFuZCBhbHNvCj4gPj4+PiAgICAgc29tZSBw cml2YXRlIGNoYXRzIHdpdGggSmVyb21lLiBJdCdzIG5hc3R5IHNpbmNlIG5vIGVhc3kgZml4LCBt dWNoIGxlc3MKPiA+Pj4+ICAgICBhIGdvb2QgaWRlYSB3aGF0J3MgdGhlIGJlc3QgYXBwcm9hY2gg aGVyZS4KPiA+Pj4gRG8geW91IGhhdmUgYSBwb2ludGVyIHRvIHRoYXQgZGlzY3Vzc2lvbiBvciBh bnkgbW9yZSBkZXRhaWxzPwo+ID4+IEVzc2VudGlhbGx5IGlmIHlvdSdyZSBoYW5kbGluZyBhbiBo bW0gcGFnZSBmYXVsdCBmcm9tIHRoZSBncHUsIHlvdSBjYW4KPiA+PiBkZWFkbG9jayBieSBjYWxs aW5nIGRtYV9mZW5jZV93YWl0IG9uIGEgKGNoYWluIG9mLCBwb3NzaWJseSkgb3RoZXIgY29tbWFu ZAo+ID4+IHN1Ym1pc3Npb25zIG9yIGNvbXB1dGUgY29udGV4dHMgd2l0aCBkbWFfZmVuY2Vfd2Fp dC4gV2hpY2ggZGVhZGxvY2tzIGlmCj4gPj4geW91IGNhbid0IHByZWVtcHQgd2hpbGUgeW91IGhh dmUgdGhhdCBwYWdlIGZhdWx0IHBlbmRpbmcuIFR3byBzb2x1dGlvbnM6Cj4gPj4KPiA+PiAtIHlv dXIgaHcgY2FuIChhdCBsZWFzdCBmb3IgY29tcHV0ZSBjdHgpIHByZWVtcHQgZXZlbiB3aGVuIGEg cGFnZSBmYXVsdCBpcwo+ID4+ICAgIHBlbmRpbmcKPiA+Pgo+ID4+IC0gbG90cyBvZiBzY3JlYW1p bmcgaW4gdHJ5aW5nIHRvIGNvbWUgdXAgd2l0aCBhbiBhbHRlcm5hdGUgc29sdXRpb24uIFRoZXkK PiA+PiAgICBhbGwgc3Vjay4KPiA+Pgo+ID4+IE5vdGUgdGhhdCB0aGUgZG1hX2ZlbmNlX3dhaXQg aXMgaGFyZCByZXF1aXJlbWVudCwgYmVjYXVzZSB3ZSBuZWVkIHRoYXQgZm9yCj4gPj4gbW11IG5v dGlmaWVycyBhbmQgc2hyaW5rZXJzLCBkaXNhbGxvd2luZyB0aGF0IHdvdWxkIGRpc2FibGUgZHlu YW1pYyBtZW1vcnkKPiA+PiBtYW5hZ2VtZW50LiBXaGljaCBpcyB0aGUgY3VycmVudCAidHRtIGlz IHNlbGYtbGltaXRlZCB0byA1MCUgb2Ygc3lzdGVtCj4gPj4gbWVtb3J5IiBsaW1pdGF0aW9uIENo cmlzdGlhbiBpcyB0cnlpbmcgdG8gbGlmdC4gU28gdGhhdCdzIHJlYWxseSBub3QKPiA+PiBhIHJl c3RyaWN0aW9uIHdlIGNhbiBsaWZ0LCBhdCBsZWFzdCBub3QgaW4gdXBzdHJlYW0gd2hlcmUgd2Ug bmVlZCB0byBhbHNvCj4gPj4gc3VwcG9ydCBvbGQgc3R5bGUgaGFyZHdhcmUgd2hpY2ggZG9lc24n dCBoYXZlIHBhZ2UgZmF1bHQgc3VwcG9ydCBhbmQKPiA+PiByZWFsbHkgaGFzIG5vIG90aGVyIG9w dGlvbiB0byBoYW5kbGUgbWVtb3J5IG1hbmFnZW1lbnQgdGhhbgo+ID4+IGRtYV9mZW5jZV93YWl0 Lgo+ID4+Cj4gPj4gVGhyZWFkIHdhcyBoZXJlOgo+ID4+Cj4gPj4gaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvZHJpLWRldmVsL0NBS01LN3VHZ29lRjhMbUZCd1doNW1XMWs0eFdqdVVoM2hkU0ZwVkgx TkJNN0swPWVkQUBtYWlsLmdtYWlsLmNvbS8KPiA+Pgo+ID4+IFRoZXJlJ3MgYSBmZXcgd2F5cyB0 byByZXNvbHZlIHRoaXMgKHdpdGhvdXQgaGF2aW5nIHByZWVtcHQtY2FwYWJsZQo+ID4+IGhhcmR3 YXJlKSwgYnV0IHRoZXkncmUgYWxsIHN1cHJlbWVseSBuYXN0eS4KPiA+PiAtRGFuaWVsCj4gPj4K PiA+IEkgaGFkIGEgbmV3IGlkZWEsIGkgd2FudGVkIHRvIHRoaW5rIG1vcmUgYWJvdXQgaXQgYnV0 IGhhdmUgbm90IHlldCwKPiA+IGFueXdheSBoZXJlIGl0IGlzLiBBZGRpbmcgYSBuZXcgY2FsbGJh Y2sgdG8gZG1hIGZlbmNlIHdoaWNoIGFzayB0aGUKPiA+IHF1ZXN0aW9uIGNhbiBpdCBkZWFkIGxv Y2sgPyBBbnkgdGltZSBhIEdQVSBkcml2ZXIgaGFzIHBlbmRpbmcgcGFnZQo+ID4gZmF1bHQgKGll IHNvbWV0aGluZyBjYWxsaW5nIGludG8gdGhlIG1tKSBpdCBhbnN3ZXIgeWVzLCBvdGhlcndpc2UK PiA+IG5vLiBUaGUgR1BVIHNocmlua2VyIHdvdWxkIGFzayB0aGUgcXVlc3Rpb24gYmVmb3JlIHdh aXRpbmcgb24gYW55Cj4gPiBkbWEtZmVuY2UgYW5kIGJhY2sgb2YgaWYgaXQgZ2V0cyB5ZXMuIFNo cmlua2VyIGNhbiBzdGlsbCB0cnkgbWFueQo+ID4gZG1hIGJ1ZiBvYmplY3QgZm9yIHdoaWNoIGl0 IGRvZXMgbm90IGdldCBhIHllcyBvbiBhc3NvY2lhdGVkIGZlbmNlLgo+ID4KPiA+IFRoaXMgZG9l cyBub3Qgc29sdmUgdGhlIG1tdSBub3RpZmllciBjYXNlLCBmb3IgdGhpcyB5b3Ugd291bGQganVz dAo+ID4gaW52YWxpZGF0ZSB0aGUgZ2VtIHVzZXJwdHIgb2JqZWN0ICh3aXRoIGEgZmxhZyBidXQg bm90IHJlbGVhc2luZyB0aGUKPiA+IHBhZ2UgcmVmY291bnQpIGJ1dCB5b3Ugd291bGQgbm90IHdh aXQgZm9yIHRoZSBHUFUgKGllIG5vIGRtYSBmZW5jZQo+ID4gd2FpdCBpbiB0aGF0IGNvZGUgcGF0 aCBhbnltb3JlKS4gVGhlIHVzZXJwdHIgQVBJIG5ldmVyIHJlYWxseSBtYWRlCj4gPiB0aGUgY29u dHJhY3QgdGhhdCBpdCB3aWxsIGFsd2F5cyBiZSBpbiBzeW5jIHdpdGggdGhlIG1tIHZpZXcgb2Yg dGhlCj4gPiB3b3JsZCBzbyBpZiBkaWZmZXJlbnQgcGFnZSBnZXQgcmVtYXBwZWQgdG8gc2FtZSB2 aXJ0dWFsIGFkZHJlc3MKPiA+IHdoaWxlIEdQVSBpcyBzdGlsbCB3b3JraW5nIHdpdGggdGhlIG9s ZCBwYWdlcyBpdCBzaG91bGQgbm90IGJlIGFuCj4gPiBpc3N1ZSAoaXQgd291bGQgbm90IGJlIGlu IG91ciB1c2FnZSBvZiB1c2VycHRyIGZvciBjb21wb3NpdG9yIGFuZAo+ID4gd2hhdCBub3QpLgo+ Cj4gVGhlIGN1cnJlbnQgd29ya2luZyBpZGVhIGluIG15IG1pbmQgZ29lcyBpbnRvIGEgc2ltaWxh ciBkaXJlY3Rpb24uCj4KPiBCdXQgaW5zdGVhZCBvZiBhIGNhbGxiYWNrIEknbSBhZGRpbmcgYSBj b21wbGV0ZSBuZXcgY2xhc3Mgb2YgSE1NIGZlbmNlcy4KPgo+IFdhaXRpbmcgaW4gdGhlIE1NVSBu b3RmaWVyLCBzY2hlZHVsZXIsIFRUTSBldGMgZXRjIGlzIG9ubHkgYWxsb3dlZCBmb3IKPiB0aGUg ZG1hX2ZlbmNlcyBhbmQgSE1NIGZlbmNlcyBhcmUgaWdub3JlZCBpbiBjb250YWluZXIgb2JqZWN0 cy4KPgo+IFdoZW4geW91IGhhbmRsZSBhbiBpbXBsaWNpdCBvciBleHBsaWNpdCBzeW5jaHJvbml6 YXRpb24gcmVxdWVzdCBmcm9tCj4gdXNlcnNwYWNlIHlvdSBuZWVkIHRvIGJsb2NrIGZvciBITU0g ZmVuY2VzIHRvIGNvbXBsZXRlIGJlZm9yZSB0YWtpbmcgYW55Cj4gcmVzb3VyY2UgbG9ja3MuCgpJ c250JyB0aGF0IHdoYXQgSSBjYWxsIGdhbmcgc2NoZWR1bGluZz8gSS5lLiB5b3UgZWl0aGVyIHJ1 biBpbiBITU0KbW9kZSwgb3IgaW4gbGVnYWN5IGZlbmNpbmcgbW9kZSAod2hldGhlciBpbXBsaWNp dCBvciBleHBsaWNpdCBkb2Vzbid0CnJlYWxseSBtYXR0ZXIgSSB0aGluaykuIEJ5IGZvcmNpbmcg dGhhdCBzcGxpdCB3ZSBhdm9pZCB0aGUgcHJvYmxlbSwKYnV0IGl0IG1lYW5zIG9jY2FzaW9uYWxs eSBmdWxsIHN0YWxscyBvbiBtaXhlZCB3b3JrbG9hZHMuCgpCdXQgdGhhdCdzIG5vdCB3aGF0IEpl cm9tZSB3YW50cyAoYWZhaXVpIGF0IGxlYXN0KSwgSSB0aGluayBoaXMgaWRlYQppcyB0byB0cmFj ayB0aGUgcmV2ZXJzZSBkZXBlbmRlbmNpZXMgb2YgYWxsIHRoZSBmZW5jZXMgZmxvYXRpbmcKYXJv dW5kLCBhbmQgdGhlbiBza2lwIGV2aWN0aW5nIGFuIG9iamVjdCBpZiB5b3UgaGF2ZSB0byB3YWl0 IGZvciBhbnkKZmVuY2UgdGhhdCBpcyBwcm9ibGVtYXRpYyBmb3IgdGhlIGN1cnJlbnQgY2FsbGlu ZyBjb250ZXh0LiBBbmQgSSBkb24ndAp0aGluayB0aGF0J3MgdmVyeSBmZWFzaWJsZSBpbiBwcmFj dGljZS4KClNvIHdoYXQga2luZCBvZiBobW0gZmVuY2VzIGRvIHlvdSBoYXZlIGluIG1pbmQgaGVy ZT8KLURhbmllbAoKCj4KPiBSZWdhcmRzLAo+IENocmlzdGlhbi4KPgo+ID4KPiA+IE1heWJlIGkg b3Zlcmxvb2sgc29tZXRoaW5nIHRoZXJlLgo+ID4KPiA+IENoZWVycywKPiA+IErDg8KpcsODwrRt ZQo+ID4KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1k LWdmeAo+CgoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBv cmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeAo=