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 45709C2D0CD for ; Wed, 21 May 2025 05:23:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1566B6B0095; Wed, 21 May 2025 01:23:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E05F6B0096; Wed, 21 May 2025 01:23:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E9B836B0098; Wed, 21 May 2025 01:23:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C66406B0095 for ; Wed, 21 May 2025 01:23:32 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 71A891A0292 for ; Wed, 21 May 2025 05:23:32 +0000 (UTC) X-FDA: 83465772264.13.6E4EA03 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19]) by imf13.hostedemail.com (Postfix) with ESMTP id 5434320007 for ; Wed, 21 May 2025 05:23:30 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=eQvQoK80; spf=pass (imf13.hostedemail.com: domain of vivek.kasireddy@intel.com designates 198.175.65.19 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=1747805010; 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=O5gkMxHJDmjszppvNdxnnSgbqbjYuy+sIIlF2/nverGkOaCZlArG4oF9OwAG9G85TA2zNG FtVb42Vn0GeukIyNbsycQdIt8uXCAGmIxt4LARhx2kj2ASYTCGkLCKVemW5X2/+4FPE9TL C/hO47qA4d97Tmwvp39kyLqnFKoDt1A= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=eQvQoK80; spf=pass (imf13.hostedemail.com: domain of vivek.kasireddy@intel.com designates 198.175.65.19 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=1747805010; a=rsa-sha256; cv=none; b=odXPhxh1v9dtgXj2kH0tN6wX//38mY5yF6QRRcVcKdzEyAiqut3iX7zneIS6rtcJr/fUn8 AwrZmeezcbp6MDFbSNfXMUU0pfUH6tNm1zQIq6Eu3Nz+r7495IbOoWpmGWyTrusMYEh/1I SewrGMA9/FOO1w61fDqyhCXbR9FY638= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1747805011; x=1779341011; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8bi9IBuLb0gjn1SusDZ649Ki1OW61GbUsQWKfAsTNNQ=; b=eQvQoK80PMRMEg/xZpgmMHN7MNi7tz69Cinymy+1MxEDNW7ZJRa7rZla ZUJIHYtKDp3Ngj3sXMFUp2i5JdwjzxomfUqmnHZDjL1QR46Rur38d5fAU sokTJ2fM47vAlDbWbRwYh3COSf5qeYbIpAVo2XFRVKfjUJxynAfPAIDDp 5xW5XPYWJwPJxPrgpOEQKZriIO6Ulj1Dl0wnqEPhGAeO6o8U+vVVPzmFY LoHtfT0GrqOLW624klwFa7HJ70fROMfEplY3E1wft1+0dA5rzGlZUGZf/ F1rSKw1WuhVmIGlnXHW1e3kwwPYcLkwh5RoAxYvzms1t7KDXlLnY/Bn2X g==; X-CSE-ConnectionGUID: 6XT5wmYSRIaJxmTA33f9wg== X-CSE-MsgGUID: o+LR2oxhSAyU72+L2yd/wA== X-IronPort-AV: E=McAfee;i="6700,10204,11439"; a="49639010" X-IronPort-AV: E=Sophos;i="6.15,303,1739865600"; d="scan'208";a="49639010" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2025 22:23:24 -0700 X-CSE-ConnectionGUID: QJLaWpPORw+WRhCZvaHWsw== X-CSE-MsgGUID: pfJYDRZ1SlO8GRMUdFraPQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,303,1739865600"; d="scan'208";a="163188668" Received: from vkasired-desk2.fm.intel.com ([10.105.128.132]) by fmviesa002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2025 22:23:24 -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 v3 3/3] selftests/udmabuf: Add a test to pin first before writing to memfd Date: Tue, 20 May 2025 22:19:37 -0700 Message-ID: <20250521052119.1105530-4-vivek.kasireddy@intel.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250521052119.1105530-1-vivek.kasireddy@intel.com> References: <20250521052119.1105530-1-vivek.kasireddy@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 5434320007 X-Rspamd-Server: rspam09 X-Stat-Signature: 9csetwoi36rcr69xhsyrks3xeirnoghe X-HE-Tag: 1747805010-370373 X-HE-Meta: U2FsdGVkX18vDkDr48UDgPzoPfcKW5VL+C6A+grI1WHsxj9wrnPEDdQxVqRZzw2rIcdO2CLm0TAdmt+Yw5FhOC63tGSEtK82ee4Tom8/Hra1llpBGioTszTCpK68PNMPUF2Nwa0U+RkAX5wHRlbudwV0NbesmcqB8BnORnMTZ13EGECNNnU7gmXCmx5WqetjZMTSWJzjn5kkWrpfWFxlsNN6/jDywmXOVfh0mhTjjYFT0wyVIVTCPmnkS71V2yllz4IsjkOxfnV0aOBURXFzy81FWSean/wNiSSCNagsiTX4c/hkUFYAcWslz5t2vA0f1EfqbO6E7/NHAzhfaFgMvDd6kI8mOipWns4AY5QfX5ZvUl7iGbcuF4TOOkQRFNuKF+L6yQNf/VmZq3Fl5HVW7CFvdQYBct7pl/qOlXjYqpz2joFELV2fVvyyaFkY5N6qFfg54LBZwih+81lzxjbGPEKIrqH17Wy5nlzmo8Gy7ApWKTRuExAAL4reZZLnudyTDHuU6Yu2nK2rPOf5O36jO2J2k5iXuS1E+AfJ2YjlfepI9G87Btcr/1Lwpu5k0AYj1TgpG2R3V9X85zV6eHXzy/AVPPdfOyf1xH5J40vwX2Ip8OFha+i8SWmfXoWrwp4OtV5JZt/JSPz++riYwO/qSiaat+7ZQZJTCBCoBm4QqiTqWQOZWdGTAmcrw9fiBaHsR6K1vSzREcoUwIXvFUUDChClkY+aGbAyKNFe/N8ZYPe7Y0RuPSjTHyv0H3VMpyJ2GcFE2XZUC1FNj6zMuCklK+Vt05NfsVsIr1+BH9BuHzHJuALqmZnua7sKCE5jzgsnEjOCM1XgBcHqqZ7bO3g0IDSZJvw083JVdB6RU36Wm7lDrmdal7jsdqtQioom18NAah3UjSFT/i2JEWTe/OcXwYtI4BHraxUsDjVZAIKvOTS4yVa8u6qOzIAb+XeqoI9tkc+Z75FiT2TsMckGhWm CWlJKBR7 M1lgMpBY3IrWxvphY5BiP8Gi4/QopUXWXqf8Aq+ZHfnak3naTeAJQwBwxwgBSTTlCiWJ78Hbqtr2ipDeloPvcjfjkwqpcBtXZAFe3lUjb8XXpenLRKhu4Px++J1Fkkvj/GFHM51J1NLtB5HC9xkwmPBrZdbKpRA756X9wYO4qQb9yhzkNzrOC53MSb85ZTHUM4/S7gtUrQgMqgFqlat7/dY9p290O4BT3112H8TJo5PFLLQFSxGezcFNn/ZboU+95UOXqktJ1EabVyb7VRZGzevXzgujgEhG/DTgJt9xev+NnwfP9UnBKr7xGdg== 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