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.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no 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 58DC4C432C0 for ; Tue, 19 Nov 2019 11:37:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3CCE420679 for ; Tue, 19 Nov 2019 11:37:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727964AbfKSLh5 (ORCPT ); Tue, 19 Nov 2019 06:37:57 -0500 Received: from mx2.suse.de ([195.135.220.15]:35362 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727557AbfKSLh5 (ORCPT ); Tue, 19 Nov 2019 06:37:57 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 8BC3DBCC5; Tue, 19 Nov 2019 11:37:52 +0000 (UTC) Received: by quack2.suse.cz (Postfix, from userid 1000) id 1D7961E47E5; Tue, 19 Nov 2019 12:37:46 +0100 (CET) Date: Tue, 19 Nov 2019 12:37:46 +0100 From: Jan Kara To: John Hubbard Cc: Andrew Morton , Al Viro , Alex Williamson , Benjamin Herrenschmidt , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , Christoph Hellwig , Dan Williams , Daniel Vetter , Dave Chinner , David Airlie , "David S . Miller" , Ira Weiny , Jan Kara , Jason Gunthorpe , Jens Axboe , Jonathan Corbet , =?iso-8859-1?B?Suly9G1l?= Glisse , Magnus Karlsson , Mauro Carvalho Chehab , Michael Ellerman , Michal Hocko , Mike Kravetz , Paul Mackerras , Shuah Khan , Vlastimil Babka , bpf@vger.kernel.org, dri-devel@lists.freedesktop.org, kvm@vger.kernel.org, linux-block@vger.kernel.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-media@vger.kernel.org, linux-rdma@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, netdev@vger.kernel.org, linux-mm@kvack.org, LKML Subject: Re: [PATCH v6 17/24] mm/gup: track FOLL_PIN pages Message-ID: <20191119113746.GD25605@quack2.suse.cz> References: <20191119081643.1866232-1-jhubbard@nvidia.com> <20191119081643.1866232-18-jhubbard@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191119081643.1866232-18-jhubbard@nvidia.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org On Tue 19-11-19 00:16:36, John Hubbard wrote: > @@ -2025,6 +2149,20 @@ static int __record_subpages(struct page *page, unsigned long addr, > return nr; > } > > +static bool __pin_compound_head(struct page *head, int refs, unsigned int flags) > +{ I don't quite like the proliferation of names starting with __. I don't think there's a good reason for that, particularly in this case. Also 'pin' here is somewhat misleading as we already use term "pin" for the particular way of pinning the page. We could have grab_compound_head() or maybe nail_compound_head() :), but you're native speaker so you may come up with better word. > + if (flags & FOLL_PIN) { > + if (unlikely(!try_pin_compound_head(head, refs))) > + return false; > + } else { > + head = try_get_compound_head(head, refs); > + if (!head) > + return false; > + } > + > + return true; > +} > + > static void put_compound_head(struct page *page, int refs) > { > /* Do a get_page() first, in case refs == page->_refcount */ put_compound_head() needs similar treatment as undo_dev_pagemap(), doesn't it? > @@ -968,7 +973,18 @@ struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, > if (!*pgmap) > return ERR_PTR(-EFAULT); > page = pfn_to_page(pfn); > - get_page(page); > + > + if (flags & FOLL_GET) > + get_page(page); > + else if (flags & FOLL_PIN) { > + /* > + * try_pin_page() is not actually expected to fail here because > + * we hold the pmd lock so no one can unmap the pmd and free the > + * page that it points to. > + */ > + if (unlikely(!try_pin_page(page))) > + page = ERR_PTR(-EFAULT); > + } This pattern is rather common. So maybe I'd add a helper grab_page(page, flags) doing if (flags & FOLL_GET) get_page(page); else if (flags & FOLL_PIN) return try_pin_page(page); return true; Otherwise the patch looks good to me now. Honza -- Jan Kara SUSE Labs, CR 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.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no 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 7B373C432C0 for ; Tue, 19 Nov 2019 11:41:09 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (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 E84392067D for ; Tue, 19 Nov 2019 11:41:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E84392067D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 47HP6B1CDfzDqGm for ; Tue, 19 Nov 2019 22:41:06 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=suse.cz (client-ip=195.135.220.15; helo=mx1.suse.de; envelope-from=jack@suse.cz; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.cz Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 47HP2Y4VZNzDqNj for ; Tue, 19 Nov 2019 22:37:56 +1100 (AEDT) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 8BC3DBCC5; Tue, 19 Nov 2019 11:37:52 +0000 (UTC) Received: by quack2.suse.cz (Postfix, from userid 1000) id 1D7961E47E5; Tue, 19 Nov 2019 12:37:46 +0100 (CET) Date: Tue, 19 Nov 2019 12:37:46 +0100 From: Jan Kara To: John Hubbard Subject: Re: [PATCH v6 17/24] mm/gup: track FOLL_PIN pages Message-ID: <20191119113746.GD25605@quack2.suse.cz> References: <20191119081643.1866232-1-jhubbard@nvidia.com> <20191119081643.1866232-18-jhubbard@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191119081643.1866232-18-jhubbard@nvidia.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Michal Hocko , Jan Kara , kvm@vger.kernel.org, linux-doc@vger.kernel.org, David Airlie , Dave Chinner , dri-devel@lists.freedesktop.org, LKML , linux-mm@kvack.org, Paul Mackerras , linux-kselftest@vger.kernel.org, Ira Weiny , Jonathan Corbet , linux-rdma@vger.kernel.org, Christoph Hellwig , Jason Gunthorpe , Vlastimil Babka , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , linux-media@vger.kernel.org, Shuah Khan , linux-block@vger.kernel.org, =?iso-8859-1?B?Suly9G1l?= Glisse , Al Viro , Dan Williams , Mauro Carvalho Chehab , bpf@vger.kernel.org, Magnus Karlsson , Jens Axboe , netdev@vger.kernel.org, Alex Williamson , Daniel Vetter , linux-fsdevel@vger.kernel.org, Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S . Miller" , Mike Kravetz Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Tue 19-11-19 00:16:36, John Hubbard wrote: > @@ -2025,6 +2149,20 @@ static int __record_subpages(struct page *page, unsigned long addr, > return nr; > } > > +static bool __pin_compound_head(struct page *head, int refs, unsigned int flags) > +{ I don't quite like the proliferation of names starting with __. I don't think there's a good reason for that, particularly in this case. Also 'pin' here is somewhat misleading as we already use term "pin" for the particular way of pinning the page. We could have grab_compound_head() or maybe nail_compound_head() :), but you're native speaker so you may come up with better word. > + if (flags & FOLL_PIN) { > + if (unlikely(!try_pin_compound_head(head, refs))) > + return false; > + } else { > + head = try_get_compound_head(head, refs); > + if (!head) > + return false; > + } > + > + return true; > +} > + > static void put_compound_head(struct page *page, int refs) > { > /* Do a get_page() first, in case refs == page->_refcount */ put_compound_head() needs similar treatment as undo_dev_pagemap(), doesn't it? > @@ -968,7 +973,18 @@ struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, > if (!*pgmap) > return ERR_PTR(-EFAULT); > page = pfn_to_page(pfn); > - get_page(page); > + > + if (flags & FOLL_GET) > + get_page(page); > + else if (flags & FOLL_PIN) { > + /* > + * try_pin_page() is not actually expected to fail here because > + * we hold the pmd lock so no one can unmap the pmd and free the > + * page that it points to. > + */ > + if (unlikely(!try_pin_page(page))) > + page = ERR_PTR(-EFAULT); > + } This pattern is rather common. So maybe I'd add a helper grab_page(page, flags) doing if (flags & FOLL_GET) get_page(page); else if (flags & FOLL_PIN) return try_pin_page(page); return true; Otherwise the patch looks good to me now. Honza -- Jan Kara SUSE Labs, CR From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kara Subject: Re: [PATCH v6 17/24] mm/gup: track FOLL_PIN pages Date: Tue, 19 Nov 2019 12:37:46 +0100 Message-ID: <20191119113746.GD25605@quack2.suse.cz> References: <20191119081643.1866232-1-jhubbard@nvidia.com> <20191119081643.1866232-18-jhubbard@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 54A666E89E for ; Tue, 19 Nov 2019 11:37:55 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191119081643.1866232-18-jhubbard@nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: John Hubbard Cc: Michal Hocko , Jan Kara , kvm@vger.kernel.org, linux-doc@vger.kernel.org, David Airlie , Dave Chinner , dri-devel@lists.freedesktop.org, LKML , linux-mm@kvack.org, Paul Mackerras , linux-kselftest@vger.kernel.org, Ira Weiny , Jonathan Corbet , linux-rdma@vger.kernel.org, Michael Ellerman , Christoph Hellwig , Jason Gunthorpe , Vlastimil Babka , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , linux-media@vger.kernel.org, Shuah Khan , linux-block@vger.kernel.org, =?iso-8859-1?B?Suly9G1l?= Glisse , Al Viro , Dan Williams , Mauro Carvalho Chehab List-Id: dri-devel@lists.freedesktop.org T24gVHVlIDE5LTExLTE5IDAwOjE2OjM2LCBKb2huIEh1YmJhcmQgd3JvdGU6Cj4gQEAgLTIwMjUs NiArMjE0OSwyMCBAQCBzdGF0aWMgaW50IF9fcmVjb3JkX3N1YnBhZ2VzKHN0cnVjdCBwYWdlICpw YWdlLCB1bnNpZ25lZCBsb25nIGFkZHIsCj4gIAlyZXR1cm4gbnI7Cj4gIH0KPiAgCj4gK3N0YXRp YyBib29sIF9fcGluX2NvbXBvdW5kX2hlYWQoc3RydWN0IHBhZ2UgKmhlYWQsIGludCByZWZzLCB1 bnNpZ25lZCBpbnQgZmxhZ3MpCj4gK3sKCkkgZG9uJ3QgcXVpdGUgbGlrZSB0aGUgcHJvbGlmZXJh dGlvbiBvZiBuYW1lcyBzdGFydGluZyB3aXRoIF9fLiBJIGRvbid0CnRoaW5rIHRoZXJlJ3MgYSBn b29kIHJlYXNvbiBmb3IgdGhhdCwgcGFydGljdWxhcmx5IGluIHRoaXMgY2FzZS4gQWxzbyAncGlu JwpoZXJlIGlzIHNvbWV3aGF0IG1pc2xlYWRpbmcgYXMgd2UgYWxyZWFkeSB1c2UgdGVybSAicGlu IiBmb3IgdGhlIHBhcnRpY3VsYXIKd2F5IG9mIHBpbm5pbmcgdGhlIHBhZ2UuIFdlIGNvdWxkIGhh dmUgZ3JhYl9jb21wb3VuZF9oZWFkKCkgb3IgbWF5YmUKbmFpbF9jb21wb3VuZF9oZWFkKCkgOiks IGJ1dCB5b3UncmUgbmF0aXZlIHNwZWFrZXIgc28geW91IG1heSBjb21lIHVwIHdpdGgKYmV0dGVy IHdvcmQuCgo+ICsJaWYgKGZsYWdzICYgRk9MTF9QSU4pIHsKPiArCQlpZiAodW5saWtlbHkoIXRy eV9waW5fY29tcG91bmRfaGVhZChoZWFkLCByZWZzKSkpCj4gKwkJCXJldHVybiBmYWxzZTsKPiAr CX0gZWxzZSB7Cj4gKwkJaGVhZCA9IHRyeV9nZXRfY29tcG91bmRfaGVhZChoZWFkLCByZWZzKTsK PiArCQlpZiAoIWhlYWQpCj4gKwkJCXJldHVybiBmYWxzZTsKPiArCX0KPiArCj4gKwlyZXR1cm4g dHJ1ZTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgcHV0X2NvbXBvdW5kX2hlYWQoc3RydWN0IHBh Z2UgKnBhZ2UsIGludCByZWZzKQo+ICB7Cj4gIAkvKiBEbyBhIGdldF9wYWdlKCkgZmlyc3QsIGlu IGNhc2UgcmVmcyA9PSBwYWdlLT5fcmVmY291bnQgKi8KCnB1dF9jb21wb3VuZF9oZWFkKCkgbmVl ZHMgc2ltaWxhciB0cmVhdG1lbnQgYXMgdW5kb19kZXZfcGFnZW1hcCgpLCBkb2Vzbid0Cml0PwoK PiBAQCAtOTY4LDcgKzk3MywxOCBAQCBzdHJ1Y3QgcGFnZSAqZm9sbG93X2Rldm1hcF9wbWQoc3Ry dWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgYWRkciwKPiAgCWlmICghKnBn bWFwKQo+ICAJCXJldHVybiBFUlJfUFRSKC1FRkFVTFQpOwo+ICAJcGFnZSA9IHBmbl90b19wYWdl KHBmbik7Cj4gLQlnZXRfcGFnZShwYWdlKTsKPiArCj4gKwlpZiAoZmxhZ3MgJiBGT0xMX0dFVCkK PiArCQlnZXRfcGFnZShwYWdlKTsKPiArCWVsc2UgaWYgKGZsYWdzICYgRk9MTF9QSU4pIHsKPiAr CQkvKgo+ICsJCSAqIHRyeV9waW5fcGFnZSgpIGlzIG5vdCBhY3R1YWxseSBleHBlY3RlZCB0byBm YWlsIGhlcmUgYmVjYXVzZQo+ICsJCSAqIHdlIGhvbGQgdGhlIHBtZCBsb2NrIHNvIG5vIG9uZSBj YW4gdW5tYXAgdGhlIHBtZCBhbmQgZnJlZSB0aGUKPiArCQkgKiBwYWdlIHRoYXQgaXQgcG9pbnRz IHRvLgo+ICsJCSAqLwo+ICsJCWlmICh1bmxpa2VseSghdHJ5X3Bpbl9wYWdlKHBhZ2UpKSkKPiAr CQkJcGFnZSA9IEVSUl9QVFIoLUVGQVVMVCk7Cj4gKwl9CgpUaGlzIHBhdHRlcm4gaXMgcmF0aGVy IGNvbW1vbi4gU28gbWF5YmUgSSdkIGFkZCBhIGhlbHBlciBncmFiX3BhZ2UocGFnZSwKZmxhZ3Mp IGRvaW5nCgoJaWYgKGZsYWdzICYgRk9MTF9HRVQpCgkJZ2V0X3BhZ2UocGFnZSk7CgllbHNlIGlm IChmbGFncyAmIEZPTExfUElOKQoJCXJldHVybiB0cnlfcGluX3BhZ2UocGFnZSk7CglyZXR1cm4g dHJ1ZTsKCk90aGVyd2lzZSB0aGUgcGF0Y2ggbG9va3MgZ29vZCB0byBtZSBub3cuCgoJCQkJCQkJ CUhvbnphCi0tIApKYW4gS2FyYSA8amFja0BzdXNlLmNvbT4KU1VTRSBMYWJzLCBDUgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw= 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.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 D487AC432C0 for ; Tue, 19 Nov 2019 11:37:57 +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 B6A8F2067D for ; Tue, 19 Nov 2019 11:37:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B6A8F2067D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz 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 2C16A6E89E; Tue, 19 Nov 2019 11:37:57 +0000 (UTC) Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 54A666E89E for ; Tue, 19 Nov 2019 11:37:55 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 8BC3DBCC5; Tue, 19 Nov 2019 11:37:52 +0000 (UTC) Received: by quack2.suse.cz (Postfix, from userid 1000) id 1D7961E47E5; Tue, 19 Nov 2019 12:37:46 +0100 (CET) Date: Tue, 19 Nov 2019 12:37:46 +0100 From: Jan Kara To: John Hubbard Subject: Re: [PATCH v6 17/24] mm/gup: track FOLL_PIN pages Message-ID: <20191119113746.GD25605@quack2.suse.cz> References: <20191119081643.1866232-1-jhubbard@nvidia.com> <20191119081643.1866232-18-jhubbard@nvidia.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191119081643.1866232-18-jhubbard@nvidia.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Michal Hocko , Jan Kara , kvm@vger.kernel.org, linux-doc@vger.kernel.org, David Airlie , Dave Chinner , dri-devel@lists.freedesktop.org, LKML , linux-mm@kvack.org, Paul Mackerras , linux-kselftest@vger.kernel.org, Ira Weiny , Jonathan Corbet , linux-rdma@vger.kernel.org, Michael Ellerman , Christoph Hellwig , Jason Gunthorpe , Vlastimil Babka , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , linux-media@vger.kernel.org, Shuah Khan , linux-block@vger.kernel.org, =?iso-8859-1?B?Suly9G1l?= Glisse , Al Viro , Dan Williams , Mauro Carvalho Chehab , bpf@vger.kernel.org, Magnus Karlsson , Jens Axboe , netdev@vger.kernel.org, Alex Williamson , linux-fsdevel@vger.kernel.org, Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S . Miller" , Mike Kravetz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191119113746.HGn6fxHW08H8x7YVOqznMeQZDWLJGjk4pv7z81woWMI@z> T24gVHVlIDE5LTExLTE5IDAwOjE2OjM2LCBKb2huIEh1YmJhcmQgd3JvdGU6Cj4gQEAgLTIwMjUs NiArMjE0OSwyMCBAQCBzdGF0aWMgaW50IF9fcmVjb3JkX3N1YnBhZ2VzKHN0cnVjdCBwYWdlICpw YWdlLCB1bnNpZ25lZCBsb25nIGFkZHIsCj4gIAlyZXR1cm4gbnI7Cj4gIH0KPiAgCj4gK3N0YXRp YyBib29sIF9fcGluX2NvbXBvdW5kX2hlYWQoc3RydWN0IHBhZ2UgKmhlYWQsIGludCByZWZzLCB1 bnNpZ25lZCBpbnQgZmxhZ3MpCj4gK3sKCkkgZG9uJ3QgcXVpdGUgbGlrZSB0aGUgcHJvbGlmZXJh dGlvbiBvZiBuYW1lcyBzdGFydGluZyB3aXRoIF9fLiBJIGRvbid0CnRoaW5rIHRoZXJlJ3MgYSBn b29kIHJlYXNvbiBmb3IgdGhhdCwgcGFydGljdWxhcmx5IGluIHRoaXMgY2FzZS4gQWxzbyAncGlu JwpoZXJlIGlzIHNvbWV3aGF0IG1pc2xlYWRpbmcgYXMgd2UgYWxyZWFkeSB1c2UgdGVybSAicGlu IiBmb3IgdGhlIHBhcnRpY3VsYXIKd2F5IG9mIHBpbm5pbmcgdGhlIHBhZ2UuIFdlIGNvdWxkIGhh dmUgZ3JhYl9jb21wb3VuZF9oZWFkKCkgb3IgbWF5YmUKbmFpbF9jb21wb3VuZF9oZWFkKCkgOiks IGJ1dCB5b3UncmUgbmF0aXZlIHNwZWFrZXIgc28geW91IG1heSBjb21lIHVwIHdpdGgKYmV0dGVy IHdvcmQuCgo+ICsJaWYgKGZsYWdzICYgRk9MTF9QSU4pIHsKPiArCQlpZiAodW5saWtlbHkoIXRy eV9waW5fY29tcG91bmRfaGVhZChoZWFkLCByZWZzKSkpCj4gKwkJCXJldHVybiBmYWxzZTsKPiAr CX0gZWxzZSB7Cj4gKwkJaGVhZCA9IHRyeV9nZXRfY29tcG91bmRfaGVhZChoZWFkLCByZWZzKTsK PiArCQlpZiAoIWhlYWQpCj4gKwkJCXJldHVybiBmYWxzZTsKPiArCX0KPiArCj4gKwlyZXR1cm4g dHJ1ZTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgcHV0X2NvbXBvdW5kX2hlYWQoc3RydWN0IHBh Z2UgKnBhZ2UsIGludCByZWZzKQo+ICB7Cj4gIAkvKiBEbyBhIGdldF9wYWdlKCkgZmlyc3QsIGlu IGNhc2UgcmVmcyA9PSBwYWdlLT5fcmVmY291bnQgKi8KCnB1dF9jb21wb3VuZF9oZWFkKCkgbmVl ZHMgc2ltaWxhciB0cmVhdG1lbnQgYXMgdW5kb19kZXZfcGFnZW1hcCgpLCBkb2Vzbid0Cml0PwoK PiBAQCAtOTY4LDcgKzk3MywxOCBAQCBzdHJ1Y3QgcGFnZSAqZm9sbG93X2Rldm1hcF9wbWQoc3Ry dWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgYWRkciwKPiAgCWlmICghKnBn bWFwKQo+ICAJCXJldHVybiBFUlJfUFRSKC1FRkFVTFQpOwo+ICAJcGFnZSA9IHBmbl90b19wYWdl KHBmbik7Cj4gLQlnZXRfcGFnZShwYWdlKTsKPiArCj4gKwlpZiAoZmxhZ3MgJiBGT0xMX0dFVCkK PiArCQlnZXRfcGFnZShwYWdlKTsKPiArCWVsc2UgaWYgKGZsYWdzICYgRk9MTF9QSU4pIHsKPiAr CQkvKgo+ICsJCSAqIHRyeV9waW5fcGFnZSgpIGlzIG5vdCBhY3R1YWxseSBleHBlY3RlZCB0byBm YWlsIGhlcmUgYmVjYXVzZQo+ICsJCSAqIHdlIGhvbGQgdGhlIHBtZCBsb2NrIHNvIG5vIG9uZSBj YW4gdW5tYXAgdGhlIHBtZCBhbmQgZnJlZSB0aGUKPiArCQkgKiBwYWdlIHRoYXQgaXQgcG9pbnRz IHRvLgo+ICsJCSAqLwo+ICsJCWlmICh1bmxpa2VseSghdHJ5X3Bpbl9wYWdlKHBhZ2UpKSkKPiAr CQkJcGFnZSA9IEVSUl9QVFIoLUVGQVVMVCk7Cj4gKwl9CgpUaGlzIHBhdHRlcm4gaXMgcmF0aGVy IGNvbW1vbi4gU28gbWF5YmUgSSdkIGFkZCBhIGhlbHBlciBncmFiX3BhZ2UocGFnZSwKZmxhZ3Mp IGRvaW5nCgoJaWYgKGZsYWdzICYgRk9MTF9HRVQpCgkJZ2V0X3BhZ2UocGFnZSk7CgllbHNlIGlm IChmbGFncyAmIEZPTExfUElOKQoJCXJldHVybiB0cnlfcGluX3BhZ2UocGFnZSk7CglyZXR1cm4g dHJ1ZTsKCk90aGVyd2lzZSB0aGUgcGF0Y2ggbG9va3MgZ29vZCB0byBtZSBub3cuCgoJCQkJCQkJ CUhvbnphCi0tIApKYW4gS2FyYSA8amFja0BzdXNlLmNvbT4KU1VTRSBMYWJzLCBDUgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=