From patchwork Thu Aug 17 06:46:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vivek Kasireddy X-Patchwork-Id: 13356020 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 50D29C2FC0E for ; Thu, 17 Aug 2023 07:07:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 117E26B0075; Thu, 17 Aug 2023 03:07:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C7C6280009; Thu, 17 Aug 2023 03:07:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ED1D86B0080; Thu, 17 Aug 2023 03:07:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id DBFDB6B007E for ; Thu, 17 Aug 2023 03:07:49 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 6A4D11A0EF5 for ; Thu, 17 Aug 2023 07:07:47 +0000 (UTC) X-FDA: 81132716574.12.267FC78 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by imf06.hostedemail.com (Postfix) with ESMTP id 34965180007 for ; Thu, 17 Aug 2023 07:07:43 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Q0B1GlN7; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf06.hostedemail.com: domain of vivek.kasireddy@intel.com designates 134.134.136.126 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692256065; 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=6N9CeloZ59DEQaP6Po4LWkk3sNbyzYi10YvPWXJ/LuA=; b=iTWxKAjXfS2AozivvBfm5+b5k3L+l2xxKXQLY2aWPDQ6yGHa1Lcndlxb1KhuPw+9Zwa7I/ v3BVTl3uroKjRh56QZSX6Sd+jN3hOnV6bH0/5lq71mmbQqaltZ6Vjs+0tDMtkyUeWKV+Wk Z79byg6AVQNESp1dab3hjnqt/O+t450= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Q0B1GlN7; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf06.hostedemail.com: domain of vivek.kasireddy@intel.com designates 134.134.136.126 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692256065; a=rsa-sha256; cv=none; b=u88Ze4TFf/rbDFHq6+964RqYt+Kfh+Z7F68MMpnKOwjAzgfDvtOpK0FmGBcIBff7c1jaaA UcRLdsah44d0t/2mYq2qCa8XMLP5iIeU+D74J9dgq4ClAE8OFDDT/DfwQ8VjOgmp3ZVjwP nGSqXYVFBUgKB0sS8S/5lN+ew05pSHo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692256064; x=1723792064; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=AYQerLR/X/IZ6Z/nENPeMrAhM6+yQUwckeympg8jWbw=; b=Q0B1GlN7fXaUNzsMnwO1v0DALqj+LvQdEXKJu8zJqxP4aP9VzcoAWGU/ GN1jtUqqxk9TtwHYSAdXGTR+JOr89SYMSpZGn/CVRVbMOKeAV+ruC/6Vx UooaqNteMg73lQL6OE06nmIi4aCvVTDEVedVhqzdsUq+/UBabkTbJz8fu gXr6X6BNvYGYWf6xRO06EmYt32LeVvJqu2zETCu+9VV+3KK7lm1RdRMo8 XzaKc4ql+OnDTGBSKFm2X1uo3qCMOC1aqq6b4TOdFIpQWs7z9VBnoNw8m UrQ5J0QH0UTI7GQHx+yRX1u899wvKq0r1Lb7Dc4ZhkOUlBS4517mY/54N A==; X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="357697941" X-IronPort-AV: E=Sophos;i="6.01,179,1684825200"; d="scan'208";a="357697941" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2023 00:07:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="799913423" X-IronPort-AV: E=Sophos;i="6.01,179,1684825200"; d="scan'208";a="799913423" Received: from vkasired-desk2.fm.intel.com ([10.105.128.127]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2023 00:07:41 -0700 From: Vivek Kasireddy To: dri-devel@lists.freedesktop.org, linux-mm@kvack.org Cc: Vivek Kasireddy , David Hildenbrand , Daniel Vetter , Mike Kravetz , Hugh Dickins , Peter Xu , Jason Gunthorpe , Gerd Hoffmann , Dongwon Kim , Junxiao Chang Subject: [PATCH v3 0/2] udmabuf: Add back support for mapping hugetlb pages (v3) Date: Wed, 16 Aug 2023 23:46:21 -0700 Message-Id: <20230817064623.3424348-1-vivek.kasireddy@intel.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 34965180007 X-Stat-Signature: faeayguu9tqtr33p5ede98h4d9br7twy X-Rspam-User: X-HE-Tag: 1692256063-798347 X-HE-Meta: U2FsdGVkX18OCQQ4o2neK+hswxS3hPaU+fnMy5rgrkHZ/O0AEmDWiy/sdLIC+2NjhkMIzE/F52AiHQ4iIy2oHWlQ6lh3E7KwXl9TF0WAyk/BghcCvmPTQBRUyyRl4NsZ3Izwo0fcEOMJ2TNasqgsSaHI+cMGhiaFqOgqV/LO8aiP+UaJkOzLXwBt3+o1ZlviB5K3vB4CQK9djU9oDV66GhNrmF8WDNYtD7iuEZemYb8RI9E0gK3mpUKGxFS4YY2DGiYmpkP6DzahPuONoPnywn9UHdSsW+v16XYtOZaqUMJCqqgXqzvaHfoxvQI4HKhqW5kKhmD67AhICdJc1dCaE9nJxYAY43WCZGuMF+xhtn+6Xp7YSC3sXCWtTUZf2yqvXAPJ1uOq9+/65UgS1/VRV71jQl+PIAGfDnHBrIBfKmWkzOtGdQ3VDQsZUF0oXgkCX2OXgoqidiGWESFnbuW8L7RkiDHJAhB2wMPTiC22P3Z/K9XnbThjmNOB2Ckuw66gIMbCWMMBmEtmYPBOwzAapyvn+Ulo7spRVX942m3IRI8z3kZWTT7BdIuKWFtEkUe6jNCkGEQEe7Rgn6uSLw5uxQyCc39j6yrXdd8RbUXYKsAIKi4yBL2KTcMYlkVNlLWoInM6wlqt5VdjyIvikmGiv3eN/1smPdoRrEU6jyBOIdXFvtl7U9RHl0Bo/HcYvsLM9+cqsjbe2Jy3mkhl05FV3CjO90HBDj1pxMQcG1Qv/6Ukd7mW+tPLPuK2Lyg0a7c3ghtgt26gO6FAjzt2858oYU9jYTMv7HKpXBWr46JeG/PsDPVT5TWnwoXbeMX0BB9qAttoBsChTnLUXy9IyO2w/DFYrSwmycH32shwYQDCb1UTZElkr4PNOyEpSbn8EJTKnrh9pG9O8sos5r7C0ZUZKMvxxYfkH4GYfTDxZZw6tL3rQyZLICG/DrSAB3ug24rL5mCTtG+BaYmyruSu4H4 4LijGOSy ZPIscPLIunQwqP6f/MFKcQecS++NXECE9ayASEifjlzOta7/DZaNiC5gnyuSmt/QSz4zcLUvQJAto84prroevfScLbES/IkbMYwkZH6LfTW4O6WKNAnvykNHxCa91yCqkftIUQBm2rbue6B7TjBWweGkN2QPaVEbxAd2bn2vXZAUQG0iCKjjAUHsPEWvoYj0hF1JbtxzF5ROiIYLjOb2H3rga8czP9V0dLVn6mD9cF8GQ9hgpZIXG+HVdJKf5Xu7IOqSe 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. v3: Replaced the fields offsets with subpgoff and hpoff with mapidx in the second patch. This should not cause any functional changes. Cc: David Hildenbrand Cc: Daniel Vetter 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 (v3) drivers/dma-buf/udmabuf.c | 93 ++++++++++++++++++++++++++++++++------- 1 file changed, 77 insertions(+), 16 deletions(-)