From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerome Glisse Subject: Re: [PATCH] mm, oom: distinguish blockable mode for mmu notifiers Date: Fri, 24 Aug 2018 10:40:27 -0400 Message-ID: <20180824144027.GA4244@redhat.com> References: <20180716115058.5559-1-mhocko@kernel.org> <8cbfb09f-0c5a-8d43-1f5e-f3ff7612e289@I-love.SAKURA.ne.jp> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <8cbfb09f-0c5a-8d43-1f5e-f3ff7612e289@I-love.SAKURA.ne.jp> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Tetsuo Handa Cc: Michal Hocko , kvm@vger.kernel.org, Radim =?utf-8?B?S3LEjW3DocWZ?= , David Airlie , Sudeep Dutt , dri-devel@lists.freedesktop.org, Michal Hocko , linux-mm@kvack.org, Andrea Arcangeli , Dimitri Sivanich , linux-rdma@vger.kernel.org, amd-gfx@lists.freedesktop.org, Jason Gunthorpe , Doug Ledford , David Rientjes , xen-devel@lists.xenproject.org, intel-gfx@lists.freedesktop.org, Leon Romanovsky , Rodrigo Vivi , Boris Ostrovsky , Juergen Gross , Mike Marciniszyn , Dennis Dalessandro , LKML , Christian List-Id: amd-gfx.lists.freedesktop.org T24gRnJpLCBBdWcgMjQsIDIwMTggYXQgMDc6NTQ6MTlQTSArMDkwMCwgVGV0c3VvIEhhbmRhIHdy b3RlOgo+IFR3byBtb3JlIHdvcnJpZXMgZm9yIHRoaXMgcGF0Y2guCgpbLi4uXQoKPiAKPiA+IC0t LSBhL21tL2htbS5jCj4gPiArKysgYi9tbS9obW0uYwo+ID4gQEAgLTE3NywxNiArMTc3LDE5IEBA IHN0YXRpYyB2b2lkIGhtbV9yZWxlYXNlKHN0cnVjdCBtbXVfbm90aWZpZXIgKm1uLCBzdHJ1Y3Qg bW1fc3RydWN0ICptbSkKPiA+ICAgICAgICAgdXBfd3JpdGUoJmhtbS0+bWlycm9yc19zZW0pOwo+ ID4gIH0KPiA+IAo+ID4gLXN0YXRpYyB2b2lkIGhtbV9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KHN0 cnVjdCBtbXVfbm90aWZpZXIgKm1uLAo+ID4gK3N0YXRpYyBpbnQgaG1tX2ludmFsaWRhdGVfcmFu Z2Vfc3RhcnQoc3RydWN0IG1tdV9ub3RpZmllciAqbW4sCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbW1fc3RydWN0ICptbSwKPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc3RhcnQsCj4gPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGVuZCkKPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZW5k LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBibG9ja2Fi bGUpCj4gPiAgewo+ID4gICAgICAgICBzdHJ1Y3QgaG1tICpobW0gPSBtbS0+aG1tOwo+ID4gCj4g PiAgICAgICAgIFZNX0JVR19PTighaG1tKTsKPiA+IAo+ID4gICAgICAgICBhdG9taWNfaW5jKCZo bW0tPnNlcXVlbmNlKTsKPiA+ICsKPiA+ICsgICAgICAgcmV0dXJuIDA7Cj4gPiAgfQo+ID4gCj4g PiAgc3RhdGljIHZvaWQgaG1tX2ludmFsaWRhdGVfcmFuZ2VfZW5kKHN0cnVjdCBtbXVfbm90aWZp ZXIgKm1uLAo+IAo+IFRoaXMgYXNzdW1lcyB0aGF0IGhtbV9pbnZhbGlkYXRlX3JhbmdlX2VuZCgp IGRvZXMgbm90IGhhdmUgbWVtb3J5Cj4gYWxsb2NhdGlvbiBkZXBlbmRlbmN5LiBCdXQgaG1tX2lu dmFsaWRhdGVfcmFuZ2UoKSBmcm9tCj4gaG1tX2ludmFsaWRhdGVfcmFuZ2VfZW5kKCkgaW52b2x2 ZXMKPiAKPiAgICAgICAgIGRvd25fcmVhZCgmaG1tLT5taXJyb3JzX3NlbSk7Cj4gICAgICAgICBs aXN0X2Zvcl9lYWNoX2VudHJ5KG1pcnJvciwgJmhtbS0+bWlycm9ycywgbGlzdCkKPiAgICAgICAg ICAgICAgICAgbWlycm9yLT5vcHMtPnN5bmNfY3B1X2RldmljZV9wYWdldGFibGVzKG1pcnJvciwg YWN0aW9uLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RhcnQsIGVuZCk7Cj4gICAgICAgICB1cF9yZWFkKCZobW0tPm1pcnJvcnNfc2Vt KTsKPiAKPiBzZXF1ZW5jZS4gV2hhdCBpcyBzdXJwcmlzaW5nIGlzIHRoYXQgdGhlcmUgaXMgbm8g aW4tdHJlZSB1c2VyIHdobyBhc3NpZ25zCj4gc3luY19jcHVfZGV2aWNlX3BhZ2V0YWJsZXMgZmll bGQuCj4gCj4gICAkIGdyZXAgLUZyIHN5bmNfY3B1X2RldmljZV9wYWdldGFibGVzICoKPiAgIERv Y3VtZW50YXRpb24vdm0vaG1tLnJzdDogICAgIC8qIHN5bmNfY3B1X2RldmljZV9wYWdldGFibGVz KCkgLSBzeW5jaHJvbml6ZSBwYWdlIHRhYmxlcwo+ICAgaW5jbHVkZS9saW51eC9obW0uaDogKiB3 aWxsIGdldCBjYWxsYmFja3MgdGhyb3VnaCBzeW5jX2NwdV9kZXZpY2VfcGFnZXRhYmxlcygpIG9w ZXJhdGlvbiAoc2VlCj4gICBpbmNsdWRlL2xpbnV4L2htbS5oOiAgICAvKiBzeW5jX2NwdV9kZXZp Y2VfcGFnZXRhYmxlcygpIC0gc3luY2hyb25pemUgcGFnZSB0YWJsZXMKPiAgIGluY2x1ZGUvbGlu dXgvaG1tLmg6ICAgIHZvaWQgKCpzeW5jX2NwdV9kZXZpY2VfcGFnZXRhYmxlcykoc3RydWN0IGht bV9taXJyb3IgKm1pcnJvciwKPiAgIGluY2x1ZGUvbGludXgvaG1tLmg6ICogaG1tX21pcnJvcl9v cHMuc3luY19jcHVfZGV2aWNlX3BhZ2V0YWJsZXMoKSBjYWxsYmFjaywgc28gdGhhdCBDUFUgcGFn ZQo+ICAgbW0vaG1tLmM6ICAgICAgICAgICAgICAgbWlycm9yLT5vcHMtPnN5bmNfY3B1X2Rldmlj ZV9wYWdldGFibGVzKG1pcnJvciwgYWN0aW9uLAo+IAo+IFRoYXQgaXMsIHRoaXMgQVBJIHNlZW1z IHRvIGJlIGN1cnJlbnRseSB1c2VkIGJ5IG9ubHkgb3V0LW9mLXRyZWUgdXNlcnMuIFNpbmNlCj4g d2UgY2FuJ3QgY2hlY2sgdGhhdCBub2JvZHkgaGFzIG1lbW9yeSBhbGxvY2F0aW9uIGRlcGVuZGVu Y3ksIEkgdGhpbmsgdGhhdAo+IGhtbV9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KCkgc2hvdWxkIHJl dHVybiAtRUFHQUlOIGlmIGJsb2NrYWJsZSA9PSBmYWxzZSBmb3Igbm93LgoKU28geW91IGNhbiBz ZWUgdXBkYXRlIGFuZCB1c2VyIG9mIHRoaXMgdGhlcmU6CgpodHRwczovL2NnaXQuZnJlZWRlc2t0 b3Aub3JnL35nbGlzc2UvbGludXgvbG9nLz9oPWhtbS1pbnRlbC12MDAKaHR0cHM6Ly9jZ2l0LmZy ZWVkZXNrdG9wLm9yZy9+Z2xpc3NlL2xpbnV4L2xvZy8/aD1obW0tbm91dmVhdS12MDEKaHR0cHM6 Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9+Z2xpc3NlL2xpbnV4L2xvZy8/aD1obW0tcmFkZW9uLXYw MAoKSSBhbSBzdGlsbCB3b3JraW5nIG9uIE1lbGxhbm94IGFuZCBBTUQgR1BVIHBhdGNoc2V0LgoK SSB3aWxsIHBvc3QgdGhlIEhNTSBjaGFuZ2VzIHRoYXQgYWRhcHQgdG8gTWljaGFsIHNob3J0bHkg YXMgYW55d2F5CnRodXMgaGF2ZSBiZWVuIHN1ZmZpY2llbnRseSB0ZXN0ZWQgYnkgbm93LgoKaHR0 cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9+Z2xpc3NlL2xpbnV4L2NvbW1pdC8/aD1obW0tNC4y MCZpZD03ODc4NWRjYjViYTA5MjRjMmM1ZTdiZTAyNzc5M2Y5OWViYmMzOWYzCmh0dHBzOi8vY2dp dC5mcmVlZGVza3RvcC5vcmcvfmdsaXNzZS9saW51eC9jb21taXQvP2g9aG1tLTQuMjAmaWQ9NGZj MjU1NzFkYzg5M2YyYjI3OGU5MGNkYTllNzFlMTM5ZTAxZGU3MAoKQ2hlZXJzLApKw6lyw7RtZQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt0-f200.google.com (mail-qt0-f200.google.com [209.85.216.200]) by kanga.kvack.org (Postfix) with ESMTP id A1EF76B291E for ; Fri, 24 Aug 2018 10:40:33 -0400 (EDT) Received: by mail-qt0-f200.google.com with SMTP id c6-v6so8054079qta.6 for ; Fri, 24 Aug 2018 07:40:33 -0700 (PDT) Received: from mx1.redhat.com (mx3-rdu2.redhat.com. [66.187.233.73]) by mx.google.com with ESMTPS id b15-v6si8194793qvl.31.2018.08.24.07.40.32 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Aug 2018 07:40:32 -0700 (PDT) Date: Fri, 24 Aug 2018 10:40:27 -0400 From: Jerome Glisse Subject: Re: [PATCH] mm, oom: distinguish blockable mode for mmu notifiers Message-ID: <20180824144027.GA4244@redhat.com> References: <20180716115058.5559-1-mhocko@kernel.org> <8cbfb09f-0c5a-8d43-1f5e-f3ff7612e289@I-love.SAKURA.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8cbfb09f-0c5a-8d43-1f5e-f3ff7612e289@I-love.SAKURA.ne.jp> Sender: owner-linux-mm@kvack.org List-ID: To: Tetsuo Handa Cc: Michal Hocko , Andrew Morton , LKML , linux-mm@kvack.org, Michal Hocko , "David (ChunMing) Zhou" , Paolo Bonzini , Radim =?utf-8?B?S3LEjW3DocWZ?= , Alex Deucher , David Airlie , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Doug Ledford , Jason Gunthorpe , Mike Marciniszyn , Dennis Dalessandro , Sudeep Dutt , Ashutosh Dixit , Dimitri Sivanich , Boris Ostrovsky , Juergen Gross , Andrea Arcangeli , Felix Kuehling , kvm@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-rdma@vger.kernel.org, xen-devel@lists.xenproject.org, Christian =?iso-8859-1?Q?K=F6nig?= , David Rientjes , Leon Romanovsky On Fri, Aug 24, 2018 at 07:54:19PM +0900, Tetsuo Handa wrote: > Two more worries for this patch. [...] > > > --- a/mm/hmm.c > > +++ b/mm/hmm.c > > @@ -177,16 +177,19 @@ static void hmm_release(struct mmu_notifier *mn, struct mm_struct *mm) > > up_write(&hmm->mirrors_sem); > > } > > > > -static void hmm_invalidate_range_start(struct mmu_notifier *mn, > > +static int hmm_invalidate_range_start(struct mmu_notifier *mn, > > struct mm_struct *mm, > > unsigned long start, > > - unsigned long end) > > + unsigned long end, > > + bool blockable) > > { > > struct hmm *hmm = mm->hmm; > > > > VM_BUG_ON(!hmm); > > > > atomic_inc(&hmm->sequence); > > + > > + return 0; > > } > > > > static void hmm_invalidate_range_end(struct mmu_notifier *mn, > > This assumes that hmm_invalidate_range_end() does not have memory > allocation dependency. But hmm_invalidate_range() from > hmm_invalidate_range_end() involves > > down_read(&hmm->mirrors_sem); > list_for_each_entry(mirror, &hmm->mirrors, list) > mirror->ops->sync_cpu_device_pagetables(mirror, action, > start, end); > up_read(&hmm->mirrors_sem); > > sequence. What is surprising is that there is no in-tree user who assigns > sync_cpu_device_pagetables field. > > $ grep -Fr sync_cpu_device_pagetables * > Documentation/vm/hmm.rst: /* sync_cpu_device_pagetables() - synchronize page tables > include/linux/hmm.h: * will get callbacks through sync_cpu_device_pagetables() operation (see > include/linux/hmm.h: /* sync_cpu_device_pagetables() - synchronize page tables > include/linux/hmm.h: void (*sync_cpu_device_pagetables)(struct hmm_mirror *mirror, > include/linux/hmm.h: * hmm_mirror_ops.sync_cpu_device_pagetables() callback, so that CPU page > mm/hmm.c: mirror->ops->sync_cpu_device_pagetables(mirror, action, > > That is, this API seems to be currently used by only out-of-tree users. Since > we can't check that nobody has memory allocation dependency, I think that > hmm_invalidate_range_start() should return -EAGAIN if blockable == false for now. So you can see update and user of this there: https://cgit.freedesktop.org/~glisse/linux/log/?h=hmm-intel-v00 https://cgit.freedesktop.org/~glisse/linux/log/?h=hmm-nouveau-v01 https://cgit.freedesktop.org/~glisse/linux/log/?h=hmm-radeon-v00 I am still working on Mellanox and AMD GPU patchset. I will post the HMM changes that adapt to Michal shortly as anyway thus have been sufficiently tested by now. https://cgit.freedesktop.org/~glisse/linux/commit/?h=hmm-4.20&id=78785dcb5ba0924c2c5e7be027793f99ebbc39f3 https://cgit.freedesktop.org/~glisse/linux/commit/?h=hmm-4.20&id=4fc25571dc893f2b278e90cda9e71e139e01de70 Cheers, Jerome 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 B5CDAC4321D for ; Fri, 24 Aug 2018 14:40:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6D7EC21523 for ; Fri, 24 Aug 2018 14:40:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6D7EC21523 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.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 S1727357AbeHXSPa (ORCPT ); Fri, 24 Aug 2018 14:15:30 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:52484 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726360AbeHXSPa (ORCPT ); Fri, 24 Aug 2018 14:15:30 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EAED5402332F; Fri, 24 Aug 2018 14:40:31 +0000 (UTC) Received: from redhat.com (ovpn-125-224.rdu2.redhat.com [10.10.125.224]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4EDE12156889; Fri, 24 Aug 2018 14:40:29 +0000 (UTC) Date: Fri, 24 Aug 2018 10:40:27 -0400 From: Jerome Glisse To: Tetsuo Handa Cc: Michal Hocko , Andrew Morton , LKML , linux-mm@kvack.org, Michal Hocko , "David (ChunMing) Zhou" , Paolo Bonzini , Radim =?utf-8?B?S3LEjW3DocWZ?= , Alex Deucher , David Airlie , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Doug Ledford , Jason Gunthorpe , Mike Marciniszyn , Dennis Dalessandro , Sudeep Dutt , Ashutosh Dixit , Dimitri Sivanich , Boris Ostrovsky , Juergen Gross , Andrea Arcangeli , Felix Kuehling , kvm@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-rdma@vger.kernel.org, xen-devel@lists.xenproject.org, Christian =?iso-8859-1?Q?K=F6nig?= , David Rientjes , Leon Romanovsky Subject: Re: [PATCH] mm, oom: distinguish blockable mode for mmu notifiers Message-ID: <20180824144027.GA4244@redhat.com> References: <20180716115058.5559-1-mhocko@kernel.org> <8cbfb09f-0c5a-8d43-1f5e-f3ff7612e289@I-love.SAKURA.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8cbfb09f-0c5a-8d43-1f5e-f3ff7612e289@I-love.SAKURA.ne.jp> User-Agent: Mutt/1.10.0 (2018-05-17) X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Fri, 24 Aug 2018 14:40:32 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Fri, 24 Aug 2018 14:40:32 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'jglisse@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Aug 24, 2018 at 07:54:19PM +0900, Tetsuo Handa wrote: > Two more worries for this patch. [...] > > > --- a/mm/hmm.c > > +++ b/mm/hmm.c > > @@ -177,16 +177,19 @@ static void hmm_release(struct mmu_notifier *mn, struct mm_struct *mm) > > up_write(&hmm->mirrors_sem); > > } > > > > -static void hmm_invalidate_range_start(struct mmu_notifier *mn, > > +static int hmm_invalidate_range_start(struct mmu_notifier *mn, > > struct mm_struct *mm, > > unsigned long start, > > - unsigned long end) > > + unsigned long end, > > + bool blockable) > > { > > struct hmm *hmm = mm->hmm; > > > > VM_BUG_ON(!hmm); > > > > atomic_inc(&hmm->sequence); > > + > > + return 0; > > } > > > > static void hmm_invalidate_range_end(struct mmu_notifier *mn, > > This assumes that hmm_invalidate_range_end() does not have memory > allocation dependency. But hmm_invalidate_range() from > hmm_invalidate_range_end() involves > > down_read(&hmm->mirrors_sem); > list_for_each_entry(mirror, &hmm->mirrors, list) > mirror->ops->sync_cpu_device_pagetables(mirror, action, > start, end); > up_read(&hmm->mirrors_sem); > > sequence. What is surprising is that there is no in-tree user who assigns > sync_cpu_device_pagetables field. > > $ grep -Fr sync_cpu_device_pagetables * > Documentation/vm/hmm.rst: /* sync_cpu_device_pagetables() - synchronize page tables > include/linux/hmm.h: * will get callbacks through sync_cpu_device_pagetables() operation (see > include/linux/hmm.h: /* sync_cpu_device_pagetables() - synchronize page tables > include/linux/hmm.h: void (*sync_cpu_device_pagetables)(struct hmm_mirror *mirror, > include/linux/hmm.h: * hmm_mirror_ops.sync_cpu_device_pagetables() callback, so that CPU page > mm/hmm.c: mirror->ops->sync_cpu_device_pagetables(mirror, action, > > That is, this API seems to be currently used by only out-of-tree users. Since > we can't check that nobody has memory allocation dependency, I think that > hmm_invalidate_range_start() should return -EAGAIN if blockable == false for now. So you can see update and user of this there: https://cgit.freedesktop.org/~glisse/linux/log/?h=hmm-intel-v00 https://cgit.freedesktop.org/~glisse/linux/log/?h=hmm-nouveau-v01 https://cgit.freedesktop.org/~glisse/linux/log/?h=hmm-radeon-v00 I am still working on Mellanox and AMD GPU patchset. I will post the HMM changes that adapt to Michal shortly as anyway thus have been sufficiently tested by now. https://cgit.freedesktop.org/~glisse/linux/commit/?h=hmm-4.20&id=78785dcb5ba0924c2c5e7be027793f99ebbc39f3 https://cgit.freedesktop.org/~glisse/linux/commit/?h=hmm-4.20&id=4fc25571dc893f2b278e90cda9e71e139e01de70 Cheers, Jérôme