From patchwork Mon Mar 27 17:01:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uladzislau Rezki X-Patchwork-Id: 13189676 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 48F2EC761A6 for ; Mon, 27 Mar 2023 17:01:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A76CF900004; Mon, 27 Mar 2023 13:01:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A2700900002; Mon, 27 Mar 2023 13:01:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8A0C7900004; Mon, 27 Mar 2023 13:01:33 -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 7C7B9900002 for ; Mon, 27 Mar 2023 13:01:33 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5343A1C631F for ; Mon, 27 Mar 2023 17:01:33 +0000 (UTC) X-FDA: 80615294466.30.81ECE63 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) by imf28.hostedemail.com (Postfix) with ESMTP id 41F53C002D for ; Mon, 27 Mar 2023 17:01:29 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="cJqF1kO/"; spf=pass (imf28.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679936490; 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=psu4ofpncoCQSYgbBGuLj7J5oQ90Aa4oswGxv8KP4JU=; b=bm34tPe4PCkGZ2qvMXsikLBt3cSXh8v4lEmrkOOEe4USgYNoWblcndrn3tNG0otl9kHnwE xMna+dR2hQkw9l648dc70ct8VPLTAHgnow1zG4wuYU5Np6jwZ44Eds5ohRllN9p11Xc1TE HOGnWm/luLjXlGWb9RC3KomzHFFI6Uo= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="cJqF1kO/"; spf=pass (imf28.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679936490; a=rsa-sha256; cv=none; b=sk3vFaID5C47grIcGMcL9pK5s023aiU674BKs75MTb0tURYeElO3hclD3dimIz6D7ZD01X KtOzuiwfhGb/exlH4i0ZVxK10UIDYfLy1AiusRLEOeVplwh0VQhEDLl13ahhqasEVNs3uF Jdn139hWcIPKxujnmx44hjAzM7jR40k= Received: by mail-ed1-f49.google.com with SMTP id x3so38908177edb.10 for ; Mon, 27 Mar 2023 10:01:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679936489; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=psu4ofpncoCQSYgbBGuLj7J5oQ90Aa4oswGxv8KP4JU=; b=cJqF1kO/34CZQDvUzjw0nFJI3uzZdbpWLYwh/sTURwSu3Zr7QVA3YB+xmzgjIXtxNw plTPyZ6Ff6nayjkPG65E5AbN6P4Br9KHA5h6J3SznKc7ceg+iApLDn78xbkIAA1tLJRM 0u6L7uk6uGWd5oQPkH2F3498o8rXSeu4vZLaZmUMftuHVTmZZrw35vDfC6fP/M5rBTGC oEJlhMH0hQsmZAs+mnqaI+s0N0uaUMD6RtXee01BUvrp8DvII6FNEUVk3tp9ckagjAeq BVTbcDwYhsqF2YJlqJcRfYfOtSlgwevlMeHevvq1dBw4qsIvUsevLMq7ibDfJK0pR+gU xlTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679936489; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=psu4ofpncoCQSYgbBGuLj7J5oQ90Aa4oswGxv8KP4JU=; b=vz6cnlLvH0cFLhXMlNYgUGSftovOJgeBL2wHLOG1nV3ZbiG5kcvWBSqU9Y77FEVrzS PTRKM97t6kZEXv1LHmPthaFuy0gVF2IsQYEmf1CDe2pXOAEZ4g+I8U87B2Cz9jPftUUG /5p4pUzpfZkndIf55mdsy/UUdUEH+DdQsO7KZOFu+aZjcnTacq1bypHRQyN9LVe2rvul aAJj9ybwaD2WW7PV64eVdC+RontxBIJhCdUA/BmemA1rZuZ1eu6wObmts2zvVymfXDXK YcLeSrNWx8tdPRQxOJ7EjE+MS6An3zgpIjbUzJyrN8YEPgaFtw2wEEpusFdXACvlM+Jj uXKQ== X-Gm-Message-State: AAQBX9e+oFhkKg/jr5wjGFUZSycKVTqwUKaW7XtbtYu2AOcZ938B3rvD wxYq85kklng/YEW3nyrVcvM= X-Google-Smtp-Source: AKy350b3TXjxOhtha+OJSC79RBMwaldUw1aNzY57gPVRrx9yYKI8P7dgqIT+mPM/VNQnIURkGSaMiw== X-Received: by 2002:aa7:cd8b:0:b0:502:3ea4:7f95 with SMTP id x11-20020aa7cd8b000000b005023ea47f95mr5894891edv.35.1679936488703; Mon, 27 Mar 2023 10:01:28 -0700 (PDT) Received: from pc638.lan ([155.137.26.201]) by smtp.gmail.com with ESMTPSA id t27-20020a50ab5b000000b004c0c5864cc5sm14936026edc.25.2023.03.27.10.01.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Mar 2023 10:01:28 -0700 (PDT) From: "Uladzislau Rezki (Sony)" To: Andrew Morton Cc: linux-mm@kvack.org, LKML , Baoquan He , Lorenzo Stoakes , Christoph Hellwig , Matthew Wilcox , Dave Chinner , Uladzislau Rezki , Oleksiy Avramchenko Subject: [PATCH v3 2/2] lib/test_vmalloc.c: Add vm_map_ram()/vm_unmap_ram() test case Date: Mon, 27 Mar 2023 19:01:26 +0200 Message-Id: <20230327170126.406044-2-urezki@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230327170126.406044-1-urezki@gmail.com> References: <20230327170126.406044-1-urezki@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 41F53C002D X-Stat-Signature: 59ninfscmz9phdbrdpsr3udwh1qesk4m X-HE-Tag: 1679936489-868316 X-HE-Meta: U2FsdGVkX1/L8qVDB2Sl/HnHWq2WQk3J2TOcMFBAN9G8PvB+lQZMe6VK0Pm9i40PidqIb/wL5u2cnS2JYrXcoOhSzbLoLcgM/sK5ldckenZv/VpJ8U51TVLLSTSUxilutzFS5f9tse06i+S47C8kIoel+zzsm6Kn6XXO1EMduTxRD4LzbyAlkKmNgX0jui5hWvuttSq1T4OsgAeOkmuNdiGmqrSh8cquv9W2L1LKHpBfchTmxRxrGiUDW0IvuNuuOyXoaJSPag306DXO579t+QDBhyty/IvMhpReHUthNeylIXF1wU3fNfe0NAXpXAj8t/JrDosjQ6Ie1KW+trSZ+qAlGuRiFECjG7pVB0qparFdpiRSI+a3+Fd9ykVyqE5NfUIXcgBk7dUUjv8HJWUyVn5xe88CFIefw0EtgzzpqE+OG5OfybnHvyzfMgYa/OZqCprNK71kF18bzA82IvxGuKiLiXBN4y80HFp3WO9dUN1Zc0sYSPmLKO6mf6iPUpAB/bturh4JHGbTewnEGNx10+gV4ziG7y1RoBWDPjW17cUPBhZbRXcjtkoZCzvcyM/fw+/2+qpfVMYtv0/FC8PO3FqXN/3We2Tor6gvcjyEBItkrrP0++SrrrdEvxWICQmwmwzLVr6jQ6etfP4mqHLryRq6N6TlGGvflr4iMoM7y/x5pl8f5IFpHZK/mclaXoiTrPEZr8DTLQln/EWPcmgLRfOaiekOcZ1LXV9VN4au82nbwnRN9UbICAc380u3jI4sl85vHWYRvMUE4I/vy6ClHmZBALfjTkNOwnIhab0ZA3AGJQ+DHYQFNiIM1MMged2J+b/DaNpnK13HEIVj5J5j+YPREDA30cFSMrRreUet9G2hvpwEjnAZLuI7520ASgAa8gxg7hfXgz/xQ/Y6OOh6Qw0FljAHgbc+m51o8FtYx5OJAoW+b1goong88Ai/gU0R98kbhWHYuWzMevekuuT 5O94NZ4r u2TaRCVA6ssAKHOrMaqGvI80GEBceojUk4+lmP0e8133hXDzzHP2mutuojyJaNSxya1fWAxgm6yzeMAumPWy9a6y+9T1zVXZC93jUnRFIvk2UquPT9aBx061KZiTY0eRa/8nw8SOPWsBXAo3HsEl7PDtP8TcFsyw+LGpXDknRG5aOJvAaKq2T3z8eB9/muVXi3lUkajTiDVM/XQ0UO19OljkMUKloPgqSNAebaTUXiJAFNm5wPGhRlR0eHSR0J8aEYaXiHdHsEJeVxDKfbAtyBnlE+9YClCeM2/BFGB+pVbfs1sTgCIvsyw7Wtmb+cs2vDuVW9p7CXzL22qVR2WZ+Ee/f2FRttTQokuF/6LotgEixAje3/rgywTEKZ8fSQWrfMKvV8E5F6WXAIK1fYVqJqNKmP6b/mHRZXkwnGfs89RiNzcuCJ62fe5GH1fBoRILNxGRxeljFuzfrVe4fd5nBn9gFv+Z4wV9E0zT0gpDls1YN0KToqeUh0MJnbG4Co/G5iIt3 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: Add vm_map_ram()/vm_unmap_ram() test case to our stress test-suite. Signed-off-by: Uladzislau Rezki (Sony) --- lib/test_vmalloc.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/lib/test_vmalloc.c b/lib/test_vmalloc.c index cd2bdba6d3ed..6633eda4cd4d 100644 --- a/lib/test_vmalloc.c +++ b/lib/test_vmalloc.c @@ -53,6 +53,7 @@ __param(int, run_test_mask, INT_MAX, "\t\tid: 128, name: pcpu_alloc_test\n" "\t\tid: 256, name: kvfree_rcu_1_arg_vmalloc_test\n" "\t\tid: 512, name: kvfree_rcu_2_arg_vmalloc_test\n" + "\t\tid: 1024, name: vm_map_ram_test\n" /* Add a new test case description here. */ ); @@ -358,6 +359,45 @@ kvfree_rcu_2_arg_vmalloc_test(void) return 0; } +static int +vm_map_ram_test(void) +{ + unsigned int map_nr_pages; + unsigned char *v_ptr; + unsigned char *p_ptr; + struct page **pages; + struct page *page; + int i; + + map_nr_pages = nr_pages > 0 ? nr_pages:1; + pages = kmalloc(map_nr_pages * sizeof(*page), GFP_KERNEL); + if (!pages) + return -1; + + for (i = 0; i < map_nr_pages; i++) { + page = alloc_pages(GFP_KERNEL, 1); + if (!page) + return -1; + + pages[i] = page; + } + + /* Run the test loop. */ + for (i = 0; i < test_loop_count; i++) { + v_ptr = vm_map_ram(pages, map_nr_pages, -1); + *v_ptr = 'a'; + vm_unmap_ram(v_ptr, map_nr_pages); + } + + for (i = 0; i < map_nr_pages; i++) { + p_ptr = page_address(pages[i]); + free_pages((unsigned long)p_ptr, 1); + } + + kfree(pages); + return 0; +} + struct test_case_desc { const char *test_name; int (*test_func)(void); @@ -374,6 +414,7 @@ static struct test_case_desc test_case_array[] = { { "pcpu_alloc_test", pcpu_alloc_test }, { "kvfree_rcu_1_arg_vmalloc_test", kvfree_rcu_1_arg_vmalloc_test }, { "kvfree_rcu_2_arg_vmalloc_test", kvfree_rcu_2_arg_vmalloc_test }, + { "vm_map_ram_test", vm_map_ram_test }, /* Add a new test case here. */ };