From patchwork Tue Jul 18 08:26:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vivek Kasireddy X-Patchwork-Id: 13316886 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6DB44EB64DA for ; Tue, 18 Jul 2023 08:47:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A92726B0071; Tue, 18 Jul 2023 04:47:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A42E36B0074; Tue, 18 Jul 2023 04:47:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 909CE8D0001; Tue, 18 Jul 2023 04:47:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 844386B0071 for ; Tue, 18 Jul 2023 04:47:04 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 4BCAC160269 for ; Tue, 18 Jul 2023 08:47:04 +0000 (UTC) X-FDA: 81024102768.26.1CD55E9 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by imf21.hostedemail.com (Postfix) with ESMTP id BB0271C0019 for ; Tue, 18 Jul 2023 08:47:00 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=nANI10SK; spf=pass (imf21.hostedemail.com: domain of vivek.kasireddy@intel.com designates 192.55.52.115 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689670021; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=fOquQyeRuZCvr2fVsoBb0b98BgSseXTenjrCU1x8HxE=; b=rvXq81LL1R8ht49Nzbe+U9PHXDIdyvdYXMJaq5r27j7EKCg5IFssFSjT/lvIbdm0BP9+SF RShHBdqEYjRUJ/lTg7rVtVVhnmJUIEbZn6DsyRpNtYJj1LAXH9giE/rgUzRtUCAG6publs 3/9LPoJMUq7AJWk6rBw9MYUcPjW3BK4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689670021; a=rsa-sha256; cv=none; b=sXGnEhChObhYm3tUm5qXyyJxL5Q4dJcMKqDYm3auOSR4nPK8qZAyU2qSUwgiKTGZ4YffEw P3mwy9wp97d99TDwLWDRoZKlugEIbEnrYXlO5+WQ/wUcei72DWtpTO78mX/6ypvnbuMJCO q3I73fVKRb6OHKXQdCtAzLxVV8kJu8E= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=nANI10SK; spf=pass (imf21.hostedemail.com: domain of vivek.kasireddy@intel.com designates 192.55.52.115 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689670020; x=1721206020; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=VBDSDrMzkUOfhSe9ZcFP2Hr+jGGs8FvQAYuqRh7Sfbw=; b=nANI10SKF/ISL70SNuGrf4n0t7VtEUp3Gi31ywL30b56KizQlKN5vaXF gnwgjeqyk3W9hNK/IFWHQE9tHxh9fakAHJmxir1ghwhmqP50ySk0Y7IB3 eqSL1khIjVTa7+OZVMJLiFLtSd21A31g1nh0BhgyaE+PTWe4AQBgT2s/a xmifS17W4t1kY2wy1jKmqATKtLHU54v9G8bdvx0PHwyOoqWLXRtE9WgVg zlYWJyLhyVp+RcJKJdJkllRbRkMklbrqx8MsJF08rw1p16TVvGaqf+aSD Zf/u0LPaiv64bdQOfXN3k/ZFyAVZaVOm0it4+hjcdOAOYZCBEJFEMDpJ5 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="366191282" X-IronPort-AV: E=Sophos;i="6.01,213,1684825200"; d="scan'208";a="366191282" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jul 2023 01:46:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="723532666" X-IronPort-AV: E=Sophos;i="6.01,213,1684825200"; d="scan'208";a="723532666" Received: from vkasired-desk2.fm.intel.com ([10.105.128.127]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jul 2023 01:46:58 -0700 From: Vivek Kasireddy To: dri-devel@lists.freedesktop.org, linux-mm@kvack.org Cc: Vivek Kasireddy , David Hildenbrand , Mike Kravetz , Hugh Dickins , Peter Xu , Jason Gunthorpe , Gerd Hoffmann , Dongwon Kim , Junxiao Chang Subject: [PATCH v2 0/2] udmabuf: Add back support for mapping hugetlb pages (v2) Date: Tue, 18 Jul 2023 01:26:03 -0700 Message-Id: <20230718082605.1570740-1-vivek.kasireddy@intel.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Rspamd-Queue-Id: BB0271C0019 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 76t154ggi8jkoe3omrbse1xant1fr913 X-HE-Tag: 1689670020-994129 X-HE-Meta: U2FsdGVkX1+Sg25GIv3Uq9L2WCMkvaGRb3XC9zgXvus+oN1CNoMQpXa4NcO9kk7HNuhU2Oenqd7h4T/I6awqgoiaCSJes3LDcXbKtPOTXY+mutGlToPXxqNTRAVdGhD42h5QZ/zYobcnxtAMyXiMtoBBqRHdVxVdQ6+GzRAMVaD1EM8LlBwUD5h0IiQwdk48qzMB4NJiDanpkmivJtkD7O7lm5WMU4DP8+V4xDUCITioTGrr6vTd4cv8vuH2dTEzEVq32Pt41mw2n9Yay0Egv/SINNyAKs6ib1bIAsiJ7+uUQV7+CquzhK25qHkK1qUiLo+FM97+7sk/zmueevN+KPCXaYcX1mSbT2Qr4gyfrYMg67yj/cJSF0qXkqp6YdORbVdOJQ2So8YtPCz8XYBea2xWbOSrQaoiHiXiMPnFgarHs9V2yxaYuK5JdXQFvQqTmHJp+lcMluII/3N9jbJ/GcwuYYCyT8OxRxLOeu82QSBDDHMsRvmwa9NRHfCuiZQBj5d44dWGZnexLgo0PsaU138E+SjRMQlSNpYgBAq3QdghOxdkGmlCrR9jk5h8iOmJ/m55d3KHeCiV06RgCr+iEafKVFCRRJfOY3vEtxWMbOotzkRnyLxYVhEzvKl4SCfX5jTRp95soZOIRzsaU4/wQ5AZ6457Q7hm9Umd61RscJv54o5Ov/Kiq/jd6pMwrbxSGrKLo2SiB8rJ407o+MEjJEeMROK3/XOtzBpA+BASQH99ihoypoUZzbbl+h9ZmJsEmYc6XHKc6QMCMVB9feThvzmvZUe3kLkOBmre4Q54vT6foYZrI13L6ZKraNDMOWrZUCCQPiw3prKEZ04Hv7Frrolgx3F5wUKKlZXiYgkyIuYPYBIzCjBSIhWRJ1FZYhrnJUolN02IQXXZZO89nsccjQvE3juJuKTad/RYGoPrq/NqUT1F/4Ltv0FGy+SbCIpEe5ieLqmN9SK0vfo74Xp RCjez6Ya Lb4cVniWuZkGqPo+i3VOIcZ1fgNbdNuSeDLenmyUMwsglI9/9d52sEbXTP5uWgKraFPCfXYf/NC8hnXjEsTu1WddLWalLGqTDKx9+n2VltJM7ivbUTUf27/ZVwYERZgFJ7FzZ4BGDmOJnryg9JtjxudZ5Sviz5BvqY+OfnwTplnkzdJNkOU/DdEewwlEzaMOsrco9pPSp6f3xWU9F+wrzznCh8I8ide07UHIo/fJ9HkZENbG6Pw13JbDMjg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: The first patch ensures that the mappings needed for handling mmap operation would be managed by using the pfn instead of struct page. The second patch restores support for mapping hugetlb pages where subpages of a hugepage are not directly used anymore (main reason for revert) and instead the hugetlb pages and the relevant offsets are used to populate the scatterlist for dma-buf export and for mmap operation. Testcase: default_hugepagesz=2M hugepagesz=2M hugepages=2500 options were passed to the Host kernel and Qemu was launched with these relevant options: qemu-system-x86_64 -m 4096m.... -device virtio-gpu-pci,max_outputs=1,blob=true,xres=1920,yres=1080 -display gtk,gl=on -object memory-backend-memfd,hugetlb=on,id=mem1,size=4096M -machine memory-backend=mem1 Replacing -display gtk,gl=on with -display gtk,gl=off above would exercise the mmap handler. v2: Updated the second patch to manually populate the scatterlist Cc: David Hildenbrand Cc: Mike Kravetz Cc: Hugh Dickins Cc: Peter Xu Cc: Jason Gunthorpe ` Cc: Gerd Hoffmann Cc: Dongwon Kim Cc: Junxiao Chang Vivek Kasireddy (2): udmabuf: Use vmf_insert_pfn and VM_PFNMAP for handling mmap udmabuf: Add back support for mapping hugetlb pages (v2) drivers/dma-buf/udmabuf.c | 92 ++++++++++++++++++++++++++++++++------- 1 file changed, 76 insertions(+), 16 deletions(-)