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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05D46C0015E for ; Tue, 18 Jul 2023 08:50:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2F1B08D0005; Tue, 18 Jul 2023 04:50:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 27A668D0001; Tue, 18 Jul 2023 04:50:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EAE398D0005; Tue, 18 Jul 2023 04:50:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id DB2858D0001 for ; Tue, 18 Jul 2023 04:50:30 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 95B7A80264 for ; Tue, 18 Jul 2023 08:50:30 +0000 (UTC) X-FDA: 81024111420.18.C5456CC Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by imf07.hostedemail.com (Postfix) with ESMTP id 96DDA40014 for ; Tue, 18 Jul 2023 08:50:28 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=UH7dOI05; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf07.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=1689670228; 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=nZ7GmUEey9+OjpeilGKy/zwxxGtXf9TqrMV1Kvuqyzg=; b=BDdAs3OTMXn4JRUDMXC2XFzOXBx0rJ2p97QFa2vOW1xR5+mSeqAWJ/f/0QGVy78MhVHESX Q84ZUjwMwQ6gd1iEUTdol/GJk6CmCO9eoNDzd90tbmeS6A6DPi17O5YWKrjIgP4J3HawzA U0Aa9FrgXWR0SdDjDNoWA5gsaWQEqko= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=UH7dOI05; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf07.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=1689670228; a=rsa-sha256; cv=none; b=NC1RyxFLUuP3nDtQ0eEYutleHwQ88cQN5kGke/mFbPQrkKRr29DO6a3pfJeAV6aViDXbVt z9Ws3JDetVIldfxlhEEwRCAWgBVSw5pNGUkNuzRxkUTbZ7MCd6D3xYYihilSlUoJhCNaGY yOqlEla8vvRvJ9ZdfgslyhnWB++Gaf4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689670228; x=1721206228; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=ovBwSRmf2YWXsGp+lPSra3pZbPqmwXQQyQ5edRriL5k=; b=UH7dOI05NbfCM6f8BBgmGGzemXg3X3Pz1/xoeZwXxndweplyifK5cKxl xpW5V4zNHp61qsQo/yvvQ1jQp9Fk5BHGr4Yu94sdaIhtepN2Rsh0d3NMg eIGTMushepnYk/37UgXyn+ETvAV3pJAl+svhZhx9STs+j9/YLg0e0Aq3j pPZgkl90G266AbZgA21flvuyTCCthyEOdt4davtJ/cjGood/I4k8t3pk+ cfPvcVngpTsAhv9MMNyWS4+UOBM+2v1pL5Q0IqCNDdHJORC28y7G+bNYk ZemqPw8n9fb5eispqbmKCRVV+CZm9+6vzdLafgdi5tv1lpX6tUcSgIGLS Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="363616472" X-IronPort-AV: E=Sophos;i="6.01,213,1684825200"; d="scan'208";a="363616472" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jul 2023 01:50:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10774"; a="837205680" X-IronPort-AV: E=Sophos;i="6.01,213,1684825200"; d="scan'208";a="837205680" Received: from vkasired-desk2.fm.intel.com ([10.105.128.127]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jul 2023 01:50:23 -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: [RFC v1 0/3] udmabuf: Replace pages when there is FALLOC_FL_PUNCH_HOLE in memfd Date: Tue, 18 Jul 2023 01:28:55 -0700 Message-Id: <20230718082858.1570809-1-vivek.kasireddy@intel.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 96DDA40014 X-Stat-Signature: tqhcraatejd19fskyzwssiihxa5ot8s3 X-HE-Tag: 1689670228-600845 X-HE-Meta: U2FsdGVkX1/4hk1HJtr0Je225xUHhL9qWCTFX/mZbNarH894WCN2wt/JdVvSgGUQroOgEKk/u+9C8y7K0XyTb5d8t7pdUVuc1YfbM0zLoD3UXdHdZ7mHv1h7G9/uFZHyLONfbkfdDbhr5qa98RZYP0epXoXWq+BeeFgQsleZwxT3mabcRGPjNJYEqFVnqu6+5eHe47hYn+s5plO+l2ZSOfcPj/TvbPhpS1QUD38PQIcCX6yQ6qoH5N39SoVeQqxrd6rOu6BIZRTwrIgb8N3SAs1Zw15+nrEZsntf2M20gMDPYhZKJW3Jf+f4wRVDafFLqgbBLf+YXpHskUwrEqDwkZG1YdhJtsCT1jTCMmoNrh07gllbpWxhAr7nyDe9fiHi+kCq1lg2HKuVL3COW4LdvqT4VzYGhoH9nlud2AeQQClJo+UlxhsmZ7VciA9Ee+rnML3MGrbXybTbIiFf+N9uwLXc/4wfHuK8FDnLKHlh91zLD/PzB6KtOwfBO2zI/xQlskU9tmHduAd4mhHggQxOx2vOm8cdHuSHkDJgB/h+wsaDN3eQ+j6EmLIoQ/9Fi5uu8Q2rC7CvodD/9jy3s7MHuQcFUG5VgdP6Uue0NEnyIALi+0wD7XxY22I9fgFJH4ch5cnPpjohRX8eo6ZxVRXNy6Pc+lKQbP0sjfIt1I8vlfv/vzGPYZn9mBwMUaEI7aWHZq0ZxENnVsW82E4o06Qtdxot1yuNN3CJPXE2sIO+oBxt79SePKNrraB4gZcg4I6DVBSVrmwY83EYS3w6WcOTvvfxSqqOarzCQ+Y/kbngXw+P3pIvJHtBCV4j1novHaGip7M1j19cz7qsUq/GlpZl56PAz/h5VDB4R/yxwX+XHj5SOXzGicxIAraKQcgDrJyXuxMo9XIE576hsMHVWqSlsgqOsSmi3C7Sh+sUMeyoW0OVh34KrRxJWoFu166flGWJjd5Mt/3tKSKfKK/TL10 o/TQ7FQL nUuxCwjLx0d/iP/qrYMdGEPJN/n/dIko1Nq3axByUak4O+Mc6FQER43ALAeGCP0jE/LQF8Rg49xS8YiuvEjbtMytHqzB/eEhq1tfKpmhp6gAFICAIpEWKl3eP2vN7Uf/X8WxjdUkXMOfQKlgfPgXrxAceBf5/owxjXRmeVMVkrf+y9BAESa26khdkDKbyHaVnCZVFiTkn6T6w2torLvIIdiTrtEaFBLiLhA3IzB4r8Uq/BSN5xny/F4ADCNJgZKZqzyzcLNs4idEP9ltN9upfabtxmN5UYFSuNC2E7JRBWGwwtMk= 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: This patch series attempts to solve the coherency problem seen when a hole is punched in the region(s) of the mapping (associated with the memfd) that overlaps with pages registered with a udmabuf fd. The first patch introduces a new mmu notifier to let drivers know when a new page is faulted into a mapping (backed by shmem or hugetlbfs). The second patch updates the udmabuf driver to register a handler for receiving mapping updates in order to update its list with new pages. The last patch adds two new tests to the udmabuf selftest to test the huge page support and also FALLOC_FL_PUNCH_HOLE. 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 (3): mm/mmu_notifier: Add a new notifier for mapping updates (new pages) udmabuf: Replace pages when there is FALLOC_FL_PUNCH_HOLE in memfd selftests/dma-buf/udmabuf: Add tests for huge pages and FALLOC_FL_PUNCH_HOLE drivers/dma-buf/udmabuf.c | 172 ++++++++++++++++++ include/linux/mmu_notifier.h | 27 +++ mm/hugetlb.c | 9 +- mm/mmu_notifier.c | 17 ++ mm/shmem.c | 7 +- .../selftests/drivers/dma-buf/udmabuf.c | 165 ++++++++++++++++- 6 files changed, 391 insertions(+), 6 deletions(-) -- 2.39.2