From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kenneth Lee Subject: Re: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive Date: Mon, 6 Aug 2018 11:12:52 +0800 Message-ID: <20180806031252.GG91035@Turing-Arch-b> References: <20180801102221.5308-1-nek.in.cn@gmail.com> <20180801165644.GA3820@redhat.com> <20180802040557.GL160746@Turing-Arch-b> <20180802142243.GA3481@redhat.com> <20180803034721.GC91035@Turing-Arch-b> <20180803143944.GA4079@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "Tian, Kevin" , Alex Williamson , Herbert Xu , "kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Jonathan Corbet , Greg Kroah-Hartman , Zaibo Xu , "linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "Kumar, Sanjay K" , Hao Fang , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linuxarm-hv44wF8Li93QT0dZR+AlfA@public.gmane.org" , "iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org" , "linux-crypto-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Philippe Ombredanne , Thomas Gleixner , Kenneth Lee , "David S . Miller" , "linux-accelerators-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org" Return-path: Content-Disposition: inline In-Reply-To: <20180803143944.GA4079-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org List-Id: linux-crypto.vger.kernel.org T24gRnJpLCBBdWcgMDMsIDIwMTggYXQgMTA6Mzk6NDRBTSAtMDQwMCwgSmVyb21lIEdsaXNzZSB3 cm90ZToKPiBEYXRlOiBGcmksIDMgQXVnIDIwMTggMTA6Mzk6NDQgLTA0MDAKPiBGcm9tOiBKZXJv bWUgR2xpc3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+Cj4gVG86IEtlbm5ldGggTGVlIDxsaWd1b3po dUBoaXNpbGljb24uY29tPgo+IENDOiAiVGlhbiwgS2V2aW4iIDxrZXZpbi50aWFuQGludGVsLmNv bT4sIEhlcmJlcnQgWHUKPiAgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4sICJrdm1Admdl ci5rZXJuZWwub3JnIgo+ICA8a3ZtQHZnZXIua2VybmVsLm9yZz4sIEpvbmF0aGFuIENvcmJldCA8 Y29yYmV0QGx3bi5uZXQ+LCBHcmVnCj4gIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5k YXRpb24ub3JnPiwgWmFpYm8gWHUgPHh1emFpYm9AaHVhd2VpLmNvbT4sCj4gICJsaW51eC1kb2NA dmdlci5rZXJuZWwub3JnIiA8bGludXgtZG9jQHZnZXIua2VybmVsLm9yZz4sICJLdW1hciwgU2Fu amF5IEsiCj4gIDxzYW5qYXkuay5rdW1hckBpbnRlbC5jb20+LCBIYW8gRmFuZyA8ZmFuZ2hhbzEx QGh1YXdlaS5jb20+LAo+ICAiaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmciIDxpb21t dUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZz4sCj4gICJsaW51eC1rZXJuZWxAdmdlci5rZXJu ZWwub3JnIiA8bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZz4sCj4gICJsaW51eGFybUBodWF3 ZWkuY29tIiA8bGludXhhcm1AaHVhd2VpLmNvbT4sIEFsZXggV2lsbGlhbXNvbgo+ICA8YWxleC53 aWxsaWFtc29uQHJlZGhhdC5jb20+LCAibGludXgtY3J5cHRvQHZnZXIua2VybmVsLm9yZyIKPiAg PGxpbnV4LWNyeXB0b0B2Z2VyLmtlcm5lbC5vcmc+LCBQaGlsaXBwZSBPbWJyZWRhbm5lCj4gIDxw b21icmVkYW5uZUBuZXhiLmNvbT4sIFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRl PiwgS2VubmV0aCBMZWUKPiAgPG5lay5pbi5jbkBnbWFpbC5jb20+LCAiRGF2aWQgUyAuIE1pbGxl ciIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+LAo+ICAibGludXgtYWNjZWxlcmF0b3JzQGxpc3RzLm96 bGFicy5vcmciCj4gIDxsaW51eC1hY2NlbGVyYXRvcnNAbGlzdHMub3psYWJzLm9yZz4KPiBTdWJq ZWN0OiBSZTogW1JGQyBQQVRDSCAwLzddIEEgR2VuZXJhbCBBY2NlbGVyYXRvciBGcmFtZXdvcmss IFdhcnBEcml2ZQo+IFVzZXItQWdlbnQ6IE11dHQvMS4xMC4wICgyMDE4LTA1LTE3KQo+IE1lc3Nh Z2UtSUQ6IDwyMDE4MDgwMzE0Mzk0NC5HQTQwNzlAcmVkaGF0LmNvbT4KPiAKPiBPbiBGcmksIEF1 ZyAwMywgMjAxOCBhdCAxMTo0NzoyMUFNICswODAwLCBLZW5uZXRoIExlZSB3cm90ZToKPiA+IE9u IFRodSwgQXVnIDAyLCAyMDE4IGF0IDEwOjIyOjQzQU0gLTA0MDAsIEplcm9tZSBHbGlzc2Ugd3Jv dGU6Cj4gPiA+IERhdGU6IFRodSwgMiBBdWcgMjAxOCAxMDoyMjo0MyAtMDQwMAo+ID4gPiBGcm9t OiBKZXJvbWUgR2xpc3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+Cj4gPiA+IFRvOiBLZW5uZXRoIExl ZSA8bGlndW96aHVAaGlzaWxpY29uLmNvbT4KPiA+ID4gQ0M6ICJUaWFuLCBLZXZpbiIgPGtldmlu LnRpYW5AaW50ZWwuY29tPiwgSGFvIEZhbmcgPGZhbmdoYW8xMUBodWF3ZWkuY29tPiwKPiA+ID4g IEFsZXggV2lsbGlhbXNvbiA8YWxleC53aWxsaWFtc29uQHJlZGhhdC5jb20+LCBIZXJiZXJ0IFh1 Cj4gPiA+ICA8aGVyYmVydEBnb25kb3IuYXBhbmEub3JnLmF1PiwgImt2bUB2Z2VyLmtlcm5lbC5v cmciCj4gPiA+ICA8a3ZtQHZnZXIua2VybmVsLm9yZz4sIEpvbmF0aGFuIENvcmJldCA8Y29yYmV0 QGx3bi5uZXQ+LCBHcmVnCj4gPiA+ICBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0 aW9uLm9yZz4sIFphaWJvIFh1IDx4dXphaWJvQGh1YXdlaS5jb20+LAo+ID4gPiAgImxpbnV4LWRv Y0B2Z2VyLmtlcm5lbC5vcmciIDxsaW51eC1kb2NAdmdlci5rZXJuZWwub3JnPiwgIkt1bWFyLCBT YW5qYXkgSyIKPiA+ID4gIDxzYW5qYXkuay5rdW1hckBpbnRlbC5jb20+LCBLZW5uZXRoIExlZSA8 bmVrLmluLmNuQGdtYWlsLmNvbT4sCj4gPiA+ICAiaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlv bi5vcmciIDxpb21tdUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZz4sCj4gPiA+ICAibGludXgt a2VybmVsQHZnZXIua2VybmVsLm9yZyIgPGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+LAo+ ID4gPiAgImxpbnV4YXJtQGh1YXdlaS5jb20iIDxsaW51eGFybUBodWF3ZWkuY29tPiwKPiA+ID4g ICJsaW51eC1jcnlwdG9Admdlci5rZXJuZWwub3JnIiA8bGludXgtY3J5cHRvQHZnZXIua2VybmVs Lm9yZz4sIFBoaWxpcHBlCj4gPiA+ICBPbWJyZWRhbm5lIDxwb21icmVkYW5uZUBuZXhiLmNvbT4s IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPiwKPiA+ID4gICJEYXZpZCBTIC4g TWlsbGVyIiA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4sCj4gPiA+ICAibGludXgtYWNjZWxlcmF0b3Jz QGxpc3RzLm96bGFicy5vcmciCj4gPiA+ICA8bGludXgtYWNjZWxlcmF0b3JzQGxpc3RzLm96bGFi cy5vcmc+Cj4gPiA+IFN1YmplY3Q6IFJlOiBbUkZDIFBBVENIIDAvN10gQSBHZW5lcmFsIEFjY2Vs ZXJhdG9yIEZyYW1ld29yaywgV2FycERyaXZlCj4gPiA+IFVzZXItQWdlbnQ6IE11dHQvMS4xMC4w ICgyMDE4LTA1LTE3KQo+ID4gPiBNZXNzYWdlLUlEOiA8MjAxODA4MDIxNDIyNDMuR0EzNDgxQHJl ZGhhdC5jb20+Cj4gPiA+IAo+ID4gPiBPbiBUaHUsIEF1ZyAwMiwgMjAxOCBhdCAxMjowNTo1N1BN ICswODAwLCBLZW5uZXRoIExlZSB3cm90ZToKPiA+ID4gPiBPbiBUaHUsIEF1ZyAwMiwgMjAxOCBh dCAwMjozMzoxMkFNICswMDAwLCBUaWFuLCBLZXZpbiB3cm90ZToKPiA+ID4gPiA+IERhdGU6IFRo dSwgMiBBdWcgMjAxOCAwMjozMzoxMiArMDAwMAo+ID4gPiA+ID4gPiBGcm9tOiBKZXJvbWUgR2xp c3NlCj4gPiA+ID4gPiA+IE9uIFdlZCwgQXVnIDAxLCAyMDE4IGF0IDA2OjIyOjE0UE0gKzA4MDAs IEtlbm5ldGggTGVlIHdyb3RlOgo+ID4gPiA+ID4gPiA+IEZyb206IEtlbm5ldGggTGVlIDxsaWd1 b3podUBoaXNpbGljb24uY29tPgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gV2FycERyaXZl IGlzIGFuIGFjY2VsZXJhdG9yIGZyYW1ld29yayB0byBleHBvc2UgdGhlIGhhcmR3YXJlCj4gPiA+ ID4gPiA+IGNhcGFiaWxpdGllcwo+ID4gPiA+ID4gPiA+IGRpcmVjdGx5IHRvIHRoZSB1c2VyIHNw YWNlLiBJdCBtYWtlcyB1c2Ugb2YgdGhlIGV4aXN0IHZmaW8gYW5kIHZmaW8tbWRldgo+ID4gPiA+ ID4gPiA+IGZhY2lsaXRpZXMuIFNvIHRoZSB1c2VyIGFwcGxpY2F0aW9uIGNhbiBzZW5kIHJlcXVl c3QgYW5kIERNQSB0byB0aGUKPiA+ID4gPiA+ID4gPiBoYXJkd2FyZSB3aXRob3V0IGludGVyYWN0 aW9uIHdpdGggdGhlIGtlcm5lbC4gVGhpcyByZW1vdmUgdGhlIGxhdGVuY3kKPiA+ID4gPiA+ID4g PiBvZiBzeXNjYWxsIGFuZCBjb250ZXh0IHN3aXRjaC4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4g PiA+IFRoZSBwYXRjaHNldCBjb250YWlucyBkb2N1bWVudHMgZm9yIHRoZSBkZXRhaWwuIFBsZWFz ZSByZWZlciB0byBpdCBmb3IKPiA+ID4gPiA+ID4gbW9yZQo+ID4gPiA+ID4gPiA+IGluZm9ybWF0 aW9uLgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gVGhpcyBwYXRjaHNldCBpcyBpbnRlbmRl ZCB0byBiZSB1c2VkIHdpdGggSmVhbiBQaGlsaXBwZSBCcnVja2VyJ3MgU1ZBCj4gPiA+ID4gPiA+ ID4gcGF0Y2ggWzFdIChXaGljaCBpcyBhbHNvIGluIFJGQyBzdGFnZSkuIEJ1dCBpdCBpcyBub3Qg bWFuZGF0b3J5LiBUaGlzCj4gPiA+ID4gPiA+ID4gcGF0Y2hzZXQgaXMgdGVzdGVkIGluIHRoZSBs YXRlc3QgbWFpbmxpbmUga2VybmVsIHdpdGhvdXQgdGhlIFNWQSBwYXRjaGVzLgo+ID4gPiA+ID4g PiA+IFNvIGl0IHN1cHBvcnQgb25seSBvbmUgcHJvY2VzcyBmb3IgZWFjaCBhY2NlbGVyYXRvci4K PiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IFdpdGggU1ZBIHN1cHBvcnQsIFdhcnBEcml2ZSBj YW4gc3VwcG9ydCBtdWx0aS1wcm9jZXNzIGluIHRoZSBzYW1lCj4gPiA+ID4gPiA+ID4gYWNjZWxl cmF0b3IgZGV2aWNlLiAgV2UgdGVzdGVkIGl0IGluIG91ciBTb0MgaW50ZWdyYXRlZCBBY2NlbGVy YXRvciAoYm9hcmQKPiA+ID4gPiA+ID4gPiBJRDogRDA2LCBDaGlwIElEOiBISVAwOCkuIEEgcmVm ZXJlbmNlIHdvcmsgdHJlZSBjYW4gYmUgZm91bmQgaGVyZTogWzJdLgo+ID4gPiA+ID4gPiAKPiA+ ID4gPiA+ID4gSSBoYXZlIG5vdCBmdWxseSBpbnNwZWN0ZWQgdGhpbmdzIG5vciBkbyBpIGtub3cg ZW5vdWdoIGFib3V0Cj4gPiA+ID4gPiA+IHRoaXMgSGlzaWxpY29uIFpJUCBhY2NlbGVyYXRvciB0 byBhc2NlcnRhaW4sIGJ1dCBmcm9tIGdsaW1wc2luZwo+ID4gPiA+ID4gPiBhdCB0aGUgY29kZSBp dCBzZWVtcyB0aGF0IGl0IGlzIHVuc2FmZSB0byB1c2UgZXZlbiB3aXRoIFNWQSBkdWUKPiA+ID4g PiA+ID4gdG8gdGhlIGRvb3JiZWxsLiBUaGVyZSBpcyBhIGNvbW1lbnQgdGFsa2luZyBhYm91dCBz YWZldHluZXNzCj4gPiA+ID4gPiA+IGluIHBhdGNoIDcuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4g PiBFeHBvc2luZyB0aGluZyB0byB1c2Vyc3BhY2UgaXMgYWx3YXlzIGVudGljaW5nLCBidXQgaWYg aXQgaXMKPiA+ID4gPiA+ID4gYSBzZWN1cml0eSByaXNrIHRoZW4gaXQgc2hvdWxkIGNsZWFybHkg c2F5IHNvIGFuZCBtYXliZSBhCj4gPiA+ID4gPiA+IGtlcm5lbCBib290IGZsYWcgc2hvdWxkIGJl IG5lY2Vzc2FyeSB0byBhbGxvdyBzdWNoIGRldmljZSB0bwo+ID4gPiA+ID4gPiBiZSB1c2UuCj4g PiA+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IEJ1dCBkb29yYmVsbCBpcyBqdXN0IGEgbm90aWZp Y2F0aW9uLiBFeGNlcHQgZm9yIERPUyAodG8gbWFrZSBoYXJkd2FyZSBidXN5KSBpdAo+ID4gPiA+ IGNhbm5vdCBhY3R1YWxseSB0YWtlIG9yIGNoYW5nZSBhbnl0aGluZyBmcm9tIHRoZSBrZXJuZWwg c3BhY2UuIEFuZCB0aGUgRE9TCj4gPiA+ID4gcHJvYmxlbSBjYW4gYmUgYWx3YXlzIHRha2VuIGFz IHRoZSBwcm9ibGVtIHRoYXQgYSBncm91cCBvZiBwcm9jZXNzZXMgc2hhcmUgdGhlCj4gPiA+ID4g c2FtZSBrZXJuZWwgZW50aXR5Lgo+ID4gPiA+IAo+ID4gPiA+IEluIHRoZSBjb21pbmcgSElQMDkg aGFyZHdhcmUsIHRoZSBkb29yYmVsbCB3aWxsIGNvbWUgd2l0aCBhIHJhbmRvbSBudW1iZXIgc28K PiA+ID4gPiBvbmx5IHRoZSBwcm9jZXNzIHdobyBhbGxvY2F0ZWQgdGhlIHF1ZXVlIGNhbiBrbm9j ayBpdCBjb3JyZWN0bHkuCj4gPiA+IAo+ID4gPiBXaGVuIGRvb3JiZWxsIGlzIHJpbmcgdGhlIGhh cmR3YXJlIHN0YXJ0IGZldGNoaW5nIGNvbW1hbmRzIGZyb20KPiA+ID4gdGhlIHF1ZXVlIGFuZCBl eGVjdXRlIHRoZW0gPyBJZiBzbyB0aGFuIGEgcm9ndWUgcHJvY2VzcyBCIG1pZ2h0Cj4gPiA+IHJp bmcgdGhlIGRvb3JiZWxsIG9mIHByb2Nlc3MgQSB3aGljaCB3b3VsZCBzdGFydHMgZXhlY3V0aW9u IG9mCj4gPiA+IHJhbmRvbSBjb21tYW5kcyAoaWUgd2hhdGV2ZXIgcmFuZG9tIG1lbW9yeSB2YWx1 ZSB0aGVyZSBpcyBsZWZ0Cj4gPiA+IGluc2lkZSB0aGUgY29tbWFuZCBidWZmZXIgbWVtb3J5LCBj b3VsZCBiZSBvbGQgY29tbWFuZHMgaSBndWVzcykuCj4gPiA+IAo+ID4gPiBJZiB0aGlzIGlzIG5v dCBob3cgdGhpcyBkb29yYmVsbCB3b3JrcyB0aGVuLCB5ZXMgaXQgY2FuIG9ubHkgZG8KPiA+ID4g YSBkZW5pYWwgb2Ygc2VydmljZSBpIGd1ZXNzLiBJc3N1ZSBpIGhhdmUgd2l0aCBkb29yYmVsbCBp cyB0aGF0Cj4gPiA+IGkgaGF2ZSBzZWVuIDEwIGRpZmZlcmVudHMgaW1wbGVtZW50YXRpb25zIGlu IDEwIGRpZmZlcmVudHMgaHcKPiA+ID4gYW5kIGVhY2ggYXJlIGRpZmZlcmVudCBhcyB0byB3aGF0 IHJpbmdpbmcgb3IgdmFsdWUgd3JpdHRlbiB0byB0aGUKPiA+ID4gZG9vcmJlbGwgZG9lcy4gSXQg aXMgcGFpbmZ1bGwgdG8gdHJhY2sgd2hhdCBpcyB3aGF0IGZvciBlYWNoIGh3Lgo+ID4gPiAKPiA+ IAo+ID4gSW4gb3VyIGltcGxlbWVudGF0aW9uLCBkb29yYmVsbCBpcyBzaW1wbHkgYSBub3RpZmlj YXRpb24sIGp1c3QgbGlrZSBhbiBpbnRlcnJ1cHQKPiA+IHRvIHRoZSBhY2NlbGVyYXRvci4gVGhl IGNvbW1hbmQgaXMgYWxsIGFib3V0IHdoYXQncyBpbiB0aGUgcXVldWUuCj4gPiAKPiA+IEkgYWdy ZWUgdGhhdCB0aGVyZSBpcyBubyBzaW1wbGUgYW5kIHN0YW5kYXJkIHdheSB0byB0cmFjayB0aGUg c2hhcmVkIElPIHNwYWNlLgo+ID4gQnV0IEkgdGhpbmsgd2UgaGF2ZSB0byB0cnVzdCB0aGUgZHJp dmVyIGluIHNvbWUgd2F5LiBJZiB0aGUgZHJpdmVyIGlzIG1hbGljaW91cywKPiA+IGV2ZW4gYSBz aW1wbGUgaW9jdGwgY2FuIGJlY29tZSBhbiBhdHRhY2suCj4gCj4gVHJ1c3Rpbmcga2VybmVsIHNw YWNlIGRyaXZlciBpcyBmaW5lLCB0cnVzdGluZyB1c2VyIHNwYWNlIGRyaXZlciBpcwo+IG5vdCBp biBteSB2aWV3LiBBRkFJQ1QgZXZlcnkgZHJpdmVyIGRldmVsb3BlciBzbyBmYXIgYWx3YXlzIG1h ZGUKPiBzdXJlIHRoYXQgc29tZW9uZSBjb3VsZCBub3QgYWJ1c2UgaXRzIGRldmljZSB0byBkbyBo YXJtZnVsbCB0aGluZyB0bwo+IG90aGVyIHByb2Nlc3MuCj4gCgpGdWxseSBhZ3JlZS4gVGhhdCBp cyB3aHkgdGhpcyBkcml2ZXIgc2hhcmVzIG9ubHkgdGhlIGRvb3JiZWxsIHNwYWNlLiBUaGVyZSBp cwpvbmx5IHRoZSBkb29yYmVsbCBpcyBzaGFyZWQgaW4gdGhlIHdob2xlIHBhZ2UsIG5vdGhpbmcg ZWxzZS4KCk1heWJlIHlvdSBhcmUgY29uY2VybmluZyB0aGUgdXNlciBkcml2ZXIgd2lsbCBnaXZl IG1hbGljaW91cyBjb21tYW5kIHRvIHRoZQpoYXJkd2FyZT8gQnV0IHRoZXNlIGNvbW1hbmRzIGNh bm5vdCBpbmZsdWVuY2UgdGhlIG90aGVyIHByb2Nlc3MuIElmIHdlIGNhbiB0cnVzdAp0aGUgaGFy ZHdhcmUgZGVzaWduLCB0aGUgcHJvY2VzcyBjYW5ub3QgZG8gYW55IGhhcm0uCgo+IAo+ID4gPiA+ ID4gPiBNeSBtb3JlIGdlbmVyYWwgcXVlc3Rpb24gaXMgZG8gd2Ugd2FudCB0byBncm93IFZGSU8g dG8gYmVjb21lCj4gPiA+ID4gPiA+IGEgbW9yZSBnZW5lcmljIGRldmljZSBkcml2ZXIgQVBJLiBU aGlzIHBhdGNoc2V0IGFkZHMgYSBjb21tYW5kCj4gPiA+ID4gPiA+IHF1ZXVlIGNvbmNlcHQgdG8g aXQgKGkgZG9uJ3QgdGhpbmsgaXQgZXhpc3QgdG9kYXkgYnV0IGkgaGF2ZQo+ID4gPiA+ID4gPiBu b3QgZm9sbG93IFZGSU8gY2xvc2VseSkuCj4gPiA+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IFRo ZSB0aGluZyBpcywgVkZJTyBpcyB0aGUgb25seSBwbGFjZSB0byBzdXBwb3J0IERNQSBmcm9tIHVz ZXIgbGFuZC4gSWYgd2UgZG9uJ3QKPiA+ID4gPiBwdXQgaXQgaGVyZSwgd2UgaGF2ZSB0byBjcmVh dGUgYW5vdGhlciBzaW1pbGFyIGZhY2lsaXR5IHRvIHN1cHBvcnQgdGhlIHNhbWUuCj4gPiA+IAo+ ID4gPiBObyBpdCBpcyBub3QsIG5ldHdvcmsgZGV2aWNlLCBHUFUsIGJsb2NrIGRldmljZSwgLi4u IHRoZXkgYWxsIGRvCj4gPiA+IHN1cHBvcnQgRE1BLiBUaGUgcG9pbnQgaSBhbSB0cnlpbmcgdG8g bWFrZSBoZXJlIGlzIHRoYXQgZXZlbiBpbgo+ID4gCj4gPiBTb3JyeSwgd2FpdCBhIG1pbnV0ZSwg YXJlIHdlIHRhbGtpbmcgdGhlIHNhbWUgdGhpbmc/IEkgbWVhbnQgIkRNQSBmcm9tIHVzZXIKPiA+ IGxhbmQiLCBub3QgIkRNQSBmcm9tIGtlcm5lbCBkcml2ZXIiLiBUbyBkbyB0aGF0IHdlIGhhdmUg dG8gbWFuaXB1bGF0ZSB0aGUKPiA+IElPTU1VKFVuaXQpLiBJIHRoaW5rIGl0IGNhbiBvbmx5IGJl IGRvbmUgYnkgZGVmYXVsdF9kb21haW4gb3IgdmZpbyBkb21haW4uIE9yCj4gPiB0aGUgdXNlciBz cGFjZSBoYXZlIHRvIGRpcmVjdGx5IGFjY2VzcyB0aGUgSU9NTVUuCj4gCj4gR1BVIGRvIERNQSBp biB0aGUgc2Vuc2UgdGhhdCB5b3UgcGFzcyB0byB0aGUga2VybmVsIGEgdmFsaWQKPiB2aXJ0dWFs IGFkZHJlc3MgKGtlcm5lbCBkcml2ZXIgZG8gYWxsIHRoZSBwcm9wZXIgY2hlY2spIGFuZAo+IHRo ZW4geW91IGNhbiB1c2UgdGhlIEdQVSB0byBjb3B5IGZyb20gb3IgdG8gdGhhdCByYW5nZSBvZgo+ IHZpcnR1YWwgYWRkcmVzcy4gRXhhY3RseSBob3cgeW91IHdhbnQgdG8gdXNlIHRoaXMgY29tcHJl c3Npb24KPiBlbmdpbmUuIEl0IGRvZXMgbm90IHJlbHkgb24gU1ZNIGJ1dCBTVk0gZ29pbmcgZm9y d2FyZCB3b3VsZAo+IHN0aWxsIGJlIHRoZSBwcmVmZXJlZCBvcHRpb24uCj4gCgpObywgU1ZNIGlz IG5vdCB0aGUgcmVhc29uIHdoeSB3ZSByZWx5IG9uIEplYW4ncyBTVk0oU1ZBKSBzZXJpZXMuIFdl IHJlbHkgb24KSmVhbidzIHNlcmllcyBiZWNhdXNlIG9mIG11bHRpLXByb2Nlc3MgKFBBU0lEIG9y IHN1YnN0cmVhbSBJRCkgc3VwcG9ydC4KCkJ1dCBvZiBjb3VzZSwgV2FycERyaXZlIGNhbiBzdGls bCBiZW5lZml0IGZyb20gdGhlIFNWTSBmZWF0dXJlLgoKPiAKPiA+ID4geW91ciBtZWNoYW5pc21z IHRoZSB1c2Vyc3BhY2UgbXVzdCBoYXZlIGEgc3BlY2lmaWMgdXNlcnNwYWNlCj4gPiA+IGRyaXZl cnMgZm9yIGVhY2ggaGFyZHdhcmUgYW5kIHRodXMgdGhlcmUgYXJlIHZpcnR1YWxseSBubwo+ID4g PiBkaWZmZXJlbmNlcyBiZXR3ZWVuIGhhdmluZyB0aGlzIHVzZXJzcGFjZSBkcml2ZXIgb3BlbiBh IGRldmljZQo+ID4gPiBmaWxlIGluIHZmaW8gb3Igc29tZXdoZXJlIGVsc2UgaW4gdGhlIGRldmlj ZSBmaWxlc3lzdGVtLiBUaGlzIGlzCj4gPiA+IGp1c3QgYSBkaWZmZXJlbnQgcGF0aC4KPiA+ID4g Cj4gPiAKPiA+IFRoZSBiYXNpYyBwcm9ibGVtIFdhcnBEcml2ZSB3YW50IHRvIHNvbHZlIGl0IHRv IGF2b2lkIHN5c2NhbGwuIFRoaXMgaXMgaW1wb3J0YW50Cj4gPiB0byBhY2NlbGVyYXRvcnMuIFdl IGhhdmUgc29tZSBkYXRhIGhlcmU6Cj4gPiBodHRwczovL3d3dy5zbGlkZXNoYXJlLm5ldC9saW5h cm9vcmcvcHJvZ3Jlc3MtYW5kLWRlbW9uc3RyYXRpb24tb2Ytd3JhcGRyaXZlLWEtYWNjZWxlcmF0 b3ItZnJhbWV3b3JrLXNmbzE3MzE3Cj4gPiAKPiA+IChzZWUgcGFnZSAzKQo+ID4gCj4gPiBUaGUg cGVyZm9ybWFuY2UgaXMgZGlmZmVyZW50IG9uIHVzaW5nIGtlcm5lbCBhbmQgdXNlciBkcml2ZXJz Lgo+IAo+IFllcyBhbmQgZXhhbXBsZSBpIHBvaW50IHRvIGlzIGV4YWN0bHkgdGhhdC4gWW91IGhh dmUgYSBvbmUgdGltZSBzZXR1cAo+IGNvc3QgKGNyZWF0aW5nIGNvbW1hbmQgYnVmZmVyIGJpbmRp bmcgUEFTSUQgd2l0aCBjb21tYW5kIGJ1ZmZlciBhbmQKPiBjb3VwbGUgb3RoZXIgc2V0dXAgc3Rl cHMpLiBUaGVuIHVzZXJzcGFjZSBubyBsb25nZXIgaGF2ZSB0byBkbyBhbnkKPiBpb2N0bCB0byBz Y2hlZHVsZSB3b3JrIG9uIHRoZSBHUFUuIEl0IGlzIGFsbCBkb3duIGZyb20gdXNlcnNwYWNlIGFu ZAo+IGl0IHVzZSBhIGRvb3JiZWxsIHRvIG5vdGlmeSBoYXJkd2FyZSB3aGVuIGl0IHNob3VsZCBn byBsb29rIGF0IGNvbW1hbmQKPiBidWZmZXIgZm9yIG5ldyB0aGluZyB0byBleGVjdXRlLgo+IAo+ IE15IHBvaW50IHN0YW5kcyBvbiB0aGF0LiBZb3UgaGF2ZSBleGlzdGluZyBkcml2ZXIgYWxyZWFk eSBkb2luZyBzbwo+IHdpdGggbm8gbmV3IGZyYW1ld29yayBhbmQgaW4geW91ciBzY2hlbWUgeW91 IG5lZWQgYSB1c2Vyc3BhY2UgZHJpdmVyLgo+IFNvIGkgZG8gbm90IHNlZSB0aGUgdmFsdWUgYWRk LCB1c2luZyBvbmUgcGF0aCBvciB0aGUgb3RoZXIgaW4gdGhlCj4gdXNlcnNwYWNlIGRyaXZlciBp cyBsaXR0ZXJhbHkgb25lIGxpbmUgdG8gY2hhbmdlLgo+IAoKU29ycnksIEknZCBnb3QgY29uZnVz ZSBoZXJlLiBJIHBhcnRpYWxseSBhZ3JlZSB0aGF0IHRoZSB1c2VyIGRyaXZlciBpcwpyZWR1bmRh bmNlIG9mIGtlcm5lbCBkcml2ZXIuIChCdXQgZm9yIFdhcnBEcml2ZSwgdGhlIGtlcm5lbCBkcml2 ZXIgaXMgYSBmdWxsCmRyaXZlciBpbmNsdWRlIGFsbCBwcmVwYXJhdGlvbiBhbmQgc2V0dXAgc3R1 ZmYgZm9yIHRoZSBoYXJkd2FyZSwgdGhlIHVzZXIgZHJpdmVyCmlzIHNpbXBseSB0byBzZW5kIHJl cXVlc3QgYW5kIHJlY2VpdmUgYW5zd2VyKS4gWWVzLCBpdCBpcyBqdXN0IGEgY2hvaWNlIG9mIHBh dGguCkJ1dCB0aGUgdXNlciBwYXRoIGlzIGZhc3RlciBpZiB0aGUgcmVxdWVzdCBjb21lIGZyb20g dXNlIHNwYWNlLiBBbmQgdG8gZG8gdGhhdCwKd2UgbmVlZCB1c2VyIGxhbmQgRE1BIHN1cHBvcnQu IFRoZW4gd2h5IGlzIGl0IGludmFsdWFibGUgdG8gbGV0IFZGSU8gaW52b2x2ZWQ/Cgo+IAo+ID4g QW5kIHdlIGFsc28gYmVsaWV2ZSB0aGUgaGFyZHdhcmUgaW50ZXJmYWNlIGNhbiBiZWNvbWUgc3Rh bmRhcmQgYWZ0ZXIgc29tZXRpbWUuCj4gPiBTb21lIGNvbXBhbmllcyBoYXZlIHN0YXJ0ZWQgdG8g ZG8gdGhpcyAoc3VjaCBBUk0ncyBSZXZlcmUpLiBCdXQgYmVmb3JlIHRoYXQsIHdlCj4gPiBzaG91 bGQgaGF2ZSBhIHNvZnR3YXJlIGNoYW5uZWwgZm9yIGl0Lgo+IAo+IEkgaG9wZSBpdCBkb2VzLCBi dXQgcmlnaHQgbm93IGZvciBldmVyeSBzaW5nbGUgcGllY2Ugb2YgaGFyZHdhcmUgeW91Cj4gd2ls bCBuZWVkIGEgc3BlY2lmaWMgZHJpdmVyIChpIGFtIGlnbm9yaW5nIGJhY2t3YXJkIGNvbXBhdGli bGUgaGFyZHdhcmUKPiBldm9sdXRpb24gYXMgdGhpcyBpcyBhIHRoaW5nIHRoYXQgZG8gZXhpc3Qp Lgo+IAo+IEV2ZW4gaWYgZG93biB0aGUgcm9hZCBmb3IgZXZlcnkgY2xhc3Mgb2YgaGFyZHdhcmUg eW91IGNhbiB1c2UgdGhlIHNhbWUKPiBkcml2ZXIsIGkgYW0gbm90IHN1cmUgd2hhdCB0aGUgdmFs dWUgYWRkIGlzIHRvIGRvIGl0IGluc2lkZSBWRklPIHZlcnN1cwo+IGEgY2xhc3Mgb2YgZGV2aWNl IGRyaXZlciAobGlrZSBVU0IsIFBDSUUsIERSTSBha2EgR1BVLCAuLi4pIGllIHlvdSB3b3VsZAo+ IGhhdmUgYSBjb21wcmVzc2lvbiBjbGFzcyAoL2Rldi9jb21wcmVzcy8qKSBhIGVuY3J5cHRpb24g b25lLCAuLi4KPiAKPgo+ID4gPiBTbyB0aGlzIGlzIHdoeSBpIGRvIG5vdCBzZWUgYW55IGJlbmVm aXQgdG8gaGF2aW5nIGFsbCBkcml2ZXJzIHdpdGgKPiA+ID4gU1ZNIChjYW4gd2UgcGxlYXNlIHVz ZSBTVk0gYW5kIG5vdCBTVkEgYXMgU1ZNIGlzIHdoYXQgaGF2ZSBiZWVuIHVzZQo+ID4gPiBpbiBt b3JlIHBsYWNlcyBzbyBmYXIpLgo+ID4gPiAKPiA+IAo+ID4gUGVyc29uYWxseSwgd2UgZG9uJ3Qg Y2FyZSB3aGF0IG5hbWUgdG8gYmUgdXNlZC4gSSB1c2VkIFNWTSB3aGVuIEkgc3RhcnQgdGhpcwo+ ID4gd29yay4gQW5kIHRoZW4gSmVhbiBzYWlkIFNWTSBoYWQgYmVlbiB1c2VkIGJ5IEFNRCBhcyBT ZWN1cmUgVmlydHVhbCBNYWNoaW5lLiBTbwo+ID4gaGUgY2FsbGVkIGl0IFNWQS4gQW5kIG5vdy4u LiB3aG8gc2hvdWxkIEkgZm9sbG93PyA6KQo+IAo+IEkgdGhpbmsgSW50ZWwgY2FsbCBpdCBTVk0g dG9vLCBpIGRvIG5vdCBoYXZlIGFueSBzdHJvbmcgcHJlZmVyZW5jZQo+IGJlc2lkZSBoYXZlIG9u bHkgb25lIHRvIHJlbWVtYmVyIDopCgpPSy4gVGhlbiBsZXQncyBjYWxsIGl0IFNWTSBmb3Igbm93 LgoKPiAKPiBDaGVlcnMsCj4gSsOpcsO0bWUKCi0tIAoJCQktS2VubmV0aChIaXNpbGljb24pCgo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQrmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrl hazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3l iJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoEK5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V 5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy 44CB5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitCueahOS/oeaBr+OAguWmguaenOaC qOmUmeaUtuS6huacrOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuefpeWP keS7tuS6uuW5tuWIoOmZpOacrOmCruS7tu+8gQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1l bnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLAp3aGljaCBp cyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlz IGxpc3RlZCBhYm92ZS4KQW55IHVzZSBvZiB0aGUgCmluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJl aW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yCnBh cnRpYWwgZGlzY2xvc3VyZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJz b25zIG90aGVyIHRoYW4gdGhlCmludGVuZGVkIApyZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4g SWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkKdGhlIHNl bmRlciBieSBwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaW9tbXUgbWFpbGluZyBs aXN0CmlvbW11QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGludXhm b3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lvbW11 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on archive.lwn.net X-Spam-Level: X-Spam-Status: No, score=-6.0 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable autolearn_force=no version=3.4.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by archive.lwn.net (Postfix) with ESMTP id ED9E17E3B8 for ; Mon, 6 Aug 2018 03:14:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726704AbeHFFV0 (ORCPT ); Mon, 6 Aug 2018 01:21:26 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:10635 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726338AbeHFFV0 (ORCPT ); Mon, 6 Aug 2018 01:21:26 -0400 Received: from DGGEMS402-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 0079FD9167D66; Mon, 6 Aug 2018 11:14:20 +0800 (CST) Received: from localhost (10.67.212.75) by DGGEMS402-HUB.china.huawei.com (10.3.19.202) with Microsoft SMTP Server (TLS) id 14.3.399.0; Mon, 6 Aug 2018 11:14:14 +0800 Date: Mon, 6 Aug 2018 11:12:52 +0800 From: Kenneth Lee To: Jerome Glisse CC: "Tian, Kevin" , Herbert Xu , "kvm@vger.kernel.org" , Jonathan Corbet , Greg Kroah-Hartman , Zaibo Xu , "linux-doc@vger.kernel.org" , "Kumar, Sanjay K" , Hao Fang , "iommu@lists.linux-foundation.org" , "linux-kernel@vger.kernel.org" , "linuxarm@huawei.com" , Alex Williamson , "linux-crypto@vger.kernel.org" , Philippe Ombredanne , Thomas Gleixner , Kenneth Lee , "David S . Miller" , "linux-accelerators@lists.ozlabs.org" Subject: Re: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive Message-ID: <20180806031252.GG91035@Turing-Arch-b> References: <20180801102221.5308-1-nek.in.cn@gmail.com> <20180801165644.GA3820@redhat.com> <20180802040557.GL160746@Turing-Arch-b> <20180802142243.GA3481@redhat.com> <20180803034721.GC91035@Turing-Arch-b> <20180803143944.GA4079@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180803143944.GA4079@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Originating-IP: [10.67.212.75] X-CFilter-Loop: Reflected Sender: linux-doc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org On Fri, Aug 03, 2018 at 10:39:44AM -0400, Jerome Glisse wrote: > Date: Fri, 3 Aug 2018 10:39:44 -0400 > From: Jerome Glisse > To: Kenneth Lee > CC: "Tian, Kevin" , Herbert Xu > , "kvm@vger.kernel.org" > , Jonathan Corbet , Greg > Kroah-Hartman , Zaibo Xu , > "linux-doc@vger.kernel.org" , "Kumar, Sanjay K" > , Hao Fang , > "iommu@lists.linux-foundation.org" , > "linux-kernel@vger.kernel.org" , > "linuxarm@huawei.com" , Alex Williamson > , "linux-crypto@vger.kernel.org" > , Philippe Ombredanne > , Thomas Gleixner , Kenneth Lee > , "David S . Miller" , > "linux-accelerators@lists.ozlabs.org" > > Subject: Re: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive > User-Agent: Mutt/1.10.0 (2018-05-17) > Message-ID: <20180803143944.GA4079@redhat.com> > > On Fri, Aug 03, 2018 at 11:47:21AM +0800, Kenneth Lee wrote: > > On Thu, Aug 02, 2018 at 10:22:43AM -0400, Jerome Glisse wrote: > > > Date: Thu, 2 Aug 2018 10:22:43 -0400 > > > From: Jerome Glisse > > > To: Kenneth Lee > > > CC: "Tian, Kevin" , Hao Fang , > > > Alex Williamson , Herbert Xu > > > , "kvm@vger.kernel.org" > > > , Jonathan Corbet , Greg > > > Kroah-Hartman , Zaibo Xu , > > > "linux-doc@vger.kernel.org" , "Kumar, Sanjay K" > > > , Kenneth Lee , > > > "iommu@lists.linux-foundation.org" , > > > "linux-kernel@vger.kernel.org" , > > > "linuxarm@huawei.com" , > > > "linux-crypto@vger.kernel.org" , Philippe > > > Ombredanne , Thomas Gleixner , > > > "David S . Miller" , > > > "linux-accelerators@lists.ozlabs.org" > > > > > > Subject: Re: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive > > > User-Agent: Mutt/1.10.0 (2018-05-17) > > > Message-ID: <20180802142243.GA3481@redhat.com> > > > > > > On Thu, Aug 02, 2018 at 12:05:57PM +0800, Kenneth Lee wrote: > > > > On Thu, Aug 02, 2018 at 02:33:12AM +0000, Tian, Kevin wrote: > > > > > Date: Thu, 2 Aug 2018 02:33:12 +0000 > > > > > > From: Jerome Glisse > > > > > > On Wed, Aug 01, 2018 at 06:22:14PM +0800, Kenneth Lee wrote: > > > > > > > From: Kenneth Lee > > > > > > > > > > > > > > WarpDrive is an accelerator framework to expose the hardware > > > > > > capabilities > > > > > > > directly to the user space. It makes use of the exist vfio and vfio-mdev > > > > > > > facilities. So the user application can send request and DMA to the > > > > > > > hardware without interaction with the kernel. This remove the latency > > > > > > > of syscall and context switch. > > > > > > > > > > > > > > The patchset contains documents for the detail. Please refer to it for > > > > > > more > > > > > > > information. > > > > > > > > > > > > > > This patchset is intended to be used with Jean Philippe Brucker's SVA > > > > > > > patch [1] (Which is also in RFC stage). But it is not mandatory. This > > > > > > > patchset is tested in the latest mainline kernel without the SVA patches. > > > > > > > So it support only one process for each accelerator. > > > > > > > > > > > > > > With SVA support, WarpDrive can support multi-process in the same > > > > > > > accelerator device. We tested it in our SoC integrated Accelerator (board > > > > > > > ID: D06, Chip ID: HIP08). A reference work tree can be found here: [2]. > > > > > > > > > > > > I have not fully inspected things nor do i know enough about > > > > > > this Hisilicon ZIP accelerator to ascertain, but from glimpsing > > > > > > at the code it seems that it is unsafe to use even with SVA due > > > > > > to the doorbell. There is a comment talking about safetyness > > > > > > in patch 7. > > > > > > > > > > > > Exposing thing to userspace is always enticing, but if it is > > > > > > a security risk then it should clearly say so and maybe a > > > > > > kernel boot flag should be necessary to allow such device to > > > > > > be use. > > > > > > > > > > > > > > But doorbell is just a notification. Except for DOS (to make hardware busy) it > > > > cannot actually take or change anything from the kernel space. And the DOS > > > > problem can be always taken as the problem that a group of processes share the > > > > same kernel entity. > > > > > > > > In the coming HIP09 hardware, the doorbell will come with a random number so > > > > only the process who allocated the queue can knock it correctly. > > > > > > When doorbell is ring the hardware start fetching commands from > > > the queue and execute them ? If so than a rogue process B might > > > ring the doorbell of process A which would starts execution of > > > random commands (ie whatever random memory value there is left > > > inside the command buffer memory, could be old commands i guess). > > > > > > If this is not how this doorbell works then, yes it can only do > > > a denial of service i guess. Issue i have with doorbell is that > > > i have seen 10 differents implementations in 10 differents hw > > > and each are different as to what ringing or value written to the > > > doorbell does. It is painfull to track what is what for each hw. > > > > > > > In our implementation, doorbell is simply a notification, just like an interrupt > > to the accelerator. The command is all about what's in the queue. > > > > I agree that there is no simple and standard way to track the shared IO space. > > But I think we have to trust the driver in some way. If the driver is malicious, > > even a simple ioctl can become an attack. > > Trusting kernel space driver is fine, trusting user space driver is > not in my view. AFAICT every driver developer so far always made > sure that someone could not abuse its device to do harmfull thing to > other process. > Fully agree. That is why this driver shares only the doorbell space. There is only the doorbell is shared in the whole page, nothing else. Maybe you are concerning the user driver will give malicious command to the hardware? But these commands cannot influence the other process. If we can trust the hardware design, the process cannot do any harm. > > > > > > > My more general question is do we want to grow VFIO to become > > > > > > a more generic device driver API. This patchset adds a command > > > > > > queue concept to it (i don't think it exist today but i have > > > > > > not follow VFIO closely). > > > > > > > > > > > > > > The thing is, VFIO is the only place to support DMA from user land. If we don't > > > > put it here, we have to create another similar facility to support the same. > > > > > > No it is not, network device, GPU, block device, ... they all do > > > support DMA. The point i am trying to make here is that even in > > > > Sorry, wait a minute, are we talking the same thing? I meant "DMA from user > > land", not "DMA from kernel driver". To do that we have to manipulate the > > IOMMU(Unit). I think it can only be done by default_domain or vfio domain. Or > > the user space have to directly access the IOMMU. > > GPU do DMA in the sense that you pass to the kernel a valid > virtual address (kernel driver do all the proper check) and > then you can use the GPU to copy from or to that range of > virtual address. Exactly how you want to use this compression > engine. It does not rely on SVM but SVM going forward would > still be the prefered option. > No, SVM is not the reason why we rely on Jean's SVM(SVA) series. We rely on Jean's series because of multi-process (PASID or substream ID) support. But of couse, WarpDrive can still benefit from the SVM feature. > > > > your mechanisms the userspace must have a specific userspace > > > drivers for each hardware and thus there are virtually no > > > differences between having this userspace driver open a device > > > file in vfio or somewhere else in the device filesystem. This is > > > just a different path. > > > > > > > The basic problem WarpDrive want to solve it to avoid syscall. This is important > > to accelerators. We have some data here: > > https://www.slideshare.net/linaroorg/progress-and-demonstration-of-wrapdrive-a-accelerator-framework-sfo17317 > > > > (see page 3) > > > > The performance is different on using kernel and user drivers. > > Yes and example i point to is exactly that. You have a one time setup > cost (creating command buffer binding PASID with command buffer and > couple other setup steps). Then userspace no longer have to do any > ioctl to schedule work on the GPU. It is all down from userspace and > it use a doorbell to notify hardware when it should go look at command > buffer for new thing to execute. > > My point stands on that. You have existing driver already doing so > with no new framework and in your scheme you need a userspace driver. > So i do not see the value add, using one path or the other in the > userspace driver is litteraly one line to change. > Sorry, I'd got confuse here. I partially agree that the user driver is redundance of kernel driver. (But for WarpDrive, the kernel driver is a full driver include all preparation and setup stuff for the hardware, the user driver is simply to send request and receive answer). Yes, it is just a choice of path. But the user path is faster if the request come from use space. And to do that, we need user land DMA support. Then why is it invaluable to let VFIO involved? > > > And we also believe the hardware interface can become standard after sometime. > > Some companies have started to do this (such ARM's Revere). But before that, we > > should have a software channel for it. > > I hope it does, but right now for every single piece of hardware you > will need a specific driver (i am ignoring backward compatible hardware > evolution as this is a thing that do exist). > > Even if down the road for every class of hardware you can use the same > driver, i am not sure what the value add is to do it inside VFIO versus > a class of device driver (like USB, PCIE, DRM aka GPU, ...) ie you would > have a compression class (/dev/compress/*) a encryption one, ... > > > > > So this is why i do not see any benefit to having all drivers with > > > SVM (can we please use SVM and not SVA as SVM is what have been use > > > in more places so far). > > > > > > > Personally, we don't care what name to be used. I used SVM when I start this > > work. And then Jean said SVM had been used by AMD as Secure Virtual Machine. So > > he called it SVA. And now... who should I follow? :) > > I think Intel call it SVM too, i do not have any strong preference > beside have only one to remember :) OK. Then let's call it SVM for now. > > Cheers, > Jérôme -- -Kenneth(Hisilicon) ================================================================================ 本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁 止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中 的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件! This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it! -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kenneth Lee Subject: Re: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive Date: Mon, 6 Aug 2018 11:12:52 +0800 Message-ID: <20180806031252.GG91035@Turing-Arch-b> References: <20180801102221.5308-1-nek.in.cn@gmail.com> <20180801165644.GA3820@redhat.com> <20180802040557.GL160746@Turing-Arch-b> <20180802142243.GA3481@redhat.com> <20180803034721.GC91035@Turing-Arch-b> <20180803143944.GA4079@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180803143944.GA4079-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Jerome Glisse Cc: "Tian, Kevin" , Alex Williamson , Herbert Xu , "kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Jonathan Corbet , Greg Kroah-Hartman , Zaibo Xu , "linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "Kumar, Sanjay K" , Hao Fang , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linuxarm-hv44wF8Li93QT0dZR+AlfA@public.gmane.org" , "iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org" , "linux-crypto-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Philippe Ombredanne , Thomas Gleixner , Kenneth Lee , "David S . Miller" , "linux-accelerators-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org" List-Id: iommu@lists.linux-foundation.org T24gRnJpLCBBdWcgMDMsIDIwMTggYXQgMTA6Mzk6NDRBTSAtMDQwMCwgSmVyb21lIEdsaXNzZSB3 cm90ZToKPiBEYXRlOiBGcmksIDMgQXVnIDIwMTggMTA6Mzk6NDQgLTA0MDAKPiBGcm9tOiBKZXJv bWUgR2xpc3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+Cj4gVG86IEtlbm5ldGggTGVlIDxsaWd1b3po dUBoaXNpbGljb24uY29tPgo+IENDOiAiVGlhbiwgS2V2aW4iIDxrZXZpbi50aWFuQGludGVsLmNv bT4sIEhlcmJlcnQgWHUKPiAgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4sICJrdm1Admdl ci5rZXJuZWwub3JnIgo+ICA8a3ZtQHZnZXIua2VybmVsLm9yZz4sIEpvbmF0aGFuIENvcmJldCA8 Y29yYmV0QGx3bi5uZXQ+LCBHcmVnCj4gIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5k YXRpb24ub3JnPiwgWmFpYm8gWHUgPHh1emFpYm9AaHVhd2VpLmNvbT4sCj4gICJsaW51eC1kb2NA dmdlci5rZXJuZWwub3JnIiA8bGludXgtZG9jQHZnZXIua2VybmVsLm9yZz4sICJLdW1hciwgU2Fu amF5IEsiCj4gIDxzYW5qYXkuay5rdW1hckBpbnRlbC5jb20+LCBIYW8gRmFuZyA8ZmFuZ2hhbzEx QGh1YXdlaS5jb20+LAo+ICAiaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmciIDxpb21t dUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZz4sCj4gICJsaW51eC1rZXJuZWxAdmdlci5rZXJu ZWwub3JnIiA8bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZz4sCj4gICJsaW51eGFybUBodWF3 ZWkuY29tIiA8bGludXhhcm1AaHVhd2VpLmNvbT4sIEFsZXggV2lsbGlhbXNvbgo+ICA8YWxleC53 aWxsaWFtc29uQHJlZGhhdC5jb20+LCAibGludXgtY3J5cHRvQHZnZXIua2VybmVsLm9yZyIKPiAg PGxpbnV4LWNyeXB0b0B2Z2VyLmtlcm5lbC5vcmc+LCBQaGlsaXBwZSBPbWJyZWRhbm5lCj4gIDxw b21icmVkYW5uZUBuZXhiLmNvbT4sIFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRl PiwgS2VubmV0aCBMZWUKPiAgPG5lay5pbi5jbkBnbWFpbC5jb20+LCAiRGF2aWQgUyAuIE1pbGxl ciIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+LAo+ICAibGludXgtYWNjZWxlcmF0b3JzQGxpc3RzLm96 bGFicy5vcmciCj4gIDxsaW51eC1hY2NlbGVyYXRvcnNAbGlzdHMub3psYWJzLm9yZz4KPiBTdWJq ZWN0OiBSZTogW1JGQyBQQVRDSCAwLzddIEEgR2VuZXJhbCBBY2NlbGVyYXRvciBGcmFtZXdvcmss IFdhcnBEcml2ZQo+IFVzZXItQWdlbnQ6IE11dHQvMS4xMC4wICgyMDE4LTA1LTE3KQo+IE1lc3Nh Z2UtSUQ6IDwyMDE4MDgwMzE0Mzk0NC5HQTQwNzlAcmVkaGF0LmNvbT4KPiAKPiBPbiBGcmksIEF1 ZyAwMywgMjAxOCBhdCAxMTo0NzoyMUFNICswODAwLCBLZW5uZXRoIExlZSB3cm90ZToKPiA+IE9u IFRodSwgQXVnIDAyLCAyMDE4IGF0IDEwOjIyOjQzQU0gLTA0MDAsIEplcm9tZSBHbGlzc2Ugd3Jv dGU6Cj4gPiA+IERhdGU6IFRodSwgMiBBdWcgMjAxOCAxMDoyMjo0MyAtMDQwMAo+ID4gPiBGcm9t OiBKZXJvbWUgR2xpc3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+Cj4gPiA+IFRvOiBLZW5uZXRoIExl ZSA8bGlndW96aHVAaGlzaWxpY29uLmNvbT4KPiA+ID4gQ0M6ICJUaWFuLCBLZXZpbiIgPGtldmlu LnRpYW5AaW50ZWwuY29tPiwgSGFvIEZhbmcgPGZhbmdoYW8xMUBodWF3ZWkuY29tPiwKPiA+ID4g IEFsZXggV2lsbGlhbXNvbiA8YWxleC53aWxsaWFtc29uQHJlZGhhdC5jb20+LCBIZXJiZXJ0IFh1 Cj4gPiA+ICA8aGVyYmVydEBnb25kb3IuYXBhbmEub3JnLmF1PiwgImt2bUB2Z2VyLmtlcm5lbC5v cmciCj4gPiA+ICA8a3ZtQHZnZXIua2VybmVsLm9yZz4sIEpvbmF0aGFuIENvcmJldCA8Y29yYmV0 QGx3bi5uZXQ+LCBHcmVnCj4gPiA+ICBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0 aW9uLm9yZz4sIFphaWJvIFh1IDx4dXphaWJvQGh1YXdlaS5jb20+LAo+ID4gPiAgImxpbnV4LWRv Y0B2Z2VyLmtlcm5lbC5vcmciIDxsaW51eC1kb2NAdmdlci5rZXJuZWwub3JnPiwgIkt1bWFyLCBT YW5qYXkgSyIKPiA+ID4gIDxzYW5qYXkuay5rdW1hckBpbnRlbC5jb20+LCBLZW5uZXRoIExlZSA8 bmVrLmluLmNuQGdtYWlsLmNvbT4sCj4gPiA+ICAiaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlv bi5vcmciIDxpb21tdUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZz4sCj4gPiA+ICAibGludXgt a2VybmVsQHZnZXIua2VybmVsLm9yZyIgPGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+LAo+ ID4gPiAgImxpbnV4YXJtQGh1YXdlaS5jb20iIDxsaW51eGFybUBodWF3ZWkuY29tPiwKPiA+ID4g ICJsaW51eC1jcnlwdG9Admdlci5rZXJuZWwub3JnIiA8bGludXgtY3J5cHRvQHZnZXIua2VybmVs Lm9yZz4sIFBoaWxpcHBlCj4gPiA+ICBPbWJyZWRhbm5lIDxwb21icmVkYW5uZUBuZXhiLmNvbT4s IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPiwKPiA+ID4gICJEYXZpZCBTIC4g TWlsbGVyIiA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4sCj4gPiA+ICAibGludXgtYWNjZWxlcmF0b3Jz QGxpc3RzLm96bGFicy5vcmciCj4gPiA+ICA8bGludXgtYWNjZWxlcmF0b3JzQGxpc3RzLm96bGFi cy5vcmc+Cj4gPiA+IFN1YmplY3Q6IFJlOiBbUkZDIFBBVENIIDAvN10gQSBHZW5lcmFsIEFjY2Vs ZXJhdG9yIEZyYW1ld29yaywgV2FycERyaXZlCj4gPiA+IFVzZXItQWdlbnQ6IE11dHQvMS4xMC4w ICgyMDE4LTA1LTE3KQo+ID4gPiBNZXNzYWdlLUlEOiA8MjAxODA4MDIxNDIyNDMuR0EzNDgxQHJl ZGhhdC5jb20+Cj4gPiA+IAo+ID4gPiBPbiBUaHUsIEF1ZyAwMiwgMjAxOCBhdCAxMjowNTo1N1BN ICswODAwLCBLZW5uZXRoIExlZSB3cm90ZToKPiA+ID4gPiBPbiBUaHUsIEF1ZyAwMiwgMjAxOCBh dCAwMjozMzoxMkFNICswMDAwLCBUaWFuLCBLZXZpbiB3cm90ZToKPiA+ID4gPiA+IERhdGU6IFRo dSwgMiBBdWcgMjAxOCAwMjozMzoxMiArMDAwMAo+ID4gPiA+ID4gPiBGcm9tOiBKZXJvbWUgR2xp c3NlCj4gPiA+ID4gPiA+IE9uIFdlZCwgQXVnIDAxLCAyMDE4IGF0IDA2OjIyOjE0UE0gKzA4MDAs IEtlbm5ldGggTGVlIHdyb3RlOgo+ID4gPiA+ID4gPiA+IEZyb206IEtlbm5ldGggTGVlIDxsaWd1 b3podUBoaXNpbGljb24uY29tPgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gV2FycERyaXZl IGlzIGFuIGFjY2VsZXJhdG9yIGZyYW1ld29yayB0byBleHBvc2UgdGhlIGhhcmR3YXJlCj4gPiA+ ID4gPiA+IGNhcGFiaWxpdGllcwo+ID4gPiA+ID4gPiA+IGRpcmVjdGx5IHRvIHRoZSB1c2VyIHNw YWNlLiBJdCBtYWtlcyB1c2Ugb2YgdGhlIGV4aXN0IHZmaW8gYW5kIHZmaW8tbWRldgo+ID4gPiA+ ID4gPiA+IGZhY2lsaXRpZXMuIFNvIHRoZSB1c2VyIGFwcGxpY2F0aW9uIGNhbiBzZW5kIHJlcXVl c3QgYW5kIERNQSB0byB0aGUKPiA+ID4gPiA+ID4gPiBoYXJkd2FyZSB3aXRob3V0IGludGVyYWN0 aW9uIHdpdGggdGhlIGtlcm5lbC4gVGhpcyByZW1vdmUgdGhlIGxhdGVuY3kKPiA+ID4gPiA+ID4g PiBvZiBzeXNjYWxsIGFuZCBjb250ZXh0IHN3aXRjaC4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4g PiA+IFRoZSBwYXRjaHNldCBjb250YWlucyBkb2N1bWVudHMgZm9yIHRoZSBkZXRhaWwuIFBsZWFz ZSByZWZlciB0byBpdCBmb3IKPiA+ID4gPiA+ID4gbW9yZQo+ID4gPiA+ID4gPiA+IGluZm9ybWF0 aW9uLgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gVGhpcyBwYXRjaHNldCBpcyBpbnRlbmRl ZCB0byBiZSB1c2VkIHdpdGggSmVhbiBQaGlsaXBwZSBCcnVja2VyJ3MgU1ZBCj4gPiA+ID4gPiA+ ID4gcGF0Y2ggWzFdIChXaGljaCBpcyBhbHNvIGluIFJGQyBzdGFnZSkuIEJ1dCBpdCBpcyBub3Qg bWFuZGF0b3J5LiBUaGlzCj4gPiA+ID4gPiA+ID4gcGF0Y2hzZXQgaXMgdGVzdGVkIGluIHRoZSBs YXRlc3QgbWFpbmxpbmUga2VybmVsIHdpdGhvdXQgdGhlIFNWQSBwYXRjaGVzLgo+ID4gPiA+ID4g PiA+IFNvIGl0IHN1cHBvcnQgb25seSBvbmUgcHJvY2VzcyBmb3IgZWFjaCBhY2NlbGVyYXRvci4K PiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IFdpdGggU1ZBIHN1cHBvcnQsIFdhcnBEcml2ZSBj YW4gc3VwcG9ydCBtdWx0aS1wcm9jZXNzIGluIHRoZSBzYW1lCj4gPiA+ID4gPiA+ID4gYWNjZWxl cmF0b3IgZGV2aWNlLiAgV2UgdGVzdGVkIGl0IGluIG91ciBTb0MgaW50ZWdyYXRlZCBBY2NlbGVy YXRvciAoYm9hcmQKPiA+ID4gPiA+ID4gPiBJRDogRDA2LCBDaGlwIElEOiBISVAwOCkuIEEgcmVm ZXJlbmNlIHdvcmsgdHJlZSBjYW4gYmUgZm91bmQgaGVyZTogWzJdLgo+ID4gPiA+ID4gPiAKPiA+ ID4gPiA+ID4gSSBoYXZlIG5vdCBmdWxseSBpbnNwZWN0ZWQgdGhpbmdzIG5vciBkbyBpIGtub3cg ZW5vdWdoIGFib3V0Cj4gPiA+ID4gPiA+IHRoaXMgSGlzaWxpY29uIFpJUCBhY2NlbGVyYXRvciB0 byBhc2NlcnRhaW4sIGJ1dCBmcm9tIGdsaW1wc2luZwo+ID4gPiA+ID4gPiBhdCB0aGUgY29kZSBp dCBzZWVtcyB0aGF0IGl0IGlzIHVuc2FmZSB0byB1c2UgZXZlbiB3aXRoIFNWQSBkdWUKPiA+ID4g PiA+ID4gdG8gdGhlIGRvb3JiZWxsLiBUaGVyZSBpcyBhIGNvbW1lbnQgdGFsa2luZyBhYm91dCBz YWZldHluZXNzCj4gPiA+ID4gPiA+IGluIHBhdGNoIDcuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4g PiBFeHBvc2luZyB0aGluZyB0byB1c2Vyc3BhY2UgaXMgYWx3YXlzIGVudGljaW5nLCBidXQgaWYg aXQgaXMKPiA+ID4gPiA+ID4gYSBzZWN1cml0eSByaXNrIHRoZW4gaXQgc2hvdWxkIGNsZWFybHkg c2F5IHNvIGFuZCBtYXliZSBhCj4gPiA+ID4gPiA+IGtlcm5lbCBib290IGZsYWcgc2hvdWxkIGJl IG5lY2Vzc2FyeSB0byBhbGxvdyBzdWNoIGRldmljZSB0bwo+ID4gPiA+ID4gPiBiZSB1c2UuCj4g PiA+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IEJ1dCBkb29yYmVsbCBpcyBqdXN0IGEgbm90aWZp Y2F0aW9uLiBFeGNlcHQgZm9yIERPUyAodG8gbWFrZSBoYXJkd2FyZSBidXN5KSBpdAo+ID4gPiA+ IGNhbm5vdCBhY3R1YWxseSB0YWtlIG9yIGNoYW5nZSBhbnl0aGluZyBmcm9tIHRoZSBrZXJuZWwg c3BhY2UuIEFuZCB0aGUgRE9TCj4gPiA+ID4gcHJvYmxlbSBjYW4gYmUgYWx3YXlzIHRha2VuIGFz IHRoZSBwcm9ibGVtIHRoYXQgYSBncm91cCBvZiBwcm9jZXNzZXMgc2hhcmUgdGhlCj4gPiA+ID4g c2FtZSBrZXJuZWwgZW50aXR5Lgo+ID4gPiA+IAo+ID4gPiA+IEluIHRoZSBjb21pbmcgSElQMDkg aGFyZHdhcmUsIHRoZSBkb29yYmVsbCB3aWxsIGNvbWUgd2l0aCBhIHJhbmRvbSBudW1iZXIgc28K PiA+ID4gPiBvbmx5IHRoZSBwcm9jZXNzIHdobyBhbGxvY2F0ZWQgdGhlIHF1ZXVlIGNhbiBrbm9j ayBpdCBjb3JyZWN0bHkuCj4gPiA+IAo+ID4gPiBXaGVuIGRvb3JiZWxsIGlzIHJpbmcgdGhlIGhh cmR3YXJlIHN0YXJ0IGZldGNoaW5nIGNvbW1hbmRzIGZyb20KPiA+ID4gdGhlIHF1ZXVlIGFuZCBl eGVjdXRlIHRoZW0gPyBJZiBzbyB0aGFuIGEgcm9ndWUgcHJvY2VzcyBCIG1pZ2h0Cj4gPiA+IHJp bmcgdGhlIGRvb3JiZWxsIG9mIHByb2Nlc3MgQSB3aGljaCB3b3VsZCBzdGFydHMgZXhlY3V0aW9u IG9mCj4gPiA+IHJhbmRvbSBjb21tYW5kcyAoaWUgd2hhdGV2ZXIgcmFuZG9tIG1lbW9yeSB2YWx1 ZSB0aGVyZSBpcyBsZWZ0Cj4gPiA+IGluc2lkZSB0aGUgY29tbWFuZCBidWZmZXIgbWVtb3J5LCBj b3VsZCBiZSBvbGQgY29tbWFuZHMgaSBndWVzcykuCj4gPiA+IAo+ID4gPiBJZiB0aGlzIGlzIG5v dCBob3cgdGhpcyBkb29yYmVsbCB3b3JrcyB0aGVuLCB5ZXMgaXQgY2FuIG9ubHkgZG8KPiA+ID4g YSBkZW5pYWwgb2Ygc2VydmljZSBpIGd1ZXNzLiBJc3N1ZSBpIGhhdmUgd2l0aCBkb29yYmVsbCBp cyB0aGF0Cj4gPiA+IGkgaGF2ZSBzZWVuIDEwIGRpZmZlcmVudHMgaW1wbGVtZW50YXRpb25zIGlu IDEwIGRpZmZlcmVudHMgaHcKPiA+ID4gYW5kIGVhY2ggYXJlIGRpZmZlcmVudCBhcyB0byB3aGF0 IHJpbmdpbmcgb3IgdmFsdWUgd3JpdHRlbiB0byB0aGUKPiA+ID4gZG9vcmJlbGwgZG9lcy4gSXQg aXMgcGFpbmZ1bGwgdG8gdHJhY2sgd2hhdCBpcyB3aGF0IGZvciBlYWNoIGh3Lgo+ID4gPiAKPiA+ IAo+ID4gSW4gb3VyIGltcGxlbWVudGF0aW9uLCBkb29yYmVsbCBpcyBzaW1wbHkgYSBub3RpZmlj YXRpb24sIGp1c3QgbGlrZSBhbiBpbnRlcnJ1cHQKPiA+IHRvIHRoZSBhY2NlbGVyYXRvci4gVGhl IGNvbW1hbmQgaXMgYWxsIGFib3V0IHdoYXQncyBpbiB0aGUgcXVldWUuCj4gPiAKPiA+IEkgYWdy ZWUgdGhhdCB0aGVyZSBpcyBubyBzaW1wbGUgYW5kIHN0YW5kYXJkIHdheSB0byB0cmFjayB0aGUg c2hhcmVkIElPIHNwYWNlLgo+ID4gQnV0IEkgdGhpbmsgd2UgaGF2ZSB0byB0cnVzdCB0aGUgZHJp dmVyIGluIHNvbWUgd2F5LiBJZiB0aGUgZHJpdmVyIGlzIG1hbGljaW91cywKPiA+IGV2ZW4gYSBz aW1wbGUgaW9jdGwgY2FuIGJlY29tZSBhbiBhdHRhY2suCj4gCj4gVHJ1c3Rpbmcga2VybmVsIHNw YWNlIGRyaXZlciBpcyBmaW5lLCB0cnVzdGluZyB1c2VyIHNwYWNlIGRyaXZlciBpcwo+IG5vdCBp biBteSB2aWV3LiBBRkFJQ1QgZXZlcnkgZHJpdmVyIGRldmVsb3BlciBzbyBmYXIgYWx3YXlzIG1h ZGUKPiBzdXJlIHRoYXQgc29tZW9uZSBjb3VsZCBub3QgYWJ1c2UgaXRzIGRldmljZSB0byBkbyBo YXJtZnVsbCB0aGluZyB0bwo+IG90aGVyIHByb2Nlc3MuCj4gCgpGdWxseSBhZ3JlZS4gVGhhdCBp cyB3aHkgdGhpcyBkcml2ZXIgc2hhcmVzIG9ubHkgdGhlIGRvb3JiZWxsIHNwYWNlLiBUaGVyZSBp cwpvbmx5IHRoZSBkb29yYmVsbCBpcyBzaGFyZWQgaW4gdGhlIHdob2xlIHBhZ2UsIG5vdGhpbmcg ZWxzZS4KCk1heWJlIHlvdSBhcmUgY29uY2VybmluZyB0aGUgdXNlciBkcml2ZXIgd2lsbCBnaXZl IG1hbGljaW91cyBjb21tYW5kIHRvIHRoZQpoYXJkd2FyZT8gQnV0IHRoZXNlIGNvbW1hbmRzIGNh bm5vdCBpbmZsdWVuY2UgdGhlIG90aGVyIHByb2Nlc3MuIElmIHdlIGNhbiB0cnVzdAp0aGUgaGFy ZHdhcmUgZGVzaWduLCB0aGUgcHJvY2VzcyBjYW5ub3QgZG8gYW55IGhhcm0uCgo+IAo+ID4gPiA+ ID4gPiBNeSBtb3JlIGdlbmVyYWwgcXVlc3Rpb24gaXMgZG8gd2Ugd2FudCB0byBncm93IFZGSU8g dG8gYmVjb21lCj4gPiA+ID4gPiA+IGEgbW9yZSBnZW5lcmljIGRldmljZSBkcml2ZXIgQVBJLiBU aGlzIHBhdGNoc2V0IGFkZHMgYSBjb21tYW5kCj4gPiA+ID4gPiA+IHF1ZXVlIGNvbmNlcHQgdG8g aXQgKGkgZG9uJ3QgdGhpbmsgaXQgZXhpc3QgdG9kYXkgYnV0IGkgaGF2ZQo+ID4gPiA+ID4gPiBu b3QgZm9sbG93IFZGSU8gY2xvc2VseSkuCj4gPiA+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IFRo ZSB0aGluZyBpcywgVkZJTyBpcyB0aGUgb25seSBwbGFjZSB0byBzdXBwb3J0IERNQSBmcm9tIHVz ZXIgbGFuZC4gSWYgd2UgZG9uJ3QKPiA+ID4gPiBwdXQgaXQgaGVyZSwgd2UgaGF2ZSB0byBjcmVh dGUgYW5vdGhlciBzaW1pbGFyIGZhY2lsaXR5IHRvIHN1cHBvcnQgdGhlIHNhbWUuCj4gPiA+IAo+ ID4gPiBObyBpdCBpcyBub3QsIG5ldHdvcmsgZGV2aWNlLCBHUFUsIGJsb2NrIGRldmljZSwgLi4u IHRoZXkgYWxsIGRvCj4gPiA+IHN1cHBvcnQgRE1BLiBUaGUgcG9pbnQgaSBhbSB0cnlpbmcgdG8g bWFrZSBoZXJlIGlzIHRoYXQgZXZlbiBpbgo+ID4gCj4gPiBTb3JyeSwgd2FpdCBhIG1pbnV0ZSwg YXJlIHdlIHRhbGtpbmcgdGhlIHNhbWUgdGhpbmc/IEkgbWVhbnQgIkRNQSBmcm9tIHVzZXIKPiA+ IGxhbmQiLCBub3QgIkRNQSBmcm9tIGtlcm5lbCBkcml2ZXIiLiBUbyBkbyB0aGF0IHdlIGhhdmUg dG8gbWFuaXB1bGF0ZSB0aGUKPiA+IElPTU1VKFVuaXQpLiBJIHRoaW5rIGl0IGNhbiBvbmx5IGJl IGRvbmUgYnkgZGVmYXVsdF9kb21haW4gb3IgdmZpbyBkb21haW4uIE9yCj4gPiB0aGUgdXNlciBz cGFjZSBoYXZlIHRvIGRpcmVjdGx5IGFjY2VzcyB0aGUgSU9NTVUuCj4gCj4gR1BVIGRvIERNQSBp biB0aGUgc2Vuc2UgdGhhdCB5b3UgcGFzcyB0byB0aGUga2VybmVsIGEgdmFsaWQKPiB2aXJ0dWFs IGFkZHJlc3MgKGtlcm5lbCBkcml2ZXIgZG8gYWxsIHRoZSBwcm9wZXIgY2hlY2spIGFuZAo+IHRo ZW4geW91IGNhbiB1c2UgdGhlIEdQVSB0byBjb3B5IGZyb20gb3IgdG8gdGhhdCByYW5nZSBvZgo+ IHZpcnR1YWwgYWRkcmVzcy4gRXhhY3RseSBob3cgeW91IHdhbnQgdG8gdXNlIHRoaXMgY29tcHJl c3Npb24KPiBlbmdpbmUuIEl0IGRvZXMgbm90IHJlbHkgb24gU1ZNIGJ1dCBTVk0gZ29pbmcgZm9y d2FyZCB3b3VsZAo+IHN0aWxsIGJlIHRoZSBwcmVmZXJlZCBvcHRpb24uCj4gCgpObywgU1ZNIGlz IG5vdCB0aGUgcmVhc29uIHdoeSB3ZSByZWx5IG9uIEplYW4ncyBTVk0oU1ZBKSBzZXJpZXMuIFdl IHJlbHkgb24KSmVhbidzIHNlcmllcyBiZWNhdXNlIG9mIG11bHRpLXByb2Nlc3MgKFBBU0lEIG9y IHN1YnN0cmVhbSBJRCkgc3VwcG9ydC4KCkJ1dCBvZiBjb3VzZSwgV2FycERyaXZlIGNhbiBzdGls bCBiZW5lZml0IGZyb20gdGhlIFNWTSBmZWF0dXJlLgoKPiAKPiA+ID4geW91ciBtZWNoYW5pc21z IHRoZSB1c2Vyc3BhY2UgbXVzdCBoYXZlIGEgc3BlY2lmaWMgdXNlcnNwYWNlCj4gPiA+IGRyaXZl cnMgZm9yIGVhY2ggaGFyZHdhcmUgYW5kIHRodXMgdGhlcmUgYXJlIHZpcnR1YWxseSBubwo+ID4g PiBkaWZmZXJlbmNlcyBiZXR3ZWVuIGhhdmluZyB0aGlzIHVzZXJzcGFjZSBkcml2ZXIgb3BlbiBh IGRldmljZQo+ID4gPiBmaWxlIGluIHZmaW8gb3Igc29tZXdoZXJlIGVsc2UgaW4gdGhlIGRldmlj ZSBmaWxlc3lzdGVtLiBUaGlzIGlzCj4gPiA+IGp1c3QgYSBkaWZmZXJlbnQgcGF0aC4KPiA+ID4g Cj4gPiAKPiA+IFRoZSBiYXNpYyBwcm9ibGVtIFdhcnBEcml2ZSB3YW50IHRvIHNvbHZlIGl0IHRv IGF2b2lkIHN5c2NhbGwuIFRoaXMgaXMgaW1wb3J0YW50Cj4gPiB0byBhY2NlbGVyYXRvcnMuIFdl IGhhdmUgc29tZSBkYXRhIGhlcmU6Cj4gPiBodHRwczovL3d3dy5zbGlkZXNoYXJlLm5ldC9saW5h cm9vcmcvcHJvZ3Jlc3MtYW5kLWRlbW9uc3RyYXRpb24tb2Ytd3JhcGRyaXZlLWEtYWNjZWxlcmF0 b3ItZnJhbWV3b3JrLXNmbzE3MzE3Cj4gPiAKPiA+IChzZWUgcGFnZSAzKQo+ID4gCj4gPiBUaGUg cGVyZm9ybWFuY2UgaXMgZGlmZmVyZW50IG9uIHVzaW5nIGtlcm5lbCBhbmQgdXNlciBkcml2ZXJz Lgo+IAo+IFllcyBhbmQgZXhhbXBsZSBpIHBvaW50IHRvIGlzIGV4YWN0bHkgdGhhdC4gWW91IGhh dmUgYSBvbmUgdGltZSBzZXR1cAo+IGNvc3QgKGNyZWF0aW5nIGNvbW1hbmQgYnVmZmVyIGJpbmRp bmcgUEFTSUQgd2l0aCBjb21tYW5kIGJ1ZmZlciBhbmQKPiBjb3VwbGUgb3RoZXIgc2V0dXAgc3Rl cHMpLiBUaGVuIHVzZXJzcGFjZSBubyBsb25nZXIgaGF2ZSB0byBkbyBhbnkKPiBpb2N0bCB0byBz Y2hlZHVsZSB3b3JrIG9uIHRoZSBHUFUuIEl0IGlzIGFsbCBkb3duIGZyb20gdXNlcnNwYWNlIGFu ZAo+IGl0IHVzZSBhIGRvb3JiZWxsIHRvIG5vdGlmeSBoYXJkd2FyZSB3aGVuIGl0IHNob3VsZCBn byBsb29rIGF0IGNvbW1hbmQKPiBidWZmZXIgZm9yIG5ldyB0aGluZyB0byBleGVjdXRlLgo+IAo+ IE15IHBvaW50IHN0YW5kcyBvbiB0aGF0LiBZb3UgaGF2ZSBleGlzdGluZyBkcml2ZXIgYWxyZWFk eSBkb2luZyBzbwo+IHdpdGggbm8gbmV3IGZyYW1ld29yayBhbmQgaW4geW91ciBzY2hlbWUgeW91 IG5lZWQgYSB1c2Vyc3BhY2UgZHJpdmVyLgo+IFNvIGkgZG8gbm90IHNlZSB0aGUgdmFsdWUgYWRk LCB1c2luZyBvbmUgcGF0aCBvciB0aGUgb3RoZXIgaW4gdGhlCj4gdXNlcnNwYWNlIGRyaXZlciBp cyBsaXR0ZXJhbHkgb25lIGxpbmUgdG8gY2hhbmdlLgo+IAoKU29ycnksIEknZCBnb3QgY29uZnVz ZSBoZXJlLiBJIHBhcnRpYWxseSBhZ3JlZSB0aGF0IHRoZSB1c2VyIGRyaXZlciBpcwpyZWR1bmRh bmNlIG9mIGtlcm5lbCBkcml2ZXIuIChCdXQgZm9yIFdhcnBEcml2ZSwgdGhlIGtlcm5lbCBkcml2 ZXIgaXMgYSBmdWxsCmRyaXZlciBpbmNsdWRlIGFsbCBwcmVwYXJhdGlvbiBhbmQgc2V0dXAgc3R1 ZmYgZm9yIHRoZSBoYXJkd2FyZSwgdGhlIHVzZXIgZHJpdmVyCmlzIHNpbXBseSB0byBzZW5kIHJl cXVlc3QgYW5kIHJlY2VpdmUgYW5zd2VyKS4gWWVzLCBpdCBpcyBqdXN0IGEgY2hvaWNlIG9mIHBh dGguCkJ1dCB0aGUgdXNlciBwYXRoIGlzIGZhc3RlciBpZiB0aGUgcmVxdWVzdCBjb21lIGZyb20g dXNlIHNwYWNlLiBBbmQgdG8gZG8gdGhhdCwKd2UgbmVlZCB1c2VyIGxhbmQgRE1BIHN1cHBvcnQu IFRoZW4gd2h5IGlzIGl0IGludmFsdWFibGUgdG8gbGV0IFZGSU8gaW52b2x2ZWQ/Cgo+IAo+ID4g QW5kIHdlIGFsc28gYmVsaWV2ZSB0aGUgaGFyZHdhcmUgaW50ZXJmYWNlIGNhbiBiZWNvbWUgc3Rh bmRhcmQgYWZ0ZXIgc29tZXRpbWUuCj4gPiBTb21lIGNvbXBhbmllcyBoYXZlIHN0YXJ0ZWQgdG8g ZG8gdGhpcyAoc3VjaCBBUk0ncyBSZXZlcmUpLiBCdXQgYmVmb3JlIHRoYXQsIHdlCj4gPiBzaG91 bGQgaGF2ZSBhIHNvZnR3YXJlIGNoYW5uZWwgZm9yIGl0Lgo+IAo+IEkgaG9wZSBpdCBkb2VzLCBi dXQgcmlnaHQgbm93IGZvciBldmVyeSBzaW5nbGUgcGllY2Ugb2YgaGFyZHdhcmUgeW91Cj4gd2ls bCBuZWVkIGEgc3BlY2lmaWMgZHJpdmVyIChpIGFtIGlnbm9yaW5nIGJhY2t3YXJkIGNvbXBhdGli bGUgaGFyZHdhcmUKPiBldm9sdXRpb24gYXMgdGhpcyBpcyBhIHRoaW5nIHRoYXQgZG8gZXhpc3Qp Lgo+IAo+IEV2ZW4gaWYgZG93biB0aGUgcm9hZCBmb3IgZXZlcnkgY2xhc3Mgb2YgaGFyZHdhcmUg eW91IGNhbiB1c2UgdGhlIHNhbWUKPiBkcml2ZXIsIGkgYW0gbm90IHN1cmUgd2hhdCB0aGUgdmFs dWUgYWRkIGlzIHRvIGRvIGl0IGluc2lkZSBWRklPIHZlcnN1cwo+IGEgY2xhc3Mgb2YgZGV2aWNl IGRyaXZlciAobGlrZSBVU0IsIFBDSUUsIERSTSBha2EgR1BVLCAuLi4pIGllIHlvdSB3b3VsZAo+ IGhhdmUgYSBjb21wcmVzc2lvbiBjbGFzcyAoL2Rldi9jb21wcmVzcy8qKSBhIGVuY3J5cHRpb24g b25lLCAuLi4KPiAKPgo+ID4gPiBTbyB0aGlzIGlzIHdoeSBpIGRvIG5vdCBzZWUgYW55IGJlbmVm aXQgdG8gaGF2aW5nIGFsbCBkcml2ZXJzIHdpdGgKPiA+ID4gU1ZNIChjYW4gd2UgcGxlYXNlIHVz ZSBTVk0gYW5kIG5vdCBTVkEgYXMgU1ZNIGlzIHdoYXQgaGF2ZSBiZWVuIHVzZQo+ID4gPiBpbiBt b3JlIHBsYWNlcyBzbyBmYXIpLgo+ID4gPiAKPiA+IAo+ID4gUGVyc29uYWxseSwgd2UgZG9uJ3Qg Y2FyZSB3aGF0IG5hbWUgdG8gYmUgdXNlZC4gSSB1c2VkIFNWTSB3aGVuIEkgc3RhcnQgdGhpcwo+ ID4gd29yay4gQW5kIHRoZW4gSmVhbiBzYWlkIFNWTSBoYWQgYmVlbiB1c2VkIGJ5IEFNRCBhcyBT ZWN1cmUgVmlydHVhbCBNYWNoaW5lLiBTbwo+ID4gaGUgY2FsbGVkIGl0IFNWQS4gQW5kIG5vdy4u LiB3aG8gc2hvdWxkIEkgZm9sbG93PyA6KQo+IAo+IEkgdGhpbmsgSW50ZWwgY2FsbCBpdCBTVk0g dG9vLCBpIGRvIG5vdCBoYXZlIGFueSBzdHJvbmcgcHJlZmVyZW5jZQo+IGJlc2lkZSBoYXZlIG9u bHkgb25lIHRvIHJlbWVtYmVyIDopCgpPSy4gVGhlbiBsZXQncyBjYWxsIGl0IFNWTSBmb3Igbm93 LgoKPiAKPiBDaGVlcnMsCj4gSsOpcsO0bWUKCi0tIAoJCQktS2VubmV0aChIaXNpbGljb24pCgo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQrmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrl hazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3l iJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoEK5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V 5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy 44CB5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitCueahOS/oeaBr+OAguWmguaenOaC qOmUmeaUtuS6huacrOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuefpeWP keS7tuS6uuW5tuWIoOmZpOacrOmCruS7tu+8gQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1l bnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLAp3aGljaCBp cyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlz IGxpc3RlZCBhYm92ZS4KQW55IHVzZSBvZiB0aGUgCmluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJl aW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yCnBh cnRpYWwgZGlzY2xvc3VyZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJz b25zIG90aGVyIHRoYW4gdGhlCmludGVuZGVkIApyZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4g SWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkKdGhlIHNl bmRlciBieSBwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaW9tbXUgbWFpbGluZyBs aXN0CmlvbW11QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGludXhm b3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lvbW11 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=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT 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 D39E5C46471 for ; Mon, 6 Aug 2018 03:14:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7B23821992 for ; Mon, 6 Aug 2018 03:14:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7B23821992 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=hisilicon.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727288AbeHFFV0 (ORCPT ); Mon, 6 Aug 2018 01:21:26 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:10635 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726338AbeHFFV0 (ORCPT ); Mon, 6 Aug 2018 01:21:26 -0400 Received: from DGGEMS402-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 0079FD9167D66; Mon, 6 Aug 2018 11:14:20 +0800 (CST) Received: from localhost (10.67.212.75) by DGGEMS402-HUB.china.huawei.com (10.3.19.202) with Microsoft SMTP Server (TLS) id 14.3.399.0; Mon, 6 Aug 2018 11:14:14 +0800 Date: Mon, 6 Aug 2018 11:12:52 +0800 From: Kenneth Lee To: Jerome Glisse CC: "Tian, Kevin" , Herbert Xu , "kvm@vger.kernel.org" , Jonathan Corbet , Greg Kroah-Hartman , Zaibo Xu , "linux-doc@vger.kernel.org" , "Kumar, Sanjay K" , Hao Fang , "iommu@lists.linux-foundation.org" , "linux-kernel@vger.kernel.org" , "linuxarm@huawei.com" , Alex Williamson , "linux-crypto@vger.kernel.org" , Philippe Ombredanne , Thomas Gleixner , Kenneth Lee , "David S . Miller" , "linux-accelerators@lists.ozlabs.org" Subject: Re: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive Message-ID: <20180806031252.GG91035@Turing-Arch-b> References: <20180801102221.5308-1-nek.in.cn@gmail.com> <20180801165644.GA3820@redhat.com> <20180802040557.GL160746@Turing-Arch-b> <20180802142243.GA3481@redhat.com> <20180803034721.GC91035@Turing-Arch-b> <20180803143944.GA4079@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180803143944.GA4079@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Originating-IP: [10.67.212.75] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Aug 03, 2018 at 10:39:44AM -0400, Jerome Glisse wrote: > Date: Fri, 3 Aug 2018 10:39:44 -0400 > From: Jerome Glisse > To: Kenneth Lee > CC: "Tian, Kevin" , Herbert Xu > , "kvm@vger.kernel.org" > , Jonathan Corbet , Greg > Kroah-Hartman , Zaibo Xu , > "linux-doc@vger.kernel.org" , "Kumar, Sanjay K" > , Hao Fang , > "iommu@lists.linux-foundation.org" , > "linux-kernel@vger.kernel.org" , > "linuxarm@huawei.com" , Alex Williamson > , "linux-crypto@vger.kernel.org" > , Philippe Ombredanne > , Thomas Gleixner , Kenneth Lee > , "David S . Miller" , > "linux-accelerators@lists.ozlabs.org" > > Subject: Re: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive > User-Agent: Mutt/1.10.0 (2018-05-17) > Message-ID: <20180803143944.GA4079@redhat.com> > > On Fri, Aug 03, 2018 at 11:47:21AM +0800, Kenneth Lee wrote: > > On Thu, Aug 02, 2018 at 10:22:43AM -0400, Jerome Glisse wrote: > > > Date: Thu, 2 Aug 2018 10:22:43 -0400 > > > From: Jerome Glisse > > > To: Kenneth Lee > > > CC: "Tian, Kevin" , Hao Fang , > > > Alex Williamson , Herbert Xu > > > , "kvm@vger.kernel.org" > > > , Jonathan Corbet , Greg > > > Kroah-Hartman , Zaibo Xu , > > > "linux-doc@vger.kernel.org" , "Kumar, Sanjay K" > > > , Kenneth Lee , > > > "iommu@lists.linux-foundation.org" , > > > "linux-kernel@vger.kernel.org" , > > > "linuxarm@huawei.com" , > > > "linux-crypto@vger.kernel.org" , Philippe > > > Ombredanne , Thomas Gleixner , > > > "David S . Miller" , > > > "linux-accelerators@lists.ozlabs.org" > > > > > > Subject: Re: [RFC PATCH 0/7] A General Accelerator Framework, WarpDrive > > > User-Agent: Mutt/1.10.0 (2018-05-17) > > > Message-ID: <20180802142243.GA3481@redhat.com> > > > > > > On Thu, Aug 02, 2018 at 12:05:57PM +0800, Kenneth Lee wrote: > > > > On Thu, Aug 02, 2018 at 02:33:12AM +0000, Tian, Kevin wrote: > > > > > Date: Thu, 2 Aug 2018 02:33:12 +0000 > > > > > > From: Jerome Glisse > > > > > > On Wed, Aug 01, 2018 at 06:22:14PM +0800, Kenneth Lee wrote: > > > > > > > From: Kenneth Lee > > > > > > > > > > > > > > WarpDrive is an accelerator framework to expose the hardware > > > > > > capabilities > > > > > > > directly to the user space. It makes use of the exist vfio and vfio-mdev > > > > > > > facilities. So the user application can send request and DMA to the > > > > > > > hardware without interaction with the kernel. This remove the latency > > > > > > > of syscall and context switch. > > > > > > > > > > > > > > The patchset contains documents for the detail. Please refer to it for > > > > > > more > > > > > > > information. > > > > > > > > > > > > > > This patchset is intended to be used with Jean Philippe Brucker's SVA > > > > > > > patch [1] (Which is also in RFC stage). But it is not mandatory. This > > > > > > > patchset is tested in the latest mainline kernel without the SVA patches. > > > > > > > So it support only one process for each accelerator. > > > > > > > > > > > > > > With SVA support, WarpDrive can support multi-process in the same > > > > > > > accelerator device. We tested it in our SoC integrated Accelerator (board > > > > > > > ID: D06, Chip ID: HIP08). A reference work tree can be found here: [2]. > > > > > > > > > > > > I have not fully inspected things nor do i know enough about > > > > > > this Hisilicon ZIP accelerator to ascertain, but from glimpsing > > > > > > at the code it seems that it is unsafe to use even with SVA due > > > > > > to the doorbell. There is a comment talking about safetyness > > > > > > in patch 7. > > > > > > > > > > > > Exposing thing to userspace is always enticing, but if it is > > > > > > a security risk then it should clearly say so and maybe a > > > > > > kernel boot flag should be necessary to allow such device to > > > > > > be use. > > > > > > > > > > > > > > But doorbell is just a notification. Except for DOS (to make hardware busy) it > > > > cannot actually take or change anything from the kernel space. And the DOS > > > > problem can be always taken as the problem that a group of processes share the > > > > same kernel entity. > > > > > > > > In the coming HIP09 hardware, the doorbell will come with a random number so > > > > only the process who allocated the queue can knock it correctly. > > > > > > When doorbell is ring the hardware start fetching commands from > > > the queue and execute them ? If so than a rogue process B might > > > ring the doorbell of process A which would starts execution of > > > random commands (ie whatever random memory value there is left > > > inside the command buffer memory, could be old commands i guess). > > > > > > If this is not how this doorbell works then, yes it can only do > > > a denial of service i guess. Issue i have with doorbell is that > > > i have seen 10 differents implementations in 10 differents hw > > > and each are different as to what ringing or value written to the > > > doorbell does. It is painfull to track what is what for each hw. > > > > > > > In our implementation, doorbell is simply a notification, just like an interrupt > > to the accelerator. The command is all about what's in the queue. > > > > I agree that there is no simple and standard way to track the shared IO space. > > But I think we have to trust the driver in some way. If the driver is malicious, > > even a simple ioctl can become an attack. > > Trusting kernel space driver is fine, trusting user space driver is > not in my view. AFAICT every driver developer so far always made > sure that someone could not abuse its device to do harmfull thing to > other process. > Fully agree. That is why this driver shares only the doorbell space. There is only the doorbell is shared in the whole page, nothing else. Maybe you are concerning the user driver will give malicious command to the hardware? But these commands cannot influence the other process. If we can trust the hardware design, the process cannot do any harm. > > > > > > > My more general question is do we want to grow VFIO to become > > > > > > a more generic device driver API. This patchset adds a command > > > > > > queue concept to it (i don't think it exist today but i have > > > > > > not follow VFIO closely). > > > > > > > > > > > > > > The thing is, VFIO is the only place to support DMA from user land. If we don't > > > > put it here, we have to create another similar facility to support the same. > > > > > > No it is not, network device, GPU, block device, ... they all do > > > support DMA. The point i am trying to make here is that even in > > > > Sorry, wait a minute, are we talking the same thing? I meant "DMA from user > > land", not "DMA from kernel driver". To do that we have to manipulate the > > IOMMU(Unit). I think it can only be done by default_domain or vfio domain. Or > > the user space have to directly access the IOMMU. > > GPU do DMA in the sense that you pass to the kernel a valid > virtual address (kernel driver do all the proper check) and > then you can use the GPU to copy from or to that range of > virtual address. Exactly how you want to use this compression > engine. It does not rely on SVM but SVM going forward would > still be the prefered option. > No, SVM is not the reason why we rely on Jean's SVM(SVA) series. We rely on Jean's series because of multi-process (PASID or substream ID) support. But of couse, WarpDrive can still benefit from the SVM feature. > > > > your mechanisms the userspace must have a specific userspace > > > drivers for each hardware and thus there are virtually no > > > differences between having this userspace driver open a device > > > file in vfio or somewhere else in the device filesystem. This is > > > just a different path. > > > > > > > The basic problem WarpDrive want to solve it to avoid syscall. This is important > > to accelerators. We have some data here: > > https://www.slideshare.net/linaroorg/progress-and-demonstration-of-wrapdrive-a-accelerator-framework-sfo17317 > > > > (see page 3) > > > > The performance is different on using kernel and user drivers. > > Yes and example i point to is exactly that. You have a one time setup > cost (creating command buffer binding PASID with command buffer and > couple other setup steps). Then userspace no longer have to do any > ioctl to schedule work on the GPU. It is all down from userspace and > it use a doorbell to notify hardware when it should go look at command > buffer for new thing to execute. > > My point stands on that. You have existing driver already doing so > with no new framework and in your scheme you need a userspace driver. > So i do not see the value add, using one path or the other in the > userspace driver is litteraly one line to change. > Sorry, I'd got confuse here. I partially agree that the user driver is redundance of kernel driver. (But for WarpDrive, the kernel driver is a full driver include all preparation and setup stuff for the hardware, the user driver is simply to send request and receive answer). Yes, it is just a choice of path. But the user path is faster if the request come from use space. And to do that, we need user land DMA support. Then why is it invaluable to let VFIO involved? > > > And we also believe the hardware interface can become standard after sometime. > > Some companies have started to do this (such ARM's Revere). But before that, we > > should have a software channel for it. > > I hope it does, but right now for every single piece of hardware you > will need a specific driver (i am ignoring backward compatible hardware > evolution as this is a thing that do exist). > > Even if down the road for every class of hardware you can use the same > driver, i am not sure what the value add is to do it inside VFIO versus > a class of device driver (like USB, PCIE, DRM aka GPU, ...) ie you would > have a compression class (/dev/compress/*) a encryption one, ... > > > > > So this is why i do not see any benefit to having all drivers with > > > SVM (can we please use SVM and not SVA as SVM is what have been use > > > in more places so far). > > > > > > > Personally, we don't care what name to be used. I used SVM when I start this > > work. And then Jean said SVM had been used by AMD as Secure Virtual Machine. So > > he called it SVA. And now... who should I follow? :) > > I think Intel call it SVM too, i do not have any strong preference > beside have only one to remember :) OK. Then let's call it SVM for now. > > Cheers, > Jérôme -- -Kenneth(Hisilicon) ================================================================================ 本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁 止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中 的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件! This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!