From patchwork Thu Aug 17 06:49:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kasireddy, Vivek" X-Patchwork-Id: 13356023 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 4D90CEB64DD for ; Thu, 17 Aug 2023 07:10:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D02A8280029; Thu, 17 Aug 2023 03:10:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CB2DF280023; Thu, 17 Aug 2023 03:10:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B529E280029; Thu, 17 Aug 2023 03:10:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A5D51280023 for ; Thu, 17 Aug 2023 03:10:24 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 78B021C9E07 for ; Thu, 17 Aug 2023 07:10:24 +0000 (UTC) X-FDA: 81132723168.18.6708F8A Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93]) by imf21.hostedemail.com (Postfix) with ESMTP id 78F831C000C for ; Thu, 17 Aug 2023 07:10:22 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=DJ9+nzv1; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf21.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=1692256222; 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=r8LszTxRJSzPPx8ggeF0kRaFxiHoVWk9qrQ/XvyL3eY=; b=wgLT/099iCZjWm9MxJbSp9LBMAq72qeMKPIdzYNxKyFbqxPjGGcyKgkNd/PSvQN++QKn3f FhEayjzzOdAF3xQNPJwcfczN5l63zmkw7ru1ZEJn6EkqVUpX8jHW197oiblL7Cg9FlwuB+ LpWMzJvusxuDrDeu9I2y451S7wjIwiA= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=DJ9+nzv1; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf21.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=1692256222; a=rsa-sha256; cv=none; b=sN5OCBymFNLNEvTTSJE6ZDYwooD+DGJKVdjXscPxyuFlgf/Gavc+iFCn0RlWQ61eJONmzG 4Y3nZObqw9sMC5W3s94+hooe0F14mkTS7SZQHqBLjXzj/cJ/oFJ8Np7FdHOG9qb7U0e4l6 RaKE3UJfFy2segVFhX45pJFOsNrKK1w= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692256222; x=1723792222; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=+78dlvA/51d4wBsy1EIEYrq6opiEqB7AJeBx2sGkqW8=; b=DJ9+nzv1KSnIy0/vfM6ggz5wOap3NISqzFkqlBe5zbdTMkS2kxrDq9YR YUPn/rCn6dTLJRerIg8giVvQ4BCZ5vXSgzfEj2WqmNioLPUJ8wk4RJXQV XDdFNQmpBvhBnjJa3t/NLx4ktFkFsaQJ2hVCisoYUTgNR0WLa7blr6fk1 7BO4kbDQaGRODUrEpzPchExULpHJQbZwL5y1DCft8RpC36sl+4pEXtdaS 8yXH1hLUH0atggrTyKgjJZnVKLcGvWhl13WgasIvg9ZigKgQKUK1qX6Ec yzIMifpTW33jJhFGucqRagxqb4qnv18OaEBupg+8xQmkxU+8j6z6e2lOE g==; X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="370200876" X-IronPort-AV: E=Sophos;i="6.01,179,1684825200"; d="scan'208";a="370200876" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2023 00:10:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="1065142179" X-IronPort-AV: E=Sophos;i="6.01,179,1684825200"; d="scan'208";a="1065142179" Received: from vkasired-desk2.fm.intel.com ([10.105.128.127]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2023 00:10:18 -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 v1 0/3] udmabuf: Add support for page migration out of movable zone or CMA Date: Wed, 16 Aug 2023 23:49:31 -0700 Message-Id: <20230817064934.3424431-1-vivek.kasireddy@intel.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Rspamd-Queue-Id: 78F831C000C X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: smk9yx3tamcdsmbtwgnbfn6sncjzu1u3 X-HE-Tag: 1692256222-536070 X-HE-Meta: U2FsdGVkX1/99jv5aG+U/1Tfi2aOQWqocjNUDe4re1k+ulZCe8FfY+Qq9FdUWEfUX6xuYw0Awlaq0MVKMp9dGOZiONniQsSGS6pWagks+W7DKynDFFX6sgjPOqF3KCK0YLmkT0RZRi02xLT0CYxf1KM9FwYpMClkSutsczsI2yS3qq5JBHzYrLMZmvYrG/5VXRZH7rAmbdtoe+LpsXem1DzJNla1FNVNGLIVhJB4OoCO+EqWoS3xKCFeZLle4t1SCCvO3mEPfpAuVnNwFvq3aYAVuG6Bxd4BPeMrwno4iMipAnICJsApQy9js7rFb2xslQv7NYlAz4pxaYqd5fN6123BZrJaJSIs0EKgO666INQOHLp6s6bt5/fDRACSCvFY0ZryMlOMEIZsGxhgQSTxJZUI+TE0KnUKZbnnALnVewsmKS8hLPwszrAVPFTJzAwrMPz6RUszlhgoN/Xq+zEo2WmC7eFPJVsF5HBRU6MCqn5kx1RnAYgK/fBofg4htEc90IYflJCUroNzMwsSK65OkeyJc8ezGoZA4zlvki9inrIQ/2kz1A7zf/NcKeybff2rRdTFuDTmnabk+hc0JTxYyqcIkfKMsnJSYusqFangxI0POt6icaDG5ge/oBHm9EKVTSIlMwQpclg4QqXvf5rZELJriCJZwypMYbHD3pxifwfNezoRCwD00peNM2Uuivt6bXxnvs/095vDJdCQxwXgjl/F7KNNqU5FaB43I9POU1OspeilYAKPe4jxSrQyV0lkOBchpVCH5EgvMepcP4OB0n4WJQ/uLg4LCgZPhn2wOUUE6rMz1xNjjBhrh6lMPL3ovRquACFouW6JC/h4ygb97TngmCndcrDUE9V4nMB/lg3tLDCKQkTwcBe84fjBpLIBd/Zt5Oib6VSfo99gSoFfI38fkzqrSj3H60kL734jk0wsKV6W+38rhX81mNT3bsg5jGzKK2AFielI/F7U4Zv Xkw/6x1d 5Qc8XgZwtl0QqoNVEmdpReqpO6xeK9CxBuKV6Ay6Hooopj85RCg8UDwnT6u/MIxJgsfZOxKuHlKgBlX31MrPMuezHANfftYMynhy+duUC0ZyVLuFCo8mKFcwzqobkcsq1avkLtQwO/dXKynUyPjEqq5t3XYfMci6qPmcWT6e1tEUsSNz/sXcNf9U6gmqd4E2sE5PwgcXpt4kn7fyRcdvSthxbCcVNtEtRkqvdh1+pRvIdJjhAm504PKA2uQ== 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 adds support for migrating pages associated with a udmabuf out of the movable zone or CMA to avoid breaking features such as memory hotunplug. The first patch exports check_and_migrate_movable_pages() function out of GUP so that the udmabuf driver can leverage it for page migration that is done as part of the second patch. The last patch adds two new udmabuf selftests to verify data coherency after page migration. 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 (3): mm/gup: Export check_and_migrate_movable_pages() udmabuf: Add support for page migration out of movable zone or CMA selftests/dma-buf/udmabuf: Add tests to verify data after page migration drivers/dma-buf/udmabuf.c | 106 +++++++++++- include/linux/mm.h | 2 + mm/gup.c | 9 +- .../selftests/drivers/dma-buf/udmabuf.c | 151 +++++++++++++++++- 4 files changed, 254 insertions(+), 14 deletions(-)