From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Gunthorpe Subject: Re: [PATCH hmm 00/15] Consolidate the mmu notifier interval_tree and locking Date: Mon, 21 Oct 2019 15:12:26 +0000 Message-ID: <20191021151221.GC25164@mellanox.com> References: <20191015181242.8343-1-jgg@ziepe.ca> <20191016160444.GB3430@mellanox.com> <2df298e2-ee91-ef40-5da9-2bc1af3a17be@gmail.com> <2046e0b4-ba05-0683-5804-e9bbf903658d@amd.com> <20191018203608.GA5670@mellanox.com> <20191021135744.GA25164@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Content-ID: <5D12EECF800EBF47AF1176524970CAAB@eurprd05.prod.outlook.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Koenig, Christian" Cc: Andrea Arcangeli , "Yang, Philip" , Ralph Campbell , "linux-rdma@vger.kernel.org" , John Hubbard , "Kuehling, Felix" , "amd-gfx@lists.freedesktop.org" , "linux-mm@kvack.org" , Jerome Glisse , "dri-devel@lists.freedesktop.org" , Ben Skeggs List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBPY3QgMjEsIDIwMTkgYXQgMDI6Mjg6NDZQTSArMDAwMCwgS29lbmlnLCBDaHJpc3Rp YW4gd3JvdGU6DQo+IEFtIDIxLjEwLjE5IHVtIDE1OjU3IHNjaHJpZWIgSmFzb24gR3VudGhvcnBl Og0KPiA+IE9uIFN1biwgT2N0IDIwLCAyMDE5IGF0IDAyOjIxOjQyUE0gKzAwMDAsIEtvZW5pZywg Q2hyaXN0aWFuIHdyb3RlOg0KPiA+PiBBbSAxOC4xMC4xOSB1bSAyMjozNiBzY2hyaWViIEphc29u IEd1bnRob3JwZToNCj4gPj4+IE9uIFRodSwgT2N0IDE3LCAyMDE5IGF0IDA0OjQ3OjIwUE0gKzAw MDAsIEtvZW5pZywgQ2hyaXN0aWFuIHdyb3RlOg0KPiA+Pj4gW1NOSVBdDQo+ID4+PiAgICANCj4g Pj4+PiBTbyBhZ2FpbiBob3cgYXJlIHRoZXkgc2VyaWFsaXplZD8NCj4gPj4+IFRoZSAnZHJpdmVy IGxvY2snIHRoaW5nIGRvZXMgaXQsIHJlYWQgdGhlIGhtbSBkb2N1bWVudGF0aW9uLCB0aGUgaG1t DQo+ID4+PiBhcHByb2FjaCBpcyBiYXNpY2FsbHkgdGhlIG9ubHkgYXBwcm9hY2ggdGhhdCB3YXMg Y29ycmVjdCBvZiBhbGwgdGhlDQo+ID4+PiBkcml2ZXJzLi4NCj4gPj4gV2VsbCB0aGF0J3Mgd2hh dCBJJ3ZlIGRpZCwgYnV0IHdoYXQgSE1NIGRvZXMgc3RpbGwgZG9lc24ndCBsb29rcyBjb3JyZWN0 DQo+ID4+IHRvIG1lLg0KPiA+IEl0IGhhcyBhIGJ1ZywgYnV0IHRoZSBiYXNpYyBmbG93IHNlZW1z IHRvIHdvcmsuDQo+ID4NCj4gPiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzEx MTkxDQo+IA0KPiBNYXliZSB3cm9uZyBsaW5rPyBUaGF0IGxpbmsgbG9va3MgbGlrZSBhbiB1bnJl bGF0ZWQgZGlzY3Vzc2lvbiBvbiBrZXJuZWwgDQo+IGltYWdlIHJlbG9jYXRpb24uDQoNClNvcnJ5 LCBpdCBnb3QgY29ycnVwdGVkOg0KDQpodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNo LzExMTkxMzk3Lw0KDQo+ID4+PiBTbyBsb25nIGFzIHRoZSAnZHJpdmVyIGxvY2snIGlzIGhlbGQg dGhlIHJhbmdlIGNhbm5vdCBiZWNvbWUNCj4gPj4+IGludmFsaWRhdGVkIGFzIHRoZSAnZHJpdmVy IGxvY2snIHByZXZlbnRzIHByb2dyZXNzIG9mIGludmFsaWRhdGlvbi4NCj4gPj4gQ29ycmVjdCwg YnV0IHRoZSBwcm9ibGVtIGlzIGl0IGRvZXNuJ3Qgd2FpdCBmb3Igb25nb2luZyBvcGVyYXRpb25z IHRvDQo+ID4+IGNvbXBsZXRlLg0KPiA+Pg0KPiA+PiBTZWUgSSdtIHRhbGtpbmcgYWJvdXQgdGhl IGZvbGxvd2luZyBjYXNlOg0KPiA+Pg0KPiA+PiBUaHJlYWQgQcKgwqDCoCBUaHJlYWQgQg0KPiA+ PiBpbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCkNCj4gPj4gICAgICAgICAgICAgICAgICAgICAgIG1t dV9yYW5nZV9yZWFkX2JlZ2luKCkNCj4gPj4gICAgICAgICAgICAgICAgICAgICAgIGdldF91c2Vy X3BhZ2VzKCkvaG1tX3JhbmdlX2ZhdWx0KCkNCj4gPj4gICAgICAgICAgICAgICAgICAgICAgIGdy YWJfZHJpdmVyX2xvY2soKQ0KPiA+PiBVcGRhdGluZyB0aGUgcHRlcw0KPiA+PiBpbnZhbGlkYXRl X3JhbmdlX2VuZCgpDQo+ID4+DQo+ID4+IEFzIGZhciBhcyBJIGNhbiBzZWUgaW4gaW52YWxpZGF0 ZV9yYW5nZV9zdGFydCgpIHRoZSBkcml2ZXIgbG9jayBpcyB0YWtlbg0KPiA+PiB0byBtYWtlIHN1 cmUgdGhhdCB3ZSBjYW4ndCBzdGFydCBhbnkgaW52YWxpZGF0aW9uIHdoaWxlIHRoZSBkcml2ZXIg aXMNCj4gPj4gdXNpbmcgdGhlIHBhZ2VzIGZvciBhIGNvbW1hbmQgc3VibWlzc2lvbi4NCj4gPiBB Z2FpbiwgdGhpcyB1c2VzIHRoZSBzZXFsb2NrIGxpa2Ugc2NoZW1lICphbmQqIHRoZSBkcml2ZXIg bG9jay4NCj4gPg0KPiA+IEluIHRoaXMgY2FzZSBhZnRlciBncmFiX2RyaXZlcl9sb2NrKCkgbW11 X3JhbmdlX3JlYWRfcmV0cnkoKSB3aWxsDQo+ID4gcmV0dXJuIGZhbHNlIGlmIFRocmVhZCBBIGhh cyBwcm9ncmVzc2VkIHRvICd1cGRhdGluZyB0aGUgcHRlcy4NCj4gPg0KPiA+IEZvciBpbnN0YW5j ZSBoZXJlIGlzIGhvdyB0aGUgY29uY3VycmVuY3kgcmVzb2x2ZXMgZm9yIHJldHJ5Og0KPiA+DQo+ ID4gICAgICAgICBDUFUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUFUyDQo+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXEgPSBtbXVfcmFuZ2VfcmVhZF9i ZWdpbigpDQo+ID4gaW52YWxpZGF0ZV9yYW5nZV9zdGFydCgpDQo+ID4gICAgaW52YWxpZGF0ZV9z ZXErKw0KPiANCj4gSG93IHRoYXQgd2FzIG9yZGVyIHdhcyB3aGF0IGNvbmZ1c2luZyBtZS4gQnV0 IEkndmUgcmVhZCB1cCBvbiB0aGUgY29kZSANCj4gaW4gbW11X3JhbmdlX3JlYWRfYmVnaW4oKSBh bmQgZm91bmQgdGhlIGxpbmVzIEkgd2FzIGxvb2tpbmcgZm9yOg0KPiANCj4gK8KgwqDCoCBpZiAo aXNfaW52YWxpZGF0aW5nKQ0KPiArwqDCoMKgIMKgwqDCoCB3YWl0X2V2ZW50KG1tbl9tbS0+d3Es DQo+ICvCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgIFJFQURfT05DRShtbW5fbW0tPmludmFsaWRh dGVfc2VxKSAhPSBzZXEpOw0KPiANCj4gW1NOSVBdDQoNClJpZ2h0LCB0aGUgYmFzaWMgZGVzaWdu IGlzIHRoYXQgdGhlICdzZXEnIHJldHVybmVkIGJ5DQptbXVfcmFuZ2VfcmVhZF9iZWdpbigpIGlz IG5ldmVyIGN1cnJlbnRseSB1bmRlciBpbnZhbGlkYXRpb24uDQoNClRodXMgaWYgdGhlIHN0YXJ0 aW5nIHNlcSBpcyBub3QgaW52YWxpZGF0aW5nLCB0aGVuIGlmIGl0IGRvZXNuJ3QNCmNoYW5nZSB3 ZSBhcmUgZ3VhcmFudGVlZCB0aGUgcHRlcyBoYXZlbid0IGNoYW5nZWQgZWl0aGVyLg0KDQo+ID4g Rm9yIHRoZSBhYm92ZSBJJ3ZlIHNpbXBsaWZpZWQgdGhlIG1lY2hhbmljcyBvZiB0aGUgaW52YWxp ZGF0ZV9zZXEsIHlvdQ0KPiA+IG5lZWQgdG8gbG9vayB0aHJvdWdoIHRoZSBwYXRjaCB0byBzZWUg aG93IGl0IGFjdHVhbGx5IHdvcmtzLg0KPiANCj4gWWVhLCB0aGF0IHlvdSBhbHNvIGFsbG93IG11 bHRpcGxlIHdyaXRlIHNpZGVzIGlzIHByZXR0eSBuZWF0Lg0KDQpDb21wbGljYXRlZCwgYnV0IG5l Y2Vzc2FyeSB0byBtYWtlIHRoZSBub24tYmxvY2tpbmcgT09NIHN0dWZmIGFibGUgdG8NCnJlYWQg dGhlIGludGVydmFsIHRyZWUgdW5kZXIgYWxsIGNvbmRpdGlvbnMgOlwNCg0KPiA+IE9uZSBvZiB0 aGUgbW90aXZhdGlvbnMgZm9yIHRoaXMgd29yayBpcyB0byBzcXVhc2ggdGhhdCBidWcgYnkgYWRk aW5nIGENCj4gPiBzZXFsb2NrIGxpa2UgcGF0dGVybi4gQnV0IHRoZSBiYXNpYyBobW0gZmxvdyBh bmQgY29sbGlzaW9uLXJldHJ5DQo+ID4gYXBwcm9hY2ggc2VlbXMgc291bmQuDQo+ID4NCj4gPiBE byB5b3Ugc2VlIGEgcHJvYmxlbSB3aXRoIHRoaXMgcGF0Y2g/DQo+IA0KPiBObywgbm90IGFueSBt b3JlLg0KDQpPa2F5LCBncmVhdCwgdGhhbmtzDQogDQo+IEVzc2VudGlhbGx5IHlvdSBhcmUgZG9p bmcgdGhlIHNhbWUgdGhpbmcgSSd2ZSB0cmllZCB0byBkbyB3aXRoIHRoZSANCj4gb3JpZ2luYWwg YW1kZ3B1IGltcGxlbWVudGF0aW9uLiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IHlvdSBkb24ndCB0 cnkgdG8gDQo+IHVzZSBhIHBlciByYW5nZSBzZXF1ZW5jZSAod2hpY2ggaXMgYSBnb29kIGlkZWEs IHdlIG5ldmVyIGdvdCB0aGF0IGZ1bGx5IA0KPiB3b3JraW5nKSBhbmQgeW91IGFsbG93IG11bHRp cGxlIHdyaXRlcnMgYXQgdGhlIHNhbWUgdGltZS4NCg0KWWVzLCBPRFAgaGFkIHRoZSBwZXItcmFu Z2Ugc2VxdWVuY2UgYW5kIGl0IG5ldmVyIHdvcmtlZCByaWdodA0KZWl0aGVyLiBLZWVwaW5nIHRy YWNrIG9mIHRoaW5ncyBkdXJpbmcgdGhlIGludmFsaWRhdGVfZW5kIHdhcyB0b28gY29tcGxleA0K IA0KPiBGZWVsIGZyZWUgdG8gc3RpdGNoIGFuIEFja2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIA0K PiA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPiBvbiBwYXRjaCAjMiwNCg0KVGhhbmtzISBDYW4g eW91IGFsc28gdGFrZSBzb21lIHJldmlldyBhbmQgdGVzdCBmb3IgdGhlIEFNRCByZWxhdGVkDQpw YXRjaGVzPyBUaGVzZSB3ZXJlIHF1aXRlIGhhcmQgdG8gbWFrZSwgaXQgaXMgdmVyeSBsaWtlbHkg SSd2ZSBtYWRlIGFuDQplcnJvci4uDQoNCj4gYnV0IHlvdSBzdGlsbCBkb2luZyBhIGJ1bmNoIG9m IHRoaW5ncyBpbiB0aGVyZSB3aGljaCBhcmUgd2F5IGJleW9uZA0KPiBteSB1bmRlcnN0YW5kaW5n IChlLmcuIHdoZXJlIGFyZSBhbGwgdGhlIFNNUCBiYXJyaWVycz8pLg0KDQpUaGUgb25seSBub24t bG9ja2VkIGRhdGEgaXMgJ3N0cnVjdCBtbXVfcmFuZ2Vfbm90aWZpZXItPmludmFsaWRhdGVfc2Vx Jw0KDQpPbiB0aGUgd3JpdGUgc2lkZSBpdCB1c2VzIGEgV1JJVEVfT05DRS4gVGhlICdzZXEnIGl0 IHdyaXRlcyBpcw0KZ2VuZXJhdGVkIHVuZGVyIHRoZSBtbW5fbW0tPmxvY2sgc3BpbmxvY2sgKGhl bGQgYmVmb3JlIGFuZCBhZnRlciB0aGUNCldSSVRFX09OQ0UpIHN1Y2ggdGhhdCBhbGwgY29uY3Vy cmVudCBXUklURV9PTkNFJ3MgYXJlIHN0b3JpbmcgdGhlIHNhbWUNCnZhbHVlLiANCg0KRXNzZW50 aWFsbHkgdGhlIHNwaW5sb2NrIGlzIHByb3ZpZGluZyB0aGUgYmFycmllciB0byBvcmRlciB3cml0 ZToNCg0KaW52YWxpZGF0ZV9yYW5nZV9zdGFydCgpOg0KIHNwaW5fbG9jaygmbW1uX21tLT5sb2Nr KTsNCiBtbW5fbW0tPmFjdGl2ZV9pbnZhbGlkYXRlX3JhbmdlcysrOw0KIG1tbl9tbS0+aW52YWxp ZGF0ZV9zZXEgfD0gMTsNCiAqc2VxID0gbW1uX21tLT5pbnZhbGlkYXRlX3NlcTsNCiBzcGluX3Vu bG9jaygmbW1uX21tLT5sb2NrKTsNCg0KIFdSSVRFX09OQ0UobXJuLT5pbnZhbGlkYXRlX3NlcSwg Y3VyX3NlcSk7DQoNCmludmFsaWRhdGVfcmFuZ2VfZW5kKCkNCiBzcGluX2xvY2soJm1tbl9tbS0+ bG9jayk7DQogaWYgKC0tbW1uX21tLT5hY3RpdmVfaW52YWxpZGF0ZV9yYW5nZXMpDQogICAgbW1u X21tLT5pbnZhbGlkYXRlX3NlcSsrDQogc3Bpbl91bmxvY2soJm1tbl9tbS0+bG9jayk7DQoNCmll IHdoZW4gd2UgZG8gaW52YWxpZGF0ZV9zZXErKywgZHVlIHRvIHRoZSBhY3RpdmVfaW52YWxpZGF0 ZV9yYW5nZXMNCmNvdW50ZXIgYW5kIHRoZSBzcGlubG9jaywgd2Uga25vdyBhbGwgb3RoZXIgV1JJ VEVfT05DRSdzIGhhdmUgcGFzc2VkDQp0aGVpciBzcGluX3VubG9jayBhbmQgbm8gY29uY3VycmVu dCBvbmVzIGFyZSBzdGFydGluZy4gVGhlIHNwaW5sb2NrIGlzDQpwcm92aWRpbmcgdGhlIGJhcnJp ZXIgaGVyZS4NCg0KT24gdGhlIHJlYWQgc2lkZS4uIEl0IGlzIGEgc2ltaWxhciBhcmd1bWVudCwg ZXhjZXB0IHdpdGggdGhlDQpkcml2ZXJfbG9jazoNCg0KbW11X3JhbmdlX3JlYWRfYmVnaW4oKQ0K ICBzZXEgPSBSRUFEX09OQ0UobXJuLT5pbnZhbGlkYXRlX3NlcSk7DQoNCkhlcmUgJ3NlcScgbWF5 IGJlIHRoZSBjdXJyZW50IHZhbHVlLCBvciBpdCBtYXkgYmUgYW4gb2xkZXINCnZhbHVlLiBPcmRl cmluZyBpcyBldmVudHVhbGx5IHByb3ZpZGVkIGJ5IHRoZSBkcml2ZXJfbG9jazoNCg0KbW5fdHJl ZV9pbnZhbGlkYXRlX3N0YXJ0KCkNCiBbLi5dDQogV1JJVEVfT05DRShtcm4tPmludmFsaWRhdGVf c2VxLCBjdXJfc2VxKTsNCiBkcml2ZXJfbG9jaygpDQogZHJpdmVyX3VubG9jaygpDQoNCnZzDQog ZHJpdmVyX2xvY2soKQ0KICAgbW11X3JhbmdlX3JlYWRfYmVnaW4oKQ0KICAgICByZXR1cm4gc2Vx ICE9IFJFQURfT05DRShtcm4tPmludmFsaWRhdGVfc2VxKTsNCiBkcml2ZXJfdW5sb2NrKCkNCg0K SGVyZSBpZiBtbl90cmVlX2ludmFsaWRhdGVfc3RhcnQoKSBoYXMgcGFzc2VkIGRyaXZlcl91bmxv Y2soKSB0aGVuDQpiZWNhdXNlIHdlIGRvIGRyaXZlcl9sb2NrKCkgYmVmb3JlIG1tdV9yYW5nZV9y ZWFkX2JlZ2luKCkgd2UgbXVzdA0Kb2JzZXJ2ZSB0aGUgV1JJVEVfT05DRS4gaWUgdGhlIGRyaXZl cl91bmxvY2soKS9kcml2ZXJfbG9jaygpIHByb3ZpZGUNCnRoZSBwYWlyJ2QgYmFycmllci4NCg0K SWYgbW5fdHJlZV9pbnZhbGlkYXRlX3N0YXJ0KCkgaGFzIG5vdCBwYXNzZWQgZHJpdmVyX2xvY2so KSB0aGVuIHRoZQ0KbW11X3JhbmdlX3JlYWRfYmVnaW4oKSBzaWRlIHByZXZlbnRzIGl0IGZyb20g cGFzc2luZyBkcml2ZXJfbG9jaygpDQp3aGlsZSBpdCBob2xkcyB0aGUgbG9jay4gSW4gdGhpcyBj YXNlIGl0IGlzIE9LIGlmIHdlIGRvbid0IG9ic2VydmUgdGhlDQpXUklURV9PTkNFKCkgdGhhdCB3 YXMgZG9uZSBqdXN0IGJlZm9yZSBhcyB0aGUgaW52YWxpZGF0ZV9zdGFydCgpDQp0aHJlYWQgY2Fu J3QgcHJvY2VlZCB0byBpbnZhbGlkYXRpb24uDQoNCkl0IGlzIHZlcnkgdW51c3VhbCBsb2NraW5n LCBpdCB3b3VsZCBiZSBncmVhdCBpZiBvdGhlcnMgY291bGQgaGVscA0KbG9vayBhdCBpdCENCg0K VGhlIHVudXN1YWwgYml0IGluIGFsbCBvZiB0aGlzIGlzIHVzaW5nIGEgbG9jaydzIGNyaXRpY2Fs IHJlZ2lvbiB0bw0KJ3Byb3RlY3QnIGRhdGEgZm9yIHJlYWQsIGJ1dCB1cGRhdGluZyB0aGF0IHNh bWUgZGF0YSBiZWZvcmUgdGhlIGxvY2sncw0KY3JpdGljYWwgc2VjaW9uLiBpZSByZWx5aW5nIG9u IHRoZSB1bmxvY2sgYmFycmllciB0byAncmVsZWFzZScgcHJvZ3JhbQ0Kb3JkZXJlZCBzdG9yZXMg ZG9uZSBiZWZvcmUgdGhlIGxvY2sncyBvd24gY3JpdGljYWwgcmVnaW9uLCBhbmQgdGhlDQpsb2Nr IHNpZGUgYmFycmllciB0byAnYWNxdWlyZScgdGhvc2Ugc3RvcmVzLg0KDQpUaGlzIGFwcHJvYWNo IGlzIGJvcnJvd2VkIGZyb20gdGhlIGhtbSBtaXJyb3IgaW1wbGVtZW50YXRpb24uLg0KDQpJZiBm b3Igc29tZSByZWFzb24gdGhlIHNjaGVtZSBkb2Vzbid0IHdvcmssIHRoZW4gdGhlIGZhbGxiYWNr IGlzIHRvDQpleHBhbmQgdGhlIG1tbl9tbS0+bG9jayBzcGlubG9jayB0byBwcm90ZWN0IHRoZSBt cm4tPmludmFsaWRhdGVfc2VxIGF0DQpzb21lIGNvc3QgaW4gcGVyZm9ybWFuY2UuDQoNCkphc29u DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=