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 4A432C7115C for ; Wed, 18 Jun 2025 05:36:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 285966B0092; Wed, 18 Jun 2025 01:36:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 25DC96B0093; Wed, 18 Jun 2025 01:36:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1252D6B0095; Wed, 18 Jun 2025 01:36:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 03E5D6B0092 for ; Wed, 18 Jun 2025 01:36:36 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C49B9804EE for ; Wed, 18 Jun 2025 05:36:35 +0000 (UTC) X-FDA: 83567411550.15.1F57EFA Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by imf30.hostedemail.com (Postfix) with ESMTP id BEF0E80004 for ; Wed, 18 Jun 2025 05:36:33 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=XDxAddJL; spf=pass (imf30.hostedemail.com: domain of vivek.kasireddy@intel.com designates 198.175.65.9 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=1750224994; 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:in-reply-to:references:references:dkim-signature; bh=S3C8Ob9tK/SWXe+0mehzqI9pjw8Po3eIMx7VdVqWsTo=; b=vOWVscsNnQoT3UCous9h3Zt3Vr6LzdixhvjgKZIuNjb6WisJqWBSN7FL6S2f2mq8UF/2QJ +VyD7zTYWl566wHt0Ot6CDZwCFkKe5x4LedeptoxpbSWinei/7qBdTwdemIBTXN/FBsaO7 u2Jd0HA+C+8rVqyqne5qOB87m3gyKVk= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=XDxAddJL; spf=pass (imf30.hostedemail.com: domain of vivek.kasireddy@intel.com designates 198.175.65.9 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750224994; a=rsa-sha256; cv=none; b=ONq6597+NBcJcvWwI07ubeoKc8USxvwbSyGRAqVmC5wUNkl75CMbuD3hK6DjCzdPPYxFAo yiz6jWdRObyGqK5h3eDL1XStuHcs17HAmtfBE+0PIFJpIVHbzGcqcHl9eoa2MvM/DxmSRr OPFIV2AkR75VGwjojZ6n1G0LLoGpDiQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1750224994; x=1781760994; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8bi9IBuLb0gjn1SusDZ649Ki1OW61GbUsQWKfAsTNNQ=; b=XDxAddJLo6iWf0XuOlsGdwE3+qQ8PVsV9RfcAkilh4LyWOi57gWufo2L D1rc1/mtca/sU9t5wWCLJBXCNrUpokdeAmwbnUc8atTpTNZWbeyJ0Zxmv Fpw+54UY+hspWL79+r048bErO8lzHG8lFmLwQcFLWpb+AS5gsw5W6DSoe wM8cvOgzPnrxYQJ/ONjnVKut9AsBsBsxMZc/X60nbQKMJKUJ56DbK+0Sh O/Dx9b440kwQMrjOvXdeimPOE4NkyRuW6DoyiCqfaCprdHnDzkX8dPUl7 pdiRK6BUaEJkbiqTgUhExIIX32nXCzmDmZCly4849lNbC/9GJvhjeJ/VV Q==; X-CSE-ConnectionGUID: +COLuCp4S8K52SVfjxlH7g== X-CSE-MsgGUID: /3VJXxdbSUq+jJ34dtLhtg== X-IronPort-AV: E=McAfee;i="6800,10657,11467"; a="74960322" X-IronPort-AV: E=Sophos;i="6.16,245,1744095600"; d="scan'208";a="74960322" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2025 22:36:29 -0700 X-CSE-ConnectionGUID: RjYNsE1iRpWAlTEDa7TjfA== X-CSE-MsgGUID: bgA0OQTRSw+APtfm+h1TJg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,245,1744095600"; d="scan'208";a="149052941" Received: from vkasired-desk2.fm.intel.com ([10.105.128.132]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2025 22:36:28 -0700 From: Vivek Kasireddy To: dri-devel@lists.freedesktop.org, linux-mm@kvack.org Cc: Vivek Kasireddy , Gerd Hoffmann , Steve Sistare , Muchun Song , David Hildenbrand , Andrew Morton Subject: [PATCH v4 3/3] selftests/udmabuf: Add a test to pin first before writing to memfd Date: Tue, 17 Jun 2025 22:30:55 -0700 Message-ID: <20250618053415.1036185-4-vivek.kasireddy@intel.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250618053415.1036185-1-vivek.kasireddy@intel.com> References: <20250618053415.1036185-1-vivek.kasireddy@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: BEF0E80004 X-Stat-Signature: u5f6r3nisxg8grm3mpgje38sd4mbygdy X-HE-Tag: 1750224993-179342 X-HE-Meta: U2FsdGVkX19rh2Qs9FSeHklscJczougJc5FEcdRk8Iddkpfi6KrrM4gqDfk8CiRD4Zj5+Mtr7C8EnHArJvCf3D37s29LatWsUw6ZTDZtrPQeRZjvmLm8YKrJop5THepjDUz0yWvbgnmIkkZ1Jnwbm/mIvSuxyRn3o/7kMbYjwnDorbIEPpUD4RmUOokOZyBr+BwYNOxhzP5RIyry+jIGc4s5pPIA4QIfvj4fovuxm9dUFBkQ8WNpRLqe7a4Tv8236yPXb31fgZfIjIJMz16n2mUDT9NWc3jG5HUihvjLI4Vxy0c0mdzOu+D/YzBj8qsuOPfLmMNAHm7uUbBl2Yz901Pw8Q4xifNxp/1d+O31y25xhFde3yh0E2QqoO+cPgtNangItoGiPS7BMa2YkKICL10Levfj9QKFlVfnU4GZaKnWEpA2juEv42fvodM83RRO+Z+ZtbuvplQIk94nqY8p6cpmlz+D1iv6YXQlQneOCkIrgMxdSeJKyHLraw/R4UBBUMHTyjZtIvQNyhnl22qOqpW3ZziIUmdGSijG1ZpbsoJjaKr49cHQ73rGvc+HK8jqn1qF0euBCCrOpZi/ZjFmb+RDE3jdqOMb+Z4NsVcKuZj2RyuyXoavRMJbaEGk1fP3hu1eMEfflo78pZ/7M/EU2C5A+FxI60kpPF+HUX/8hwG0J9GBXFN+++HSaEqO//XHQ12UhG+/95B7Pa4sPAv5Fhk7W2fhdF2P085CTlXdS98f8Wu9ArO4LCkBa2inpyhHV46abtEZ0olbGJkCmRU7HnvfRK6Qy1K++pteUnD48kN9nN4JHv4MX/bDiPooCRPKqf40xU3TNaKpNp4n9jNBtAAhhh3yaIqmIzvrH7RCd5nw59RZNWg9HjXDTVaV0Nmu 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: List-Subscribe: List-Unsubscribe: Unlike the existing tests, this new test will create a memfd (backed by hugetlb) and pin the folios in it (a small subset) before writing/ populating it with data. This is a valid use-case that invokes the memfd_alloc_folio() kernel API and is expected to work unless there aren't enough hugetlb folios to satisfy the allocation needs. Cc: Gerd Hoffmann Cc: Steve Sistare Cc: Muchun Song Cc: David Hildenbrand Cc: Andrew Morton Signed-off-by: Vivek Kasireddy --- .../selftests/drivers/dma-buf/udmabuf.c | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/drivers/dma-buf/udmabuf.c b/tools/testing/selftests/drivers/dma-buf/udmabuf.c index 6062723a172e..77aa2897e79f 100644 --- a/tools/testing/selftests/drivers/dma-buf/udmabuf.c +++ b/tools/testing/selftests/drivers/dma-buf/udmabuf.c @@ -138,7 +138,7 @@ int main(int argc, char *argv[]) void *addr1, *addr2; ksft_print_header(); - ksft_set_plan(6); + ksft_set_plan(7); devfd = open("/dev/udmabuf", O_RDWR); if (devfd < 0) { @@ -248,6 +248,24 @@ int main(int argc, char *argv[]) else ksft_test_result_pass("%s: [PASS,test-6]\n", TEST_PREFIX); + close(buf); + close(memfd); + + /* same test as above but we pin first before writing to memfd */ + page_size = getpagesize() * 512; /* 2 MB */ + size = MEMFD_SIZE * page_size; + memfd = create_memfd_with_seals(size, true); + buf = create_udmabuf_list(devfd, memfd, size); + addr2 = mmap_fd(buf, NUM_PAGES * NUM_ENTRIES * getpagesize()); + addr1 = mmap_fd(memfd, size); + write_to_memfd(addr1, size, 'a'); + write_to_memfd(addr1, size, 'b'); + ret = compare_chunks(addr1, addr2, size); + if (ret < 0) + ksft_test_result_fail("%s: [FAIL,test-7]\n", TEST_PREFIX); + else + ksft_test_result_pass("%s: [PASS,test-7]\n", TEST_PREFIX); + close(buf); close(memfd); close(devfd); -- 2.49.0