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.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 CD2BBC433E2 for ; Wed, 10 Jun 2020 12:01:56 +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 9B5892078C for ; Wed, 10 Jun 2020 12:01:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=shipmail.org header.i=@shipmail.org header.b="rokWsKZx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9B5892078C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=shipmail.org 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 19ED66E566; Wed, 10 Jun 2020 12:01:56 +0000 (UTC) Received: from pio-pvt-msa2.bahnhof.se (pio-pvt-msa2.bahnhof.se [79.136.2.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 58E6E6E55C; Wed, 10 Jun 2020 12:01:54 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTP id 967603F52B; Wed, 10 Jun 2020 14:01:52 +0200 (CEST) Authentication-Results: pio-pvt-msa2.bahnhof.se; dkim=pass (1024-bit key; unprotected) header.d=shipmail.org header.i=@shipmail.org header.b=rokWsKZx; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at bahnhof.se Received: from pio-pvt-msa2.bahnhof.se ([127.0.0.1]) by localhost (pio-pvt-msa2.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wfACO79HRCQ6; Wed, 10 Jun 2020 14:01:47 +0200 (CEST) Received: from mail1.shipmail.org (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) (Authenticated sender: mb878879) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTPA id 2047D3F528; Wed, 10 Jun 2020 14:01:45 +0200 (CEST) Received: from localhost.localdomain (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) by mail1.shipmail.org (Postfix) with ESMTPSA id 5ACD2360060; Wed, 10 Jun 2020 14:01:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shipmail.org; s=mail; t=1591790505; bh=6BrG2kMCY685Tdd83env55bWNJRACBkBovg8ct8pWp4=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=rokWsKZxKkDgXfW/zCjExrZ/Wf48SuLt5jmfXPdF8I//Ks1S/DSsalOXTxB+RnGqN 7AUkrIFcDWrYmNoRA55rX7lJ9nbff9qCcXgrbW/1/6le9B1jDAq3Wt9iq3BP2PV8m3 ynGopja1IvhqW2W/OVlh6jQ1HPb2lL2N2MDeWpQ4= Subject: Re: [PATCH 01/18] mm: Track mmu notifiers in fs_reclaim_acquire/release To: Daniel Vetter , DRI Development References: <20200604081224.863494-1-daniel.vetter@ffwll.ch> <20200604081224.863494-2-daniel.vetter@ffwll.ch> From: =?UTF-8?Q?Thomas_Hellstr=c3=b6m_=28Intel=29?= Message-ID: <15bcdddd-b560-e98b-eaec-62277b5ab4af@shipmail.org> Date: Wed, 10 Jun 2020 14:01:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200604081224.863494-2-daniel.vetter@ffwll.ch> Content-Language: en-US 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: linux-rdma@vger.kernel.org, Intel Graphics Development , LKML , amd-gfx@lists.freedesktop.org, linux-mm@kvack.org, Jason Gunthorpe , Daniel Vetter , Andrew Morton , =?UTF-8?Q?Christian_K=c3=b6nig?= Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" SGksIERhbmllbCwKClBsZWFzZSBzZWUgYmVsb3cuCgpPbiA2LzQvMjAgMTA6MTIgQU0sIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gZnNfcmVjbGFpbV9hY3F1aXJlL3JlbGVhc2UgbmljZWx5IGNhdGNo IHJlY3Vyc2lvbiBpc3N1ZXMgd2hlbgo+IGFsbG9jYXRpbmcgR0ZQX0tFUk5FTCBtZW1vcnkgYWdh aW5zdCBzaHJpbmtlcnMgKHdoaWNoIGdwdSBkcml2ZXJzIHRlbmQKPiB0byB1c2UgdG8ga2VlcCB0 aGUgZXhjZXNzaXZlIGNhY2hlcyBpbiBjaGVjaykuIEZvciBtbXUgbm90aWZpZXIKPiByZWN1cnNp b25zIHdlIGRvIGhhdmUgbG9ja2RlcCBhbm5vdGF0aW9ucyBzaW5jZSAyM2I2ODM5NWM3YzcKPiAo Im1tL21tdV9ub3RpZmllcnM6IGFkZCBhIGxvY2tkZXAgbWFwIGZvciBpbnZhbGlkYXRlX3Jhbmdl X3N0YXJ0L2VuZCIpLgo+Cj4gQnV0IHRoZXNlIG9ubHkgZmlyZSBpZiBhIHBhdGggYWN0dWFsbHkg cmVzdWx0cyBpbiBzb21lIHB0ZQo+IGludmFsaWRhdGlvbiAtIGZvciBtb3N0IHNtYWxsIGFsbG9j YXRpb25zIHRoYXQncyB2ZXJ5IHJhcmVseSB0aGUgY2FzZS4KPiBUaGUgb3RoZXIgdHJvdWJsZSBp cyB0aGF0IHB0ZSBpbnZhbGlkYXRpb24gY2FuIGhhcHBlbiBhbnkgdGltZSB3aGVuCj4gX19HRlBf UkVDTEFJTSBpcyBzZXQuIFdoaWNoIG1lYW5zIG9ubHkgcmVhbGx5IEdGUF9BVE9NSUMgaXMgYSBz YWZlCj4gY2hvaWNlLCBHRlBfTk9JTyBpc24ndCBnb29kIGVub3VnaCB0byBhdm9pZCBwb3RlbnRp YWwgbW11IG5vdGlmaWVyCj4gcmVjdXJzaW9uLgo+Cj4gSSB3YXMgcG9uZGVyaW5nIHdoZXRoZXIg d2Ugc2hvdWxkIGp1c3QgZG8gdGhlIGdlbmVyYWwgYW5ub3RhdGlvbiwgYnV0Cj4gdGhlcmUncyBh bHdheXMgdGhlIHJpc2sgZm9yIGZhbHNlIHBvc2l0aXZlcy4gUGx1cyBJJ20gYXNzdW1pbmcgdGhh dAo+IHRoZSBjb3JlIGZzIGFuZCBpbyBjb2RlIGlzIGEgbG90IGJldHRlciByZXZpZXdlZCBhbmQg dGVzdGVkIHRoYW4KPiByYW5kb20gbW11IG5vdGlmaWVyIGNvZGUgaW4gZHJpdmVycy4gSGVuY2Ug d2h5IEkgZGVjaWRlIHRvIG9ubHkKPiBhbm5vdGF0ZSBmb3IgdGhhdCBzcGVjaWZpYyBjYXNlLgo+ Cj4gRnVydGhlcm1vcmUgZXZlbiBpZiB3ZSdkIGNyZWF0ZSBhIGxvY2tkZXAgbWFwIGZvciBkaXJl Y3QgcmVjbGFpbSwgd2UnZAo+IHN0aWxsIG5lZWQgdG8gZXhwbGljaXQgcHVsbCBpbiB0aGUgbW11 IG5vdGlmaWVyIG1hcCAtIHRoZXJlJ3MgYSBsb3QKPiBtb3JlIHBsYWNlcyB0aGF0IGRvIHB0ZSBp bnZhbGlkYXRpb24gdGhhbiBqdXN0IGRpcmVjdCByZWNsYWltLCB0aGVzZQo+IHR3byBjb250ZXh0 cyBhcmVudCB0aGUgc2FtZS4KPgo+IE5vdGUgdGhhdCB0aGUgbW11IG5vdGlmaWVycyBuZWVkaW5n IHRoZWlyIG93biBpbmRlcGVuZGVudCBsb2NrZGVwIG1hcAo+IGlzIGFsc28gdGhlIHJlYXNvbiB3 ZSBjYW4ndCBob2xkIHRoZW0gZnJvbSBmc19yZWNsYWltX2FjcXVpcmUgdG8KPiBmc19yZWNsYWlt X3JlbGVhc2UgLSBpdCB3b3VsZCBuZXN0IHdpdGggdGhlIGFjcXVpc3Rpb24gaW4gdGhlIHB0ZQo+ IGludmFsaWRhdGlvbiBjb2RlLCBjYXVzaW5nIGEgbG9ja2RlcCBzcGxhdC4gQW5kIHdlIGNhbid0 IHJlbW92ZSB0aGUKPiBhbm5vdGF0aW9ucyBmcm9tIHB0ZSBpbnZhbGlkYXRpb24gYW5kIGFsbCB0 aGUgb3RoZXIgcGxhY2VzIHNpbmNlCj4gdGhleSdyZSBjYWxsZWQgZnJvbSBtYW55IG90aGVyIHBs YWNlcyB0aGFuIHBhZ2UgcmVjbGFpbS4gSGVuY2Ugd2UgY2FuCj4gb25seSBkbyB0aGUgZXF1aXZh bGVudCBvZiBtaWdodF9sb2NrLCBidXQgb24gdGhlIHJhdyBsb2NrZGVwIG1hcC4KPgo+IFdpdGgg dGhpcyB3ZSBjYW4gYWxzbyByZW1vdmUgdGhlIGxvY2tkZXAgcHJpbWluZyBhZGRlZCBpbiA2NjIw NGYxZDJkMWIKPiAoIm1tL21tdV9ub3RpZmllcnM6IHByaW1lIGxvY2tkZXAiKSBzaW5jZSB0aGUg bmV3IGFubm90YXRpb25zIGFyZQo+IHN0cmljdGx5IG1vcmUgcG93ZXJmdWwuCj4KPiBDYzogQW5k cmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KPiBDYzogSmFzb24gR3VudGhv cnBlIDxqZ2dAbWVsbGFub3guY29tPgo+IENjOiBsaW51eC1tbUBrdmFjay5vcmcKPiBDYzogbGlu dXgtcmRtYUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0 aWFuLmtvZW5pZ0BhbWQuY29tPgo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAaW50ZWwuY29tPgo+IC0tLQo+IFRoaXMgaXMgcGFydCBvZiBhIGdwdSBsb2NrZGVw IGFubm90YXRpb24gc2VyaWVzIHNpbXBseSBiZWNhdXNlIGl0Cj4gcmVhbGx5IGhlbHBzIHRvIGNh dGNoIGlzc3VlcyB3aGVyZSBncHUgc3Vic3lzdGVtIGxvY2tzIGFuZCBwcmltaXRpdmVzCj4gY2Fu IGRlYWRsb2NrIHdpdGggdGhlbXNlbHZlcyB0aHJvdWdoIGFsbG9jYXRpb25zIGFuZCBtbXUgbm90 aWZpZXJzLgo+IEJ1dCBhc2lkZSBmcm9tIHRoYXQgbW90aXZhdGlvbiBpdCBzaG91bGQgYmUgY29t cGxldGVseSBmcmVlLXN0YW5kaW5nLAo+IGFuZCBjYW4gbGFuZCB0aHJvdWdoIC1tbS8tcmRtYS8t aG1tIG9yIGFueSBvdGhlciB0cmVlIHJlYWxseSB3aGVuZXZlci4KPiAtRGFuaWVsCj4gLS0tCj4g ICBtbS9tbXVfbm90aWZpZXIuYyB8ICA3IC0tLS0tLS0KPiAgIG1tL3BhZ2VfYWxsb2MuYyAgIHwg MjMgKysrKysrKysrKysrKystLS0tLS0tLS0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0 aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvbW0vbW11X25vdGlmaWVy LmMgYi9tbS9tbXVfbm90aWZpZXIuYwo+IGluZGV4IDA2ODUyYjg5NmZhNi4uNWQ1NzhiOTEyMmY4 IDEwMDY0NAo+IC0tLSBhL21tL21tdV9ub3RpZmllci5jCj4gKysrIGIvbW0vbW11X25vdGlmaWVy LmMKPiBAQCAtNjEyLDEzICs2MTIsNiBAQCBpbnQgX19tbXVfbm90aWZpZXJfcmVnaXN0ZXIoc3Ry dWN0IG1tdV9ub3RpZmllciAqc3Vic2NyaXB0aW9uLAo+ICAgCWxvY2tkZXBfYXNzZXJ0X2hlbGRf d3JpdGUoJm1tLT5tbWFwX3NlbSk7Cj4gICAJQlVHX09OKGF0b21pY19yZWFkKCZtbS0+bW1fdXNl cnMpIDw9IDApOwo+ICAgCj4gLQlpZiAoSVNfRU5BQkxFRChDT05GSUdfTE9DS0RFUCkpIHsKPiAt CQlmc19yZWNsYWltX2FjcXVpcmUoR0ZQX0tFUk5FTCk7Cj4gLQkJbG9ja19tYXBfYWNxdWlyZSgm X19tbXVfbm90aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydF9tYXApOwo+IC0JCWxvY2tfbWFw X3JlbGVhc2UoJl9fbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnRfbWFwKTsKPiAt CQlmc19yZWNsYWltX3JlbGVhc2UoR0ZQX0tFUk5FTCk7Cj4gLQl9Cj4gLQo+ICAgCWlmICghbW0t Pm5vdGlmaWVyX3N1YnNjcmlwdGlvbnMpIHsKPiAgIAkJLyoKPiAgIAkJICoga21hbGxvYyBjYW5u b3QgYmUgY2FsbGVkIHVuZGVyIG1tX3Rha2VfYWxsX2xvY2tzKCksIGJ1dCB3ZQo+IGRpZmYgLS1n aXQgYS9tbS9wYWdlX2FsbG9jLmMgYi9tbS9wYWdlX2FsbG9jLmMKPiBpbmRleCAxM2NjNjUzMTIy YjcuLmY4YTIyMmRiNGE1MyAxMDA2NDQKPiAtLS0gYS9tbS9wYWdlX2FsbG9jLmMKPiArKysgYi9t bS9wYWdlX2FsbG9jLmMKPiBAQCAtNTcsNiArNTcsNyBAQAo+ICAgI2luY2x1ZGUgPHRyYWNlL2V2 ZW50cy9vb20uaD4KPiAgICNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPgo+ICAgI2luY2x1ZGUg PGxpbnV4L21tX2lubGluZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvbW11X25vdGlmaWVyLmg+Cj4g ICAjaW5jbHVkZSA8bGludXgvbWlncmF0ZS5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L2h1Z2V0bGIu aD4KPiAgICNpbmNsdWRlIDxsaW51eC9zY2hlZC9ydC5oPgo+IEBAIC00MTI0LDcgKzQxMjUsNyBA QCBzaG91bGRfY29tcGFjdF9yZXRyeShzdHJ1Y3QgYWxsb2NfY29udGV4dCAqYWMsIHVuc2lnbmVk IGludCBvcmRlciwgaW50IGFsbG9jX2ZsYQo+ICAgc3RhdGljIHN0cnVjdCBsb2NrZGVwX21hcCBf X2ZzX3JlY2xhaW1fbWFwID0KPiAgIAlTVEFUSUNfTE9DS0RFUF9NQVBfSU5JVCgiZnNfcmVjbGFp bSIsICZfX2ZzX3JlY2xhaW1fbWFwKTsKPiAgIAo+IC1zdGF0aWMgYm9vbCBfX25lZWRfZnNfcmVj bGFpbShnZnBfdCBnZnBfbWFzaykKPiArc3RhdGljIGJvb2wgX19uZWVkX3JlY2xhaW0oZ2ZwX3Qg Z2ZwX21hc2spCj4gICB7Cj4gICAJZ2ZwX21hc2sgPSBjdXJyZW50X2dmcF9jb250ZXh0KGdmcF9t YXNrKTsKPiAgIAo+IEBAIC00MTM2LDEwICs0MTM3LDYgQEAgc3RhdGljIGJvb2wgX19uZWVkX2Zz X3JlY2xhaW0oZ2ZwX3QgZ2ZwX21hc2spCj4gICAJaWYgKGN1cnJlbnQtPmZsYWdzICYgUEZfTUVN QUxMT0MpCj4gICAJCXJldHVybiBmYWxzZTsKPiAgIAo+IC0JLyogV2UncmUgb25seSBpbnRlcmVz dGVkIF9fR0ZQX0ZTIGFsbG9jYXRpb25zIGZvciBub3cgKi8KPiAtCWlmICghKGdmcF9tYXNrICYg X19HRlBfRlMpKQo+IC0JCXJldHVybiBmYWxzZTsKPiAtCj4gICAJaWYgKGdmcF9tYXNrICYgX19H RlBfTk9MT0NLREVQKQo+ICAgCQlyZXR1cm4gZmFsc2U7Cj4gICAKPiBAQCAtNDE1OCwxNSArNDE1 NSwyMyBAQCB2b2lkIF9fZnNfcmVjbGFpbV9yZWxlYXNlKHZvaWQpCj4gICAKPiAgIHZvaWQgZnNf cmVjbGFpbV9hY3F1aXJlKGdmcF90IGdmcF9tYXNrKQo+ICAgewo+IC0JaWYgKF9fbmVlZF9mc19y ZWNsYWltKGdmcF9tYXNrKSkKPiAtCQlfX2ZzX3JlY2xhaW1fYWNxdWlyZSgpOwo+ICsJaWYgKF9f bmVlZF9yZWNsYWltKGdmcF9tYXNrKSkgewo+ICsJCWlmICghKGdmcF9tYXNrICYgX19HRlBfRlMp KQpIbW0uIFNob3VsZG4ndCB0aGlzIGJlICJpZiAoZ2ZwX21hc2sgJiBfX0dGUF9GUykiIG9yIGFt IEkgbWlzdW5kZXJzdGFuZGluZz8KPiArCQkJX19mc19yZWNsYWltX2FjcXVpcmUoKTsKCgojaWZk ZWYgQ09ORklHX01NVV9OT1RJRklFUj8KCj4gKwo+ICsJCWxvY2tfbWFwX2FjcXVpcmUoJl9fbW11 X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnRfbWFwKTsKPiArCQlsb2NrX21hcF9yZWxl YXNlKCZfX21tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0X21hcCk7Cj4gKwo+ICsJ fQo+ICAgfQo+ICAgRVhQT1JUX1NZTUJPTF9HUEwoZnNfcmVjbGFpbV9hY3F1aXJlKTsKPiAgIAo+ ICAgdm9pZCBmc19yZWNsYWltX3JlbGVhc2UoZ2ZwX3QgZ2ZwX21hc2spCj4gICB7Cj4gLQlpZiAo X19uZWVkX2ZzX3JlY2xhaW0oZ2ZwX21hc2spKQo+IC0JCV9fZnNfcmVjbGFpbV9yZWxlYXNlKCk7 Cj4gKwlpZiAoX19uZWVkX3JlY2xhaW0oZ2ZwX21hc2spKSB7Cj4gKwkJaWYgKCEoZ2ZwX21hc2sg JiBfX0dGUF9GUykpClNhbWUgaGVyZT8KPiArCQkJX19mc19yZWNsYWltX3JlbGVhc2UoKTsKPiAr CX0KPiAgIH0KPiAgIEVYUE9SVF9TWU1CT0xfR1BMKGZzX3JlY2xhaW1fcmVsZWFzZSk7Cj4gICAj ZW5kaWYKCk9uZSBzdWdnZXN0ZWQgdGVzdCBjYXNlIHdvdWxkIHBlcmhhcHMgYmUgdG8gY2FsbCBt YWR2aXNlKG1hZHZfZG9udG5lZWQpIApvbiBhIHN1YnBhcnQgb2YgYSB0cmFuc2h1Z2UgcGFnZS4g VGhhdCB3b3VsZCBJSVJDIHRyaWdnZXIgYSBwYWdlIHNwbGl0IAphbmQgaW50ZXJlc3RpbmcgbW11 IG5vdGlmaWVyIGNhbGxzLi4uLgoKVGhhbmtzLApUaG9tYXMKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZngK 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.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 13C30C433DF for ; Wed, 10 Jun 2020 12:02:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DFE7020760 for ; Wed, 10 Jun 2020 12:02:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=shipmail.org header.i=@shipmail.org header.b="rokWsKZx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728905AbgFJMB6 (ORCPT ); Wed, 10 Jun 2020 08:01:58 -0400 Received: from pio-pvt-msa2.bahnhof.se ([79.136.2.41]:59736 "EHLO pio-pvt-msa2.bahnhof.se" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728754AbgFJMB4 (ORCPT ); Wed, 10 Jun 2020 08:01:56 -0400 Received: from localhost (localhost [127.0.0.1]) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTP id 967603F52B; Wed, 10 Jun 2020 14:01:52 +0200 (CEST) Authentication-Results: pio-pvt-msa2.bahnhof.se; dkim=pass (1024-bit key; unprotected) header.d=shipmail.org header.i=@shipmail.org header.b=rokWsKZx; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at bahnhof.se Received: from pio-pvt-msa2.bahnhof.se ([127.0.0.1]) by localhost (pio-pvt-msa2.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wfACO79HRCQ6; Wed, 10 Jun 2020 14:01:47 +0200 (CEST) Received: from mail1.shipmail.org (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) (Authenticated sender: mb878879) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTPA id 2047D3F528; Wed, 10 Jun 2020 14:01:45 +0200 (CEST) Received: from localhost.localdomain (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) by mail1.shipmail.org (Postfix) with ESMTPSA id 5ACD2360060; Wed, 10 Jun 2020 14:01:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shipmail.org; s=mail; t=1591790505; bh=6BrG2kMCY685Tdd83env55bWNJRACBkBovg8ct8pWp4=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=rokWsKZxKkDgXfW/zCjExrZ/Wf48SuLt5jmfXPdF8I//Ks1S/DSsalOXTxB+RnGqN 7AUkrIFcDWrYmNoRA55rX7lJ9nbff9qCcXgrbW/1/6le9B1jDAq3Wt9iq3BP2PV8m3 ynGopja1IvhqW2W/OVlh6jQ1HPb2lL2N2MDeWpQ4= Subject: Re: [PATCH 01/18] mm: Track mmu notifiers in fs_reclaim_acquire/release To: Daniel Vetter , DRI Development Cc: linux-rdma@vger.kernel.org, Intel Graphics Development , LKML , amd-gfx@lists.freedesktop.org, linux-mm@kvack.org, Jason Gunthorpe , Daniel Vetter , Andrew Morton , =?UTF-8?Q?Christian_K=c3=b6nig?= References: <20200604081224.863494-1-daniel.vetter@ffwll.ch> <20200604081224.863494-2-daniel.vetter@ffwll.ch> From: =?UTF-8?Q?Thomas_Hellstr=c3=b6m_=28Intel=29?= Message-ID: <15bcdddd-b560-e98b-eaec-62277b5ab4af@shipmail.org> Date: Wed, 10 Jun 2020 14:01:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200604081224.863494-2-daniel.vetter@ffwll.ch> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org Hi, Daniel, Please see below. On 6/4/20 10:12 AM, Daniel Vetter wrote: > fs_reclaim_acquire/release nicely catch recursion issues when > allocating GFP_KERNEL memory against shrinkers (which gpu drivers tend > to use to keep the excessive caches in check). For mmu notifier > recursions we do have lockdep annotations since 23b68395c7c7 > ("mm/mmu_notifiers: add a lockdep map for invalidate_range_start/end"). > > But these only fire if a path actually results in some pte > invalidation - for most small allocations that's very rarely the case. > The other trouble is that pte invalidation can happen any time when > __GFP_RECLAIM is set. Which means only really GFP_ATOMIC is a safe > choice, GFP_NOIO isn't good enough to avoid potential mmu notifier > recursion. > > I was pondering whether we should just do the general annotation, but > there's always the risk for false positives. Plus I'm assuming that > the core fs and io code is a lot better reviewed and tested than > random mmu notifier code in drivers. Hence why I decide to only > annotate for that specific case. > > Furthermore even if we'd create a lockdep map for direct reclaim, we'd > still need to explicit pull in the mmu notifier map - there's a lot > more places that do pte invalidation than just direct reclaim, these > two contexts arent the same. > > Note that the mmu notifiers needing their own independent lockdep map > is also the reason we can't hold them from fs_reclaim_acquire to > fs_reclaim_release - it would nest with the acquistion in the pte > invalidation code, causing a lockdep splat. And we can't remove the > annotations from pte invalidation and all the other places since > they're called from many other places than page reclaim. Hence we can > only do the equivalent of might_lock, but on the raw lockdep map. > > With this we can also remove the lockdep priming added in 66204f1d2d1b > ("mm/mmu_notifiers: prime lockdep") since the new annotations are > strictly more powerful. > > Cc: Andrew Morton > Cc: Jason Gunthorpe > Cc: linux-mm@kvack.org > Cc: linux-rdma@vger.kernel.org > Cc: Maarten Lankhorst > Cc: Christian König > Signed-off-by: Daniel Vetter > --- > This is part of a gpu lockdep annotation series simply because it > really helps to catch issues where gpu subsystem locks and primitives > can deadlock with themselves through allocations and mmu notifiers. > But aside from that motivation it should be completely free-standing, > and can land through -mm/-rdma/-hmm or any other tree really whenever. > -Daniel > --- > mm/mmu_notifier.c | 7 ------- > mm/page_alloc.c | 23 ++++++++++++++--------- > 2 files changed, 14 insertions(+), 16 deletions(-) > > diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c > index 06852b896fa6..5d578b9122f8 100644 > --- a/mm/mmu_notifier.c > +++ b/mm/mmu_notifier.c > @@ -612,13 +612,6 @@ int __mmu_notifier_register(struct mmu_notifier *subscription, > lockdep_assert_held_write(&mm->mmap_sem); > BUG_ON(atomic_read(&mm->mm_users) <= 0); > > - if (IS_ENABLED(CONFIG_LOCKDEP)) { > - fs_reclaim_acquire(GFP_KERNEL); > - lock_map_acquire(&__mmu_notifier_invalidate_range_start_map); > - lock_map_release(&__mmu_notifier_invalidate_range_start_map); > - fs_reclaim_release(GFP_KERNEL); > - } > - > if (!mm->notifier_subscriptions) { > /* > * kmalloc cannot be called under mm_take_all_locks(), but we > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 13cc653122b7..f8a222db4a53 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -57,6 +57,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -4124,7 +4125,7 @@ should_compact_retry(struct alloc_context *ac, unsigned int order, int alloc_fla > static struct lockdep_map __fs_reclaim_map = > STATIC_LOCKDEP_MAP_INIT("fs_reclaim", &__fs_reclaim_map); > > -static bool __need_fs_reclaim(gfp_t gfp_mask) > +static bool __need_reclaim(gfp_t gfp_mask) > { > gfp_mask = current_gfp_context(gfp_mask); > > @@ -4136,10 +4137,6 @@ static bool __need_fs_reclaim(gfp_t gfp_mask) > if (current->flags & PF_MEMALLOC) > return false; > > - /* We're only interested __GFP_FS allocations for now */ > - if (!(gfp_mask & __GFP_FS)) > - return false; > - > if (gfp_mask & __GFP_NOLOCKDEP) > return false; > > @@ -4158,15 +4155,23 @@ void __fs_reclaim_release(void) > > void fs_reclaim_acquire(gfp_t gfp_mask) > { > - if (__need_fs_reclaim(gfp_mask)) > - __fs_reclaim_acquire(); > + if (__need_reclaim(gfp_mask)) { > + if (!(gfp_mask & __GFP_FS)) Hmm. Shouldn't this be "if (gfp_mask & __GFP_FS)" or am I misunderstanding? > + __fs_reclaim_acquire(); #ifdef CONFIG_MMU_NOTIFIER? > + > + lock_map_acquire(&__mmu_notifier_invalidate_range_start_map); > + lock_map_release(&__mmu_notifier_invalidate_range_start_map); > + > + } > } > EXPORT_SYMBOL_GPL(fs_reclaim_acquire); > > void fs_reclaim_release(gfp_t gfp_mask) > { > - if (__need_fs_reclaim(gfp_mask)) > - __fs_reclaim_release(); > + if (__need_reclaim(gfp_mask)) { > + if (!(gfp_mask & __GFP_FS)) Same here? > + __fs_reclaim_release(); > + } > } > EXPORT_SYMBOL_GPL(fs_reclaim_release); > #endif One suggested test case would perhaps be to call madvise(madv_dontneed) on a subpart of a transhuge page. That would IIRC trigger a page split and interesting mmu notifier calls.... Thanks, Thomas 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.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 1C505C433E3 for ; Wed, 10 Jun 2020 12:01:58 +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 E2A402078C for ; Wed, 10 Jun 2020 12:01:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=shipmail.org header.i=@shipmail.org header.b="rokWsKZx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E2A402078C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=shipmail.org 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 E26436E563; Wed, 10 Jun 2020 12:01:55 +0000 (UTC) Received: from pio-pvt-msa2.bahnhof.se (pio-pvt-msa2.bahnhof.se [79.136.2.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 58E6E6E55C; Wed, 10 Jun 2020 12:01:54 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTP id 967603F52B; Wed, 10 Jun 2020 14:01:52 +0200 (CEST) Authentication-Results: pio-pvt-msa2.bahnhof.se; dkim=pass (1024-bit key; unprotected) header.d=shipmail.org header.i=@shipmail.org header.b=rokWsKZx; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at bahnhof.se Received: from pio-pvt-msa2.bahnhof.se ([127.0.0.1]) by localhost (pio-pvt-msa2.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wfACO79HRCQ6; Wed, 10 Jun 2020 14:01:47 +0200 (CEST) Received: from mail1.shipmail.org (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) (Authenticated sender: mb878879) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTPA id 2047D3F528; Wed, 10 Jun 2020 14:01:45 +0200 (CEST) Received: from localhost.localdomain (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) by mail1.shipmail.org (Postfix) with ESMTPSA id 5ACD2360060; Wed, 10 Jun 2020 14:01:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shipmail.org; s=mail; t=1591790505; bh=6BrG2kMCY685Tdd83env55bWNJRACBkBovg8ct8pWp4=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=rokWsKZxKkDgXfW/zCjExrZ/Wf48SuLt5jmfXPdF8I//Ks1S/DSsalOXTxB+RnGqN 7AUkrIFcDWrYmNoRA55rX7lJ9nbff9qCcXgrbW/1/6le9B1jDAq3Wt9iq3BP2PV8m3 ynGopja1IvhqW2W/OVlh6jQ1HPb2lL2N2MDeWpQ4= Subject: Re: [PATCH 01/18] mm: Track mmu notifiers in fs_reclaim_acquire/release To: Daniel Vetter , DRI Development References: <20200604081224.863494-1-daniel.vetter@ffwll.ch> <20200604081224.863494-2-daniel.vetter@ffwll.ch> From: =?UTF-8?Q?Thomas_Hellstr=c3=b6m_=28Intel=29?= Message-ID: <15bcdddd-b560-e98b-eaec-62277b5ab4af@shipmail.org> Date: Wed, 10 Jun 2020 14:01:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200604081224.863494-2-daniel.vetter@ffwll.ch> Content-Language: en-US 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: linux-rdma@vger.kernel.org, Intel Graphics Development , LKML , amd-gfx@lists.freedesktop.org, linux-mm@kvack.org, Jason Gunthorpe , Daniel Vetter , Andrew Morton , =?UTF-8?Q?Christian_K=c3=b6nig?= Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGksIERhbmllbCwKClBsZWFzZSBzZWUgYmVsb3cuCgpPbiA2LzQvMjAgMTA6MTIgQU0sIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gZnNfcmVjbGFpbV9hY3F1aXJlL3JlbGVhc2UgbmljZWx5IGNhdGNo IHJlY3Vyc2lvbiBpc3N1ZXMgd2hlbgo+IGFsbG9jYXRpbmcgR0ZQX0tFUk5FTCBtZW1vcnkgYWdh aW5zdCBzaHJpbmtlcnMgKHdoaWNoIGdwdSBkcml2ZXJzIHRlbmQKPiB0byB1c2UgdG8ga2VlcCB0 aGUgZXhjZXNzaXZlIGNhY2hlcyBpbiBjaGVjaykuIEZvciBtbXUgbm90aWZpZXIKPiByZWN1cnNp b25zIHdlIGRvIGhhdmUgbG9ja2RlcCBhbm5vdGF0aW9ucyBzaW5jZSAyM2I2ODM5NWM3YzcKPiAo Im1tL21tdV9ub3RpZmllcnM6IGFkZCBhIGxvY2tkZXAgbWFwIGZvciBpbnZhbGlkYXRlX3Jhbmdl X3N0YXJ0L2VuZCIpLgo+Cj4gQnV0IHRoZXNlIG9ubHkgZmlyZSBpZiBhIHBhdGggYWN0dWFsbHkg cmVzdWx0cyBpbiBzb21lIHB0ZQo+IGludmFsaWRhdGlvbiAtIGZvciBtb3N0IHNtYWxsIGFsbG9j YXRpb25zIHRoYXQncyB2ZXJ5IHJhcmVseSB0aGUgY2FzZS4KPiBUaGUgb3RoZXIgdHJvdWJsZSBp cyB0aGF0IHB0ZSBpbnZhbGlkYXRpb24gY2FuIGhhcHBlbiBhbnkgdGltZSB3aGVuCj4gX19HRlBf UkVDTEFJTSBpcyBzZXQuIFdoaWNoIG1lYW5zIG9ubHkgcmVhbGx5IEdGUF9BVE9NSUMgaXMgYSBz YWZlCj4gY2hvaWNlLCBHRlBfTk9JTyBpc24ndCBnb29kIGVub3VnaCB0byBhdm9pZCBwb3RlbnRp YWwgbW11IG5vdGlmaWVyCj4gcmVjdXJzaW9uLgo+Cj4gSSB3YXMgcG9uZGVyaW5nIHdoZXRoZXIg d2Ugc2hvdWxkIGp1c3QgZG8gdGhlIGdlbmVyYWwgYW5ub3RhdGlvbiwgYnV0Cj4gdGhlcmUncyBh bHdheXMgdGhlIHJpc2sgZm9yIGZhbHNlIHBvc2l0aXZlcy4gUGx1cyBJJ20gYXNzdW1pbmcgdGhh dAo+IHRoZSBjb3JlIGZzIGFuZCBpbyBjb2RlIGlzIGEgbG90IGJldHRlciByZXZpZXdlZCBhbmQg dGVzdGVkIHRoYW4KPiByYW5kb20gbW11IG5vdGlmaWVyIGNvZGUgaW4gZHJpdmVycy4gSGVuY2Ug d2h5IEkgZGVjaWRlIHRvIG9ubHkKPiBhbm5vdGF0ZSBmb3IgdGhhdCBzcGVjaWZpYyBjYXNlLgo+ Cj4gRnVydGhlcm1vcmUgZXZlbiBpZiB3ZSdkIGNyZWF0ZSBhIGxvY2tkZXAgbWFwIGZvciBkaXJl Y3QgcmVjbGFpbSwgd2UnZAo+IHN0aWxsIG5lZWQgdG8gZXhwbGljaXQgcHVsbCBpbiB0aGUgbW11 IG5vdGlmaWVyIG1hcCAtIHRoZXJlJ3MgYSBsb3QKPiBtb3JlIHBsYWNlcyB0aGF0IGRvIHB0ZSBp bnZhbGlkYXRpb24gdGhhbiBqdXN0IGRpcmVjdCByZWNsYWltLCB0aGVzZQo+IHR3byBjb250ZXh0 cyBhcmVudCB0aGUgc2FtZS4KPgo+IE5vdGUgdGhhdCB0aGUgbW11IG5vdGlmaWVycyBuZWVkaW5n IHRoZWlyIG93biBpbmRlcGVuZGVudCBsb2NrZGVwIG1hcAo+IGlzIGFsc28gdGhlIHJlYXNvbiB3 ZSBjYW4ndCBob2xkIHRoZW0gZnJvbSBmc19yZWNsYWltX2FjcXVpcmUgdG8KPiBmc19yZWNsYWlt X3JlbGVhc2UgLSBpdCB3b3VsZCBuZXN0IHdpdGggdGhlIGFjcXVpc3Rpb24gaW4gdGhlIHB0ZQo+ IGludmFsaWRhdGlvbiBjb2RlLCBjYXVzaW5nIGEgbG9ja2RlcCBzcGxhdC4gQW5kIHdlIGNhbid0 IHJlbW92ZSB0aGUKPiBhbm5vdGF0aW9ucyBmcm9tIHB0ZSBpbnZhbGlkYXRpb24gYW5kIGFsbCB0 aGUgb3RoZXIgcGxhY2VzIHNpbmNlCj4gdGhleSdyZSBjYWxsZWQgZnJvbSBtYW55IG90aGVyIHBs YWNlcyB0aGFuIHBhZ2UgcmVjbGFpbS4gSGVuY2Ugd2UgY2FuCj4gb25seSBkbyB0aGUgZXF1aXZh bGVudCBvZiBtaWdodF9sb2NrLCBidXQgb24gdGhlIHJhdyBsb2NrZGVwIG1hcC4KPgo+IFdpdGgg dGhpcyB3ZSBjYW4gYWxzbyByZW1vdmUgdGhlIGxvY2tkZXAgcHJpbWluZyBhZGRlZCBpbiA2NjIw NGYxZDJkMWIKPiAoIm1tL21tdV9ub3RpZmllcnM6IHByaW1lIGxvY2tkZXAiKSBzaW5jZSB0aGUg bmV3IGFubm90YXRpb25zIGFyZQo+IHN0cmljdGx5IG1vcmUgcG93ZXJmdWwuCj4KPiBDYzogQW5k cmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KPiBDYzogSmFzb24gR3VudGhv cnBlIDxqZ2dAbWVsbGFub3guY29tPgo+IENjOiBsaW51eC1tbUBrdmFjay5vcmcKPiBDYzogbGlu dXgtcmRtYUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0 aWFuLmtvZW5pZ0BhbWQuY29tPgo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAaW50ZWwuY29tPgo+IC0tLQo+IFRoaXMgaXMgcGFydCBvZiBhIGdwdSBsb2NrZGVw IGFubm90YXRpb24gc2VyaWVzIHNpbXBseSBiZWNhdXNlIGl0Cj4gcmVhbGx5IGhlbHBzIHRvIGNh dGNoIGlzc3VlcyB3aGVyZSBncHUgc3Vic3lzdGVtIGxvY2tzIGFuZCBwcmltaXRpdmVzCj4gY2Fu IGRlYWRsb2NrIHdpdGggdGhlbXNlbHZlcyB0aHJvdWdoIGFsbG9jYXRpb25zIGFuZCBtbXUgbm90 aWZpZXJzLgo+IEJ1dCBhc2lkZSBmcm9tIHRoYXQgbW90aXZhdGlvbiBpdCBzaG91bGQgYmUgY29t cGxldGVseSBmcmVlLXN0YW5kaW5nLAo+IGFuZCBjYW4gbGFuZCB0aHJvdWdoIC1tbS8tcmRtYS8t aG1tIG9yIGFueSBvdGhlciB0cmVlIHJlYWxseSB3aGVuZXZlci4KPiAtRGFuaWVsCj4gLS0tCj4g ICBtbS9tbXVfbm90aWZpZXIuYyB8ICA3IC0tLS0tLS0KPiAgIG1tL3BhZ2VfYWxsb2MuYyAgIHwg MjMgKysrKysrKysrKysrKystLS0tLS0tLS0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0 aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvbW0vbW11X25vdGlmaWVy LmMgYi9tbS9tbXVfbm90aWZpZXIuYwo+IGluZGV4IDA2ODUyYjg5NmZhNi4uNWQ1NzhiOTEyMmY4 IDEwMDY0NAo+IC0tLSBhL21tL21tdV9ub3RpZmllci5jCj4gKysrIGIvbW0vbW11X25vdGlmaWVy LmMKPiBAQCAtNjEyLDEzICs2MTIsNiBAQCBpbnQgX19tbXVfbm90aWZpZXJfcmVnaXN0ZXIoc3Ry dWN0IG1tdV9ub3RpZmllciAqc3Vic2NyaXB0aW9uLAo+ICAgCWxvY2tkZXBfYXNzZXJ0X2hlbGRf d3JpdGUoJm1tLT5tbWFwX3NlbSk7Cj4gICAJQlVHX09OKGF0b21pY19yZWFkKCZtbS0+bW1fdXNl cnMpIDw9IDApOwo+ICAgCj4gLQlpZiAoSVNfRU5BQkxFRChDT05GSUdfTE9DS0RFUCkpIHsKPiAt CQlmc19yZWNsYWltX2FjcXVpcmUoR0ZQX0tFUk5FTCk7Cj4gLQkJbG9ja19tYXBfYWNxdWlyZSgm X19tbXVfbm90aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydF9tYXApOwo+IC0JCWxvY2tfbWFw X3JlbGVhc2UoJl9fbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnRfbWFwKTsKPiAt CQlmc19yZWNsYWltX3JlbGVhc2UoR0ZQX0tFUk5FTCk7Cj4gLQl9Cj4gLQo+ICAgCWlmICghbW0t Pm5vdGlmaWVyX3N1YnNjcmlwdGlvbnMpIHsKPiAgIAkJLyoKPiAgIAkJICoga21hbGxvYyBjYW5u b3QgYmUgY2FsbGVkIHVuZGVyIG1tX3Rha2VfYWxsX2xvY2tzKCksIGJ1dCB3ZQo+IGRpZmYgLS1n aXQgYS9tbS9wYWdlX2FsbG9jLmMgYi9tbS9wYWdlX2FsbG9jLmMKPiBpbmRleCAxM2NjNjUzMTIy YjcuLmY4YTIyMmRiNGE1MyAxMDA2NDQKPiAtLS0gYS9tbS9wYWdlX2FsbG9jLmMKPiArKysgYi9t bS9wYWdlX2FsbG9jLmMKPiBAQCAtNTcsNiArNTcsNyBAQAo+ICAgI2luY2x1ZGUgPHRyYWNlL2V2 ZW50cy9vb20uaD4KPiAgICNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPgo+ICAgI2luY2x1ZGUg PGxpbnV4L21tX2lubGluZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvbW11X25vdGlmaWVyLmg+Cj4g ICAjaW5jbHVkZSA8bGludXgvbWlncmF0ZS5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L2h1Z2V0bGIu aD4KPiAgICNpbmNsdWRlIDxsaW51eC9zY2hlZC9ydC5oPgo+IEBAIC00MTI0LDcgKzQxMjUsNyBA QCBzaG91bGRfY29tcGFjdF9yZXRyeShzdHJ1Y3QgYWxsb2NfY29udGV4dCAqYWMsIHVuc2lnbmVk IGludCBvcmRlciwgaW50IGFsbG9jX2ZsYQo+ICAgc3RhdGljIHN0cnVjdCBsb2NrZGVwX21hcCBf X2ZzX3JlY2xhaW1fbWFwID0KPiAgIAlTVEFUSUNfTE9DS0RFUF9NQVBfSU5JVCgiZnNfcmVjbGFp bSIsICZfX2ZzX3JlY2xhaW1fbWFwKTsKPiAgIAo+IC1zdGF0aWMgYm9vbCBfX25lZWRfZnNfcmVj bGFpbShnZnBfdCBnZnBfbWFzaykKPiArc3RhdGljIGJvb2wgX19uZWVkX3JlY2xhaW0oZ2ZwX3Qg Z2ZwX21hc2spCj4gICB7Cj4gICAJZ2ZwX21hc2sgPSBjdXJyZW50X2dmcF9jb250ZXh0KGdmcF9t YXNrKTsKPiAgIAo+IEBAIC00MTM2LDEwICs0MTM3LDYgQEAgc3RhdGljIGJvb2wgX19uZWVkX2Zz X3JlY2xhaW0oZ2ZwX3QgZ2ZwX21hc2spCj4gICAJaWYgKGN1cnJlbnQtPmZsYWdzICYgUEZfTUVN QUxMT0MpCj4gICAJCXJldHVybiBmYWxzZTsKPiAgIAo+IC0JLyogV2UncmUgb25seSBpbnRlcmVz dGVkIF9fR0ZQX0ZTIGFsbG9jYXRpb25zIGZvciBub3cgKi8KPiAtCWlmICghKGdmcF9tYXNrICYg X19HRlBfRlMpKQo+IC0JCXJldHVybiBmYWxzZTsKPiAtCj4gICAJaWYgKGdmcF9tYXNrICYgX19H RlBfTk9MT0NLREVQKQo+ICAgCQlyZXR1cm4gZmFsc2U7Cj4gICAKPiBAQCAtNDE1OCwxNSArNDE1 NSwyMyBAQCB2b2lkIF9fZnNfcmVjbGFpbV9yZWxlYXNlKHZvaWQpCj4gICAKPiAgIHZvaWQgZnNf cmVjbGFpbV9hY3F1aXJlKGdmcF90IGdmcF9tYXNrKQo+ICAgewo+IC0JaWYgKF9fbmVlZF9mc19y ZWNsYWltKGdmcF9tYXNrKSkKPiAtCQlfX2ZzX3JlY2xhaW1fYWNxdWlyZSgpOwo+ICsJaWYgKF9f bmVlZF9yZWNsYWltKGdmcF9tYXNrKSkgewo+ICsJCWlmICghKGdmcF9tYXNrICYgX19HRlBfRlMp KQpIbW0uIFNob3VsZG4ndCB0aGlzIGJlICJpZiAoZ2ZwX21hc2sgJiBfX0dGUF9GUykiIG9yIGFt IEkgbWlzdW5kZXJzdGFuZGluZz8KPiArCQkJX19mc19yZWNsYWltX2FjcXVpcmUoKTsKCgojaWZk ZWYgQ09ORklHX01NVV9OT1RJRklFUj8KCj4gKwo+ICsJCWxvY2tfbWFwX2FjcXVpcmUoJl9fbW11 X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnRfbWFwKTsKPiArCQlsb2NrX21hcF9yZWxl YXNlKCZfX21tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0X21hcCk7Cj4gKwo+ICsJ fQo+ICAgfQo+ICAgRVhQT1JUX1NZTUJPTF9HUEwoZnNfcmVjbGFpbV9hY3F1aXJlKTsKPiAgIAo+ ICAgdm9pZCBmc19yZWNsYWltX3JlbGVhc2UoZ2ZwX3QgZ2ZwX21hc2spCj4gICB7Cj4gLQlpZiAo X19uZWVkX2ZzX3JlY2xhaW0oZ2ZwX21hc2spKQo+IC0JCV9fZnNfcmVjbGFpbV9yZWxlYXNlKCk7 Cj4gKwlpZiAoX19uZWVkX3JlY2xhaW0oZ2ZwX21hc2spKSB7Cj4gKwkJaWYgKCEoZ2ZwX21hc2sg JiBfX0dGUF9GUykpClNhbWUgaGVyZT8KPiArCQkJX19mc19yZWNsYWltX3JlbGVhc2UoKTsKPiAr CX0KPiAgIH0KPiAgIEVYUE9SVF9TWU1CT0xfR1BMKGZzX3JlY2xhaW1fcmVsZWFzZSk7Cj4gICAj ZW5kaWYKCk9uZSBzdWdnZXN0ZWQgdGVzdCBjYXNlIHdvdWxkIHBlcmhhcHMgYmUgdG8gY2FsbCBt YWR2aXNlKG1hZHZfZG9udG5lZWQpIApvbiBhIHN1YnBhcnQgb2YgYSB0cmFuc2h1Z2UgcGFnZS4g VGhhdCB3b3VsZCBJSVJDIHRyaWdnZXIgYSBwYWdlIHNwbGl0IAphbmQgaW50ZXJlc3RpbmcgbW11 IG5vdGlmaWVyIGNhbGxzLi4uLgoKVGhhbmtzLApUaG9tYXMKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK 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.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 01C1EC433E0 for ; Wed, 10 Jun 2020 12:01:56 +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 A88EB20760 for ; Wed, 10 Jun 2020 12:01:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=shipmail.org header.i=@shipmail.org header.b="rokWsKZx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A88EB20760 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=shipmail.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 586B66E55C; Wed, 10 Jun 2020 12:01:55 +0000 (UTC) Received: from pio-pvt-msa2.bahnhof.se (pio-pvt-msa2.bahnhof.se [79.136.2.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 58E6E6E55C; Wed, 10 Jun 2020 12:01:54 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTP id 967603F52B; Wed, 10 Jun 2020 14:01:52 +0200 (CEST) Authentication-Results: pio-pvt-msa2.bahnhof.se; dkim=pass (1024-bit key; unprotected) header.d=shipmail.org header.i=@shipmail.org header.b=rokWsKZx; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at bahnhof.se Received: from pio-pvt-msa2.bahnhof.se ([127.0.0.1]) by localhost (pio-pvt-msa2.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wfACO79HRCQ6; Wed, 10 Jun 2020 14:01:47 +0200 (CEST) Received: from mail1.shipmail.org (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) (Authenticated sender: mb878879) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTPA id 2047D3F528; Wed, 10 Jun 2020 14:01:45 +0200 (CEST) Received: from localhost.localdomain (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) by mail1.shipmail.org (Postfix) with ESMTPSA id 5ACD2360060; Wed, 10 Jun 2020 14:01:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shipmail.org; s=mail; t=1591790505; bh=6BrG2kMCY685Tdd83env55bWNJRACBkBovg8ct8pWp4=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=rokWsKZxKkDgXfW/zCjExrZ/Wf48SuLt5jmfXPdF8I//Ks1S/DSsalOXTxB+RnGqN 7AUkrIFcDWrYmNoRA55rX7lJ9nbff9qCcXgrbW/1/6le9B1jDAq3Wt9iq3BP2PV8m3 ynGopja1IvhqW2W/OVlh6jQ1HPb2lL2N2MDeWpQ4= To: Daniel Vetter , DRI Development References: <20200604081224.863494-1-daniel.vetter@ffwll.ch> <20200604081224.863494-2-daniel.vetter@ffwll.ch> From: =?UTF-8?Q?Thomas_Hellstr=c3=b6m_=28Intel=29?= Message-ID: <15bcdddd-b560-e98b-eaec-62277b5ab4af@shipmail.org> Date: Wed, 10 Jun 2020 14:01:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200604081224.863494-2-daniel.vetter@ffwll.ch> Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH 01/18] mm: Track mmu notifiers in fs_reclaim_acquire/release X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-rdma@vger.kernel.org, Intel Graphics Development , LKML , amd-gfx@lists.freedesktop.org, linux-mm@kvack.org, Jason Gunthorpe , Daniel Vetter , Andrew Morton , =?UTF-8?Q?Christian_K=c3=b6nig?= Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" SGksIERhbmllbCwKClBsZWFzZSBzZWUgYmVsb3cuCgpPbiA2LzQvMjAgMTA6MTIgQU0sIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gZnNfcmVjbGFpbV9hY3F1aXJlL3JlbGVhc2UgbmljZWx5IGNhdGNo IHJlY3Vyc2lvbiBpc3N1ZXMgd2hlbgo+IGFsbG9jYXRpbmcgR0ZQX0tFUk5FTCBtZW1vcnkgYWdh aW5zdCBzaHJpbmtlcnMgKHdoaWNoIGdwdSBkcml2ZXJzIHRlbmQKPiB0byB1c2UgdG8ga2VlcCB0 aGUgZXhjZXNzaXZlIGNhY2hlcyBpbiBjaGVjaykuIEZvciBtbXUgbm90aWZpZXIKPiByZWN1cnNp b25zIHdlIGRvIGhhdmUgbG9ja2RlcCBhbm5vdGF0aW9ucyBzaW5jZSAyM2I2ODM5NWM3YzcKPiAo Im1tL21tdV9ub3RpZmllcnM6IGFkZCBhIGxvY2tkZXAgbWFwIGZvciBpbnZhbGlkYXRlX3Jhbmdl X3N0YXJ0L2VuZCIpLgo+Cj4gQnV0IHRoZXNlIG9ubHkgZmlyZSBpZiBhIHBhdGggYWN0dWFsbHkg cmVzdWx0cyBpbiBzb21lIHB0ZQo+IGludmFsaWRhdGlvbiAtIGZvciBtb3N0IHNtYWxsIGFsbG9j YXRpb25zIHRoYXQncyB2ZXJ5IHJhcmVseSB0aGUgY2FzZS4KPiBUaGUgb3RoZXIgdHJvdWJsZSBp cyB0aGF0IHB0ZSBpbnZhbGlkYXRpb24gY2FuIGhhcHBlbiBhbnkgdGltZSB3aGVuCj4gX19HRlBf UkVDTEFJTSBpcyBzZXQuIFdoaWNoIG1lYW5zIG9ubHkgcmVhbGx5IEdGUF9BVE9NSUMgaXMgYSBz YWZlCj4gY2hvaWNlLCBHRlBfTk9JTyBpc24ndCBnb29kIGVub3VnaCB0byBhdm9pZCBwb3RlbnRp YWwgbW11IG5vdGlmaWVyCj4gcmVjdXJzaW9uLgo+Cj4gSSB3YXMgcG9uZGVyaW5nIHdoZXRoZXIg d2Ugc2hvdWxkIGp1c3QgZG8gdGhlIGdlbmVyYWwgYW5ub3RhdGlvbiwgYnV0Cj4gdGhlcmUncyBh bHdheXMgdGhlIHJpc2sgZm9yIGZhbHNlIHBvc2l0aXZlcy4gUGx1cyBJJ20gYXNzdW1pbmcgdGhh dAo+IHRoZSBjb3JlIGZzIGFuZCBpbyBjb2RlIGlzIGEgbG90IGJldHRlciByZXZpZXdlZCBhbmQg dGVzdGVkIHRoYW4KPiByYW5kb20gbW11IG5vdGlmaWVyIGNvZGUgaW4gZHJpdmVycy4gSGVuY2Ug d2h5IEkgZGVjaWRlIHRvIG9ubHkKPiBhbm5vdGF0ZSBmb3IgdGhhdCBzcGVjaWZpYyBjYXNlLgo+ Cj4gRnVydGhlcm1vcmUgZXZlbiBpZiB3ZSdkIGNyZWF0ZSBhIGxvY2tkZXAgbWFwIGZvciBkaXJl Y3QgcmVjbGFpbSwgd2UnZAo+IHN0aWxsIG5lZWQgdG8gZXhwbGljaXQgcHVsbCBpbiB0aGUgbW11 IG5vdGlmaWVyIG1hcCAtIHRoZXJlJ3MgYSBsb3QKPiBtb3JlIHBsYWNlcyB0aGF0IGRvIHB0ZSBp bnZhbGlkYXRpb24gdGhhbiBqdXN0IGRpcmVjdCByZWNsYWltLCB0aGVzZQo+IHR3byBjb250ZXh0 cyBhcmVudCB0aGUgc2FtZS4KPgo+IE5vdGUgdGhhdCB0aGUgbW11IG5vdGlmaWVycyBuZWVkaW5n IHRoZWlyIG93biBpbmRlcGVuZGVudCBsb2NrZGVwIG1hcAo+IGlzIGFsc28gdGhlIHJlYXNvbiB3 ZSBjYW4ndCBob2xkIHRoZW0gZnJvbSBmc19yZWNsYWltX2FjcXVpcmUgdG8KPiBmc19yZWNsYWlt X3JlbGVhc2UgLSBpdCB3b3VsZCBuZXN0IHdpdGggdGhlIGFjcXVpc3Rpb24gaW4gdGhlIHB0ZQo+ IGludmFsaWRhdGlvbiBjb2RlLCBjYXVzaW5nIGEgbG9ja2RlcCBzcGxhdC4gQW5kIHdlIGNhbid0 IHJlbW92ZSB0aGUKPiBhbm5vdGF0aW9ucyBmcm9tIHB0ZSBpbnZhbGlkYXRpb24gYW5kIGFsbCB0 aGUgb3RoZXIgcGxhY2VzIHNpbmNlCj4gdGhleSdyZSBjYWxsZWQgZnJvbSBtYW55IG90aGVyIHBs YWNlcyB0aGFuIHBhZ2UgcmVjbGFpbS4gSGVuY2Ugd2UgY2FuCj4gb25seSBkbyB0aGUgZXF1aXZh bGVudCBvZiBtaWdodF9sb2NrLCBidXQgb24gdGhlIHJhdyBsb2NrZGVwIG1hcC4KPgo+IFdpdGgg dGhpcyB3ZSBjYW4gYWxzbyByZW1vdmUgdGhlIGxvY2tkZXAgcHJpbWluZyBhZGRlZCBpbiA2NjIw NGYxZDJkMWIKPiAoIm1tL21tdV9ub3RpZmllcnM6IHByaW1lIGxvY2tkZXAiKSBzaW5jZSB0aGUg bmV3IGFubm90YXRpb25zIGFyZQo+IHN0cmljdGx5IG1vcmUgcG93ZXJmdWwuCj4KPiBDYzogQW5k cmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KPiBDYzogSmFzb24gR3VudGhv cnBlIDxqZ2dAbWVsbGFub3guY29tPgo+IENjOiBsaW51eC1tbUBrdmFjay5vcmcKPiBDYzogbGlu dXgtcmRtYUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0 aWFuLmtvZW5pZ0BhbWQuY29tPgo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAaW50ZWwuY29tPgo+IC0tLQo+IFRoaXMgaXMgcGFydCBvZiBhIGdwdSBsb2NrZGVw IGFubm90YXRpb24gc2VyaWVzIHNpbXBseSBiZWNhdXNlIGl0Cj4gcmVhbGx5IGhlbHBzIHRvIGNh dGNoIGlzc3VlcyB3aGVyZSBncHUgc3Vic3lzdGVtIGxvY2tzIGFuZCBwcmltaXRpdmVzCj4gY2Fu IGRlYWRsb2NrIHdpdGggdGhlbXNlbHZlcyB0aHJvdWdoIGFsbG9jYXRpb25zIGFuZCBtbXUgbm90 aWZpZXJzLgo+IEJ1dCBhc2lkZSBmcm9tIHRoYXQgbW90aXZhdGlvbiBpdCBzaG91bGQgYmUgY29t cGxldGVseSBmcmVlLXN0YW5kaW5nLAo+IGFuZCBjYW4gbGFuZCB0aHJvdWdoIC1tbS8tcmRtYS8t aG1tIG9yIGFueSBvdGhlciB0cmVlIHJlYWxseSB3aGVuZXZlci4KPiAtRGFuaWVsCj4gLS0tCj4g ICBtbS9tbXVfbm90aWZpZXIuYyB8ICA3IC0tLS0tLS0KPiAgIG1tL3BhZ2VfYWxsb2MuYyAgIHwg MjMgKysrKysrKysrKysrKystLS0tLS0tLS0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0 aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvbW0vbW11X25vdGlmaWVy LmMgYi9tbS9tbXVfbm90aWZpZXIuYwo+IGluZGV4IDA2ODUyYjg5NmZhNi4uNWQ1NzhiOTEyMmY4 IDEwMDY0NAo+IC0tLSBhL21tL21tdV9ub3RpZmllci5jCj4gKysrIGIvbW0vbW11X25vdGlmaWVy LmMKPiBAQCAtNjEyLDEzICs2MTIsNiBAQCBpbnQgX19tbXVfbm90aWZpZXJfcmVnaXN0ZXIoc3Ry dWN0IG1tdV9ub3RpZmllciAqc3Vic2NyaXB0aW9uLAo+ICAgCWxvY2tkZXBfYXNzZXJ0X2hlbGRf d3JpdGUoJm1tLT5tbWFwX3NlbSk7Cj4gICAJQlVHX09OKGF0b21pY19yZWFkKCZtbS0+bW1fdXNl cnMpIDw9IDApOwo+ICAgCj4gLQlpZiAoSVNfRU5BQkxFRChDT05GSUdfTE9DS0RFUCkpIHsKPiAt CQlmc19yZWNsYWltX2FjcXVpcmUoR0ZQX0tFUk5FTCk7Cj4gLQkJbG9ja19tYXBfYWNxdWlyZSgm X19tbXVfbm90aWZpZXJfaW52YWxpZGF0ZV9yYW5nZV9zdGFydF9tYXApOwo+IC0JCWxvY2tfbWFw X3JlbGVhc2UoJl9fbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnRfbWFwKTsKPiAt CQlmc19yZWNsYWltX3JlbGVhc2UoR0ZQX0tFUk5FTCk7Cj4gLQl9Cj4gLQo+ICAgCWlmICghbW0t Pm5vdGlmaWVyX3N1YnNjcmlwdGlvbnMpIHsKPiAgIAkJLyoKPiAgIAkJICoga21hbGxvYyBjYW5u b3QgYmUgY2FsbGVkIHVuZGVyIG1tX3Rha2VfYWxsX2xvY2tzKCksIGJ1dCB3ZQo+IGRpZmYgLS1n aXQgYS9tbS9wYWdlX2FsbG9jLmMgYi9tbS9wYWdlX2FsbG9jLmMKPiBpbmRleCAxM2NjNjUzMTIy YjcuLmY4YTIyMmRiNGE1MyAxMDA2NDQKPiAtLS0gYS9tbS9wYWdlX2FsbG9jLmMKPiArKysgYi9t bS9wYWdlX2FsbG9jLmMKPiBAQCAtNTcsNiArNTcsNyBAQAo+ICAgI2luY2x1ZGUgPHRyYWNlL2V2 ZW50cy9vb20uaD4KPiAgICNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPgo+ICAgI2luY2x1ZGUg PGxpbnV4L21tX2lubGluZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvbW11X25vdGlmaWVyLmg+Cj4g ICAjaW5jbHVkZSA8bGludXgvbWlncmF0ZS5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L2h1Z2V0bGIu aD4KPiAgICNpbmNsdWRlIDxsaW51eC9zY2hlZC9ydC5oPgo+IEBAIC00MTI0LDcgKzQxMjUsNyBA QCBzaG91bGRfY29tcGFjdF9yZXRyeShzdHJ1Y3QgYWxsb2NfY29udGV4dCAqYWMsIHVuc2lnbmVk IGludCBvcmRlciwgaW50IGFsbG9jX2ZsYQo+ICAgc3RhdGljIHN0cnVjdCBsb2NrZGVwX21hcCBf X2ZzX3JlY2xhaW1fbWFwID0KPiAgIAlTVEFUSUNfTE9DS0RFUF9NQVBfSU5JVCgiZnNfcmVjbGFp bSIsICZfX2ZzX3JlY2xhaW1fbWFwKTsKPiAgIAo+IC1zdGF0aWMgYm9vbCBfX25lZWRfZnNfcmVj bGFpbShnZnBfdCBnZnBfbWFzaykKPiArc3RhdGljIGJvb2wgX19uZWVkX3JlY2xhaW0oZ2ZwX3Qg Z2ZwX21hc2spCj4gICB7Cj4gICAJZ2ZwX21hc2sgPSBjdXJyZW50X2dmcF9jb250ZXh0KGdmcF9t YXNrKTsKPiAgIAo+IEBAIC00MTM2LDEwICs0MTM3LDYgQEAgc3RhdGljIGJvb2wgX19uZWVkX2Zz X3JlY2xhaW0oZ2ZwX3QgZ2ZwX21hc2spCj4gICAJaWYgKGN1cnJlbnQtPmZsYWdzICYgUEZfTUVN QUxMT0MpCj4gICAJCXJldHVybiBmYWxzZTsKPiAgIAo+IC0JLyogV2UncmUgb25seSBpbnRlcmVz dGVkIF9fR0ZQX0ZTIGFsbG9jYXRpb25zIGZvciBub3cgKi8KPiAtCWlmICghKGdmcF9tYXNrICYg X19HRlBfRlMpKQo+IC0JCXJldHVybiBmYWxzZTsKPiAtCj4gICAJaWYgKGdmcF9tYXNrICYgX19H RlBfTk9MT0NLREVQKQo+ICAgCQlyZXR1cm4gZmFsc2U7Cj4gICAKPiBAQCAtNDE1OCwxNSArNDE1 NSwyMyBAQCB2b2lkIF9fZnNfcmVjbGFpbV9yZWxlYXNlKHZvaWQpCj4gICAKPiAgIHZvaWQgZnNf cmVjbGFpbV9hY3F1aXJlKGdmcF90IGdmcF9tYXNrKQo+ICAgewo+IC0JaWYgKF9fbmVlZF9mc19y ZWNsYWltKGdmcF9tYXNrKSkKPiAtCQlfX2ZzX3JlY2xhaW1fYWNxdWlyZSgpOwo+ICsJaWYgKF9f bmVlZF9yZWNsYWltKGdmcF9tYXNrKSkgewo+ICsJCWlmICghKGdmcF9tYXNrICYgX19HRlBfRlMp KQpIbW0uIFNob3VsZG4ndCB0aGlzIGJlICJpZiAoZ2ZwX21hc2sgJiBfX0dGUF9GUykiIG9yIGFt IEkgbWlzdW5kZXJzdGFuZGluZz8KPiArCQkJX19mc19yZWNsYWltX2FjcXVpcmUoKTsKCgojaWZk ZWYgQ09ORklHX01NVV9OT1RJRklFUj8KCj4gKwo+ICsJCWxvY2tfbWFwX2FjcXVpcmUoJl9fbW11 X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnRfbWFwKTsKPiArCQlsb2NrX21hcF9yZWxl YXNlKCZfX21tdV9ub3RpZmllcl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0X21hcCk7Cj4gKwo+ICsJ fQo+ICAgfQo+ICAgRVhQT1JUX1NZTUJPTF9HUEwoZnNfcmVjbGFpbV9hY3F1aXJlKTsKPiAgIAo+ ICAgdm9pZCBmc19yZWNsYWltX3JlbGVhc2UoZ2ZwX3QgZ2ZwX21hc2spCj4gICB7Cj4gLQlpZiAo X19uZWVkX2ZzX3JlY2xhaW0oZ2ZwX21hc2spKQo+IC0JCV9fZnNfcmVjbGFpbV9yZWxlYXNlKCk7 Cj4gKwlpZiAoX19uZWVkX3JlY2xhaW0oZ2ZwX21hc2spKSB7Cj4gKwkJaWYgKCEoZ2ZwX21hc2sg JiBfX0dGUF9GUykpClNhbWUgaGVyZT8KPiArCQkJX19mc19yZWNsYWltX3JlbGVhc2UoKTsKPiAr CX0KPiAgIH0KPiAgIEVYUE9SVF9TWU1CT0xfR1BMKGZzX3JlY2xhaW1fcmVsZWFzZSk7Cj4gICAj ZW5kaWYKCk9uZSBzdWdnZXN0ZWQgdGVzdCBjYXNlIHdvdWxkIHBlcmhhcHMgYmUgdG8gY2FsbCBt YWR2aXNlKG1hZHZfZG9udG5lZWQpIApvbiBhIHN1YnBhcnQgb2YgYSB0cmFuc2h1Z2UgcGFnZS4g VGhhdCB3b3VsZCBJSVJDIHRyaWdnZXIgYSBwYWdlIHNwbGl0IAphbmQgaW50ZXJlc3RpbmcgbW11 IG5vdGlmaWVyIGNhbGxzLi4uLgoKVGhhbmtzLApUaG9tYXMKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK