From patchwork Thu Jun 22 07:27:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vivek Kasireddy X-Patchwork-Id: 13288350 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 A65B6EB64DB for ; Thu, 22 Jun 2023 07:53:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5B2B28D0002; Thu, 22 Jun 2023 03:53:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 53B888D0001; Thu, 22 Jun 2023 03:53:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3BA3E8D0005; Thu, 22 Jun 2023 03:53:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 168E88D0002 for ; Thu, 22 Jun 2023 03:53:08 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id DB50E160A7F for ; Thu, 22 Jun 2023 07:53:07 +0000 (UTC) X-FDA: 80929618014.25.4A8FFE8 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by imf01.hostedemail.com (Postfix) with ESMTP id 98A6D40009 for ; Thu, 22 Jun 2023 07:53:04 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=g20bwujT; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf01.hostedemail.com: domain of vivek.kasireddy@intel.com designates 192.55.52.93 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=1687420385; 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=DbbY/AprwCtg+/QoTcv3st+/pLlqYip7VYHH3tHGNoc=; b=DO8XCWrjeyV/eTZXvje8opuVBwNKSmjP60vZIhJek50T/AUJs0NhPpnSHC4+NWGOsy2UpK wAoR0qo8sxbfW5uf/9npFs5PxJ6OrfYusB67R+dPS0vs8xxqdQ5T8mzeMwk6l5IN+ltIpJ TAat3SjXZtn6+SC4OEQX2jNdR8cqfT0= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=g20bwujT; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf01.hostedemail.com: domain of vivek.kasireddy@intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687420385; a=rsa-sha256; cv=none; b=YYXCjtuHBmbWKZOhwRtZytwK0TTXRZGKIY8urkwxfocM49GKrONgD7Z7tEtUTBOVrYisPQ DdAystqFcG5A6ZHSNtlo8ZjYXEH9hYEnWw285pGyr8DwrEtGYY86ONd2am0YAzOQKbHQQk M3dnB42FQRQVYU8K7SKM7Safqb/Xh4w= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687420384; x=1718956384; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=0IFy6Fk+6UocIWE8PLGV+49X8dkho9acYdLheOCDoH8=; b=g20bwujTnSlu3V/d3KQDZhQ3oNexnO5M8mgfbnijayPgHKRZbVCK87XD c3bKsGFXWicY6E/WS+71KOfYCtenUZ8RddxDXQ/L0zGu8/ow6R03/WW3P HgLaRY2jjAyBLDHdyFFA6pDCuAPaw2M3dboXlc1MitrlGHmE+3YQP8K50 10WKv5WaEJjyTm/eS5mbs8VOGCK8qF5WkYXs8DURxB5uFAdH3WVBN00S1 6gGGA72Yv3pQcx/gNCGoYimU8k2nyeFMYkCtbLXbF3Nqg8IVorBlkEPKD 9w6NDUh99OsqKXwXF9AI2BahoD+o4qmyz/qVzOHIknOhyJydrZMllxr9c g==; X-IronPort-AV: E=McAfee;i="6600,9927,10748"; a="357910346" X-IronPort-AV: E=Sophos;i="6.00,263,1681196400"; d="scan'208";a="357910346" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jun 2023 00:52:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10748"; a="784801069" X-IronPort-AV: E=Sophos;i="6.00,263,1681196400"; d="scan'208";a="784801069" Received: from vkasired-desk2.fm.intel.com ([10.105.128.127]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jun 2023 00:52:24 -0700 From: Vivek Kasireddy To: dri-devel@lists.freedesktop.org, linux-mm@kvack.org Cc: Vivek Kasireddy , Mike Kravetz , David Hildenbrand , Gerd Hoffmann , Dongwon Kim , Andrew Morton , James Houghton , Jerome Marchand , Junxiao Chang , "Kirill A . Shutemov" , Michal Hocko , Muchun Song Subject: [PATCH v1 0/2] udmabuf: Add back support for mapping hugetlb pages Date: Thu, 22 Jun 2023 00:27:08 -0700 Message-Id: <20230622072710.3707315-1-vivek.kasireddy@intel.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: yhnucbjz88c9yqbgg3dup8ips1x7q3wz X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 98A6D40009 X-HE-Tag: 1687420384-812191 X-HE-Meta: U2FsdGVkX18PsSwWNSybNFDKB7oVITbcmR+7uB5vZFq+FddlHYEARRGG49RuQxWW14zzwnMNTOQfQ6PQmH4YQshLlv+/LUrUK1AaXbgLXjpEgDvs7Wve0+wnL9fVNlcX9Lr5PwNrrz7/96zg1/A4fDjUco6FUjdo3n5YjzdZ/AUoxagpQtg8u2VmZFLBtNiqaNUi0VUOeUC5+2Ev3mfUnLJVQ6P3Pagkj1OKa5jEcuoSeacIdavYjv4wD/lLB8pY6vB+zMKMRtDmr8jTQ2Et6vfQwQeolUZF8FCr+lSRowvhDmebHGP5OHoq6g62Gzw71k37guj3+FNBPFRfbSljeBjEVRpUBliOesuhWW0WdjifYICvwVEJD3YIYCYlCChpEhSsxPYwz+1QyXvVypVx1U/fW/Lq1HUHKBwSFsJKS8fXm1X1flNvgR+Avk2gQ0Fc4/kQs7S6QTNhHKPUFy9MZKG59VwXk+5yReJkY2VPHlx9/5eeyUz18bEUUnZBZW5n3CkF5hfKbQWLiFMZxXkER/J2l4tSw4Euyidmeeu0u6totmFH/dndcSXyrnREV+3RqV8o33L/OSlZQVdgvi1vG2oKzqWx1QhNc5PVCSugf4qbsPELM6a4sUcUznUaN21w29rOQ2dfEv+afowxoS5PppZIF5vKe2aq33QVS/MGc3rWPxblOGHJsSVDBn0tukanGxrzSiFPDhhaUXPhHeLFXaT4yK3boXxOOKwaJ3GW2iyfhZBlvi8IkGIvVyAWZQet0rxv06WKeVbWN0mJPHlv6BEVyFMF77CP85N5L84b0fU8RQj1MEp/ZaR8oyyvIAGr2l2p+hGb42DbakufZYwpmYwY6pbOHzmN0C3aL3P3LJh0lTTzmyJoUscpb4We42G0q+31vZ9CO2V1NyXb5C+uJS6YzO3aBd29zCNLwcpvKnfV3rp8/Aj8PZqgTvgcEuxgJhhTBzqB8QUDocXA1O8 IIWih4zO K1mJtiAkKvAUoJYCCt1e3TdPI8/oVmVanCG+9VZjCBfEAVVxcc/WwNOUaqAyLDqcVS+qvx0va6wjrMVoB2VjpK3GIsctcWeAA9ga376JtBmbizer5YT91ITYdrMfKrl1y6iiucK2B1LY1LAZUMmCDE1TvGRr3Fq5JZ1TnFAihYannPnIEXi4vm0tNHehqRAw9YxE/cYTxR8kEXQA0eZ8bf3dY6dVLTEqANRf2DV09Jree6zepULgviAqmcgFn5/HNZkk9iPTsv9BXJu5fXRYe6DZSoUE/bKiZV10PCgY1F4XgWtjtP6UmNksfVK9Hq+Qcl6jPA8W0nsAvNxIF+yh+Pk9Onw== 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. Cc: Mike Kravetz Cc: David Hildenbrand Cc: Gerd Hoffmann Cc: Dongwon Kim Cc: Andrew Morton Cc: James Houghton Cc: Jerome Marchand Cc: Junxiao Chang Cc: Kirill A. Shutemov Cc: Michal Hocko Cc: Muchun Song Vivek Kasireddy (2): udmabuf: Use vmf_insert_pfn and VM_PFNMAP for handling mmap udmabuf: Add back support for mapping hugetlb pages drivers/dma-buf/udmabuf.c | 105 ++++++++++++++++++++++++++++++++------ 1 file changed, 88 insertions(+), 17 deletions(-)