From nobody Mon Apr 6 18:06:07 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DE4D5C433F5 for ; Tue, 4 Oct 2022 21:44:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231919AbiJDVoW (ORCPT ); Tue, 4 Oct 2022 17:44:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230159AbiJDVoA (ORCPT ); Tue, 4 Oct 2022 17:44:00 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8264070E75 for ; Tue, 4 Oct 2022 14:41:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664919690; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/w2JwM8JeFqa2ztqMSbd+xEgiAESxi1m1hIt+DBhlCQ=; b=Z57QAEJPcI7UZhQ3yMQW0hPUUaN31mPYiMvXIO/NSvGt39yINSfM5Jax/VVkSSVpAOAx+8 sQTlc20ZCF0wVdOe4CPs5XvrPEFK+UL4j0aZYnNBKHKVOeBj3v+i+je935paUyltUl8zQb 5Ta4BdD2cOXwjGQb2U4L5k142SWU5yc= Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-150-uI4hRshAO6qA_Mlyzizwfg-1; Tue, 04 Oct 2022 17:41:29 -0400 X-MC-Unique: uI4hRshAO6qA_Mlyzizwfg-1 Received: by mail-qk1-f199.google.com with SMTP id h8-20020a05620a284800b006b5c98f09fbso12934085qkp.21 for ; Tue, 04 Oct 2022 14:41:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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; bh=/w2JwM8JeFqa2ztqMSbd+xEgiAESxi1m1hIt+DBhlCQ=; b=DXypp2sh6tjpslC/rYk0LO7cII83T7mKkNdDO8STnoXkk0uTBgV8X0x70a7qCgzj9q pQTtJedYPiRasBAlfCVDdGo49E5Et/N5ygNjStkRZ3HDJi4k9ijtmRhWA2kDLBamwqJn gRMHa82++xzyW0llhq5XPTH2Wy6dIPDHAZpB3qT25sF2VQdOVqrbtezzcPCTE0WxTN2J S3aSmA1njDlwZHjjJXTQ9JuXKrHUSYTvkUpmPZX/WBxxMorvdaP4YpNzzJY5xco2wAP8 jc8GMWJYb9glu5Sa2oeUyyEJm4+D7CE6AGOxINekQNkCye9JQPvNEmKbzQtTC8YC8Y1O XHeQ== X-Gm-Message-State: ACrzQf17AXp9HIxSa0e/CLzRdkC60Du5ENjenz5qfQa2sA5pr4igdvpT AloHtP+uoTKNY60aUjWrnLwsNTkLTSalirhDb5ovexzUUNrUh1hGGIaLosQI426lJ1s3Z7lrqWX fyRCwYhFePNCl+4qKLhFHHYS9sK+b3/nHOFG+whwIFbCr1iOMAky1EVKOUCpueUlGAlxCBO9HiA == X-Received: by 2002:ac8:5cd5:0:b0:35b:bbd1:20ea with SMTP id s21-20020ac85cd5000000b0035bbbd120eamr21123623qta.549.1664919688666; Tue, 04 Oct 2022 14:41:28 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6qF+0TqymelkGkoObEdmZR55zlKAQ3919cYMgIiCESflQCNd2+DsttJ2F1dVn6tCX0I6g9Yg== X-Received: by 2002:ac8:5cd5:0:b0:35b:bbd1:20ea with SMTP id s21-20020ac85cd5000000b0035bbbd120eamr21123607qta.549.1664919688375; Tue, 04 Oct 2022 14:41:28 -0700 (PDT) Received: from x1n.redhat.com (bras-base-aurron9127w-grc-46-70-31-27-79.dsl.bell.ca. [70.31.27.79]) by smtp.gmail.com with ESMTPSA id y15-20020a05620a25cf00b006bbf85cad0fsm15519956qko.20.2022.10.04.14.41.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Oct 2022 14:41:27 -0700 (PDT) From: Peter Xu To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Andrew Morton , peterx@redhat.com, Axel Rasmussen , Mike Kravetz Subject: [PATCH 1/4] selftests/vm: Use memfd for hugetlb tests Date: Tue, 4 Oct 2022 17:41:22 -0400 Message-Id: <20221004214125.120993-2-peterx@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221004214125.120993-1-peterx@redhat.com> References: <20221004214125.120993-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" We already used memfd for shmem test, move it forward with hugetlb too so that we don't need user to specify the hugetlb file path explicitly when running hugetlb shared tests. Signed-off-by: Peter Xu Reviewed-by: Axel Rasmussen --- tools/testing/selftests/vm/userfaultfd.c | 60 ++++++++---------------- 1 file changed, 20 insertions(+), 40 deletions(-) diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selft= ests/vm/userfaultfd.c index 74babdbc02e5..c0c6853cdce5 100644 --- a/tools/testing/selftests/vm/userfaultfd.c +++ b/tools/testing/selftests/vm/userfaultfd.c @@ -93,10 +93,8 @@ static volatile bool test_uffdio_zeropage_eexist =3D tru= e; static bool test_uffdio_wp =3D true; /* Whether to test uffd minor faults */ static bool test_uffdio_minor =3D false; - static bool map_shared; -static int shm_fd; -static int huge_fd; +static int mem_fd; static unsigned long long *count_verify; static int uffd =3D -1; static int uffd_flags, finished, *pipefd; @@ -260,35 +258,21 @@ static void hugetlb_release_pages(char *rel_area) =20 static void hugetlb_allocate_area(void **alloc_area, bool is_src) { + off_t size =3D nr_pages * page_size; + off_t offset =3D is_src ? 0 : size; void *area_alias =3D NULL; char **alloc_area_alias; =20 - if (!map_shared) - *alloc_area =3D mmap(NULL, - nr_pages * page_size, - PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | - (is_src ? 0 : MAP_NORESERVE), - -1, - 0); - else - *alloc_area =3D mmap(NULL, - nr_pages * page_size, - PROT_READ | PROT_WRITE, - MAP_SHARED | - (is_src ? 0 : MAP_NORESERVE), - huge_fd, - is_src ? 0 : nr_pages * page_size); + *alloc_area =3D mmap(NULL, size, PROT_READ | PROT_WRITE, + (map_shared ? MAP_SHARED : MAP_PRIVATE) | + (is_src ? 0 : MAP_NORESERVE), + mem_fd, offset); if (*alloc_area =3D=3D MAP_FAILED) err("mmap of hugetlbfs file failed"); =20 if (map_shared) { - area_alias =3D mmap(NULL, - nr_pages * page_size, - PROT_READ | PROT_WRITE, - MAP_SHARED, - huge_fd, - is_src ? 0 : nr_pages * page_size); + area_alias =3D mmap(NULL, size, PROT_READ | PROT_WRITE, + MAP_SHARED, mem_fd, offset); if (area_alias =3D=3D MAP_FAILED) err("mmap of hugetlb file alias failed"); } @@ -334,14 +318,14 @@ static void shmem_allocate_area(void **alloc_area, bo= ol is_src) } =20 *alloc_area =3D mmap(p, bytes, PROT_READ | PROT_WRITE, MAP_SHARED, - shm_fd, offset); + mem_fd, offset); if (*alloc_area =3D=3D MAP_FAILED) err("mmap of memfd failed"); if (test_collapse && *alloc_area !=3D p) err("mmap of memfd failed at %p", p); =20 area_alias =3D mmap(p_alias, bytes, PROT_READ | PROT_WRITE, MAP_SHARED, - shm_fd, offset); + mem_fd, offset); if (area_alias =3D=3D MAP_FAILED) err("mmap of memfd alias failed"); if (test_collapse && area_alias !=3D p_alias) @@ -1821,21 +1805,17 @@ int main(int argc, char **argv) } nr_pages =3D nr_pages_per_cpu * nr_cpus; =20 - if (test_type =3D=3D TEST_HUGETLB && map_shared) { - if (argc < 5) - usage(); - huge_fd =3D open(argv[4], O_CREAT | O_RDWR, 0755); - if (huge_fd < 0) - err("Open of %s failed", argv[4]); - if (ftruncate(huge_fd, 0)) - err("ftruncate %s to size 0 failed", argv[4]); - } else if (test_type =3D=3D TEST_SHMEM) { - shm_fd =3D memfd_create(argv[0], 0); - if (shm_fd < 0) + if (test_type =3D=3D TEST_SHMEM || test_type =3D=3D TEST_HUGETLB) { + unsigned int memfd_flags =3D 0; + + if (test_type =3D=3D TEST_HUGETLB) + memfd_flags =3D MFD_HUGETLB; + mem_fd =3D memfd_create(argv[0], memfd_flags); + if (mem_fd < 0) err("memfd_create"); - if (ftruncate(shm_fd, nr_pages * page_size * 2)) + if (ftruncate(mem_fd, nr_pages * page_size * 2)) err("ftruncate"); - if (fallocate(shm_fd, + if (fallocate(mem_fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, nr_pages * page_size * 2)) err("fallocate"); --=20 2.37.3 From nobody Mon Apr 6 18:06:07 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E719C433F5 for ; Tue, 4 Oct 2022 21:44:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231942AbiJDVoa (ORCPT ); Tue, 4 Oct 2022 17:44:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47462 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231708AbiJDVoD (ORCPT ); Tue, 4 Oct 2022 17:44:03 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 79DB770E7A for ; Tue, 4 Oct 2022 14:41:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664919691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zhrtCe5O8iJscoLdf85Accar6WxcllS+eYr7bBy1HkM=; b=dJaHvDIYcugfcbZXI9MGjISejh5vRgBChdcjH0EX9gK2PQj+b+fXG3t17UHlBLb8jdj1yK 2Z55fE+yYvcGEOf2L1Jboc4PS7FvGShcZezLeSolAJm6G/f9lXfiss1mCN+VM5I9NkbKjE t8XW6WBULBEp0OipNqWRSkD5ufkSG/w= Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-637-GyElZGaePQK_b7KCQ-Txzg-1; Tue, 04 Oct 2022 17:41:31 -0400 X-MC-Unique: GyElZGaePQK_b7KCQ-Txzg-1 Received: by mail-qt1-f200.google.com with SMTP id ay22-20020a05622a229600b0035bbb349e79so10213334qtb.13 for ; Tue, 04 Oct 2022 14:41:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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; bh=zhrtCe5O8iJscoLdf85Accar6WxcllS+eYr7bBy1HkM=; b=ldbdC6yynGtre0wfjcuS9oMMC/8u2m4OweMRM75gVk2w+hzEYRoY3Ilo0Ih24bcDKH 0XPSSlA5NBS+F6jsl1mY7pUNg1QfVbyQBjfFFbxz683LkVeVtUrkF9EFp+420OaTswWV of1aByE17aAt/qzh4TppdFwDHGM6jOwzW2rNkqNqbnHfRCWZb4hdempw/AKYN5HZLjec BUW5Ssp/qp9jv/I0qTWZJ6feL7Zk6YKnLswMpIcCM4Py26REYOkJbBv1WyWq5Wa54xTI WjjhyaVjmGYTg4xdOnVIZfE4O78YQkvzyg3DZtLp8dGB5mieab5SyhlJcQ2YvPfScgTq 4dDQ== X-Gm-Message-State: ACrzQf1n+VWMt4g3UY6VX/DIBUOInKXNM62zZxI3htcx/DQRXEVWLQOZ 2+MPhXYNmIKlEgtitF43VZPqjnvCIW+1F/ir0Sm/xLcgZcJbDzORL7Z0YCEtATVyA2a+foNXe7i mxi16R2Uwr3DCBS8/3dCa7LJoXCuiK+4n8tlyrym2IF0Pt8kBuEYI6KvLvwTLh/Up4i7wMrTaDg == X-Received: by 2002:a05:6214:c6d:b0:4b1:c751:ac7 with SMTP id t13-20020a0562140c6d00b004b1c7510ac7mr400613qvj.96.1664919689990; Tue, 04 Oct 2022 14:41:29 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5na/pwjmQhLcKutEJzsIkykeE5fgN/HwlF3WpQM1DgGubYNqpa+trsw7pJkJNONLm/cQp/ew== X-Received: by 2002:a05:6214:c6d:b0:4b1:c751:ac7 with SMTP id t13-20020a0562140c6d00b004b1c7510ac7mr400597qvj.96.1664919689696; Tue, 04 Oct 2022 14:41:29 -0700 (PDT) Received: from x1n.redhat.com (bras-base-aurron9127w-grc-46-70-31-27-79.dsl.bell.ca. [70.31.27.79]) by smtp.gmail.com with ESMTPSA id y15-20020a05620a25cf00b006bbf85cad0fsm15519956qko.20.2022.10.04.14.41.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Oct 2022 14:41:29 -0700 (PDT) From: Peter Xu To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Andrew Morton , peterx@redhat.com, Axel Rasmussen , Mike Kravetz Subject: [PATCH 2/4] selftests/vm: Use memfd for hugetlb-madvise test Date: Tue, 4 Oct 2022 17:41:23 -0400 Message-Id: <20221004214125.120993-3-peterx@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221004214125.120993-1-peterx@redhat.com> References: <20221004214125.120993-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" For dropping the hugetlb mountpoint in run_vmtests.sh. Since no parameter is needed, drop USAGE too. Signed-off-by: Peter Xu --- tools/testing/selftests/vm/hugetlb-madvise.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/vm/hugetlb-madvise.c b/tools/testing/s= elftests/vm/hugetlb-madvise.c index 3c9943131881..f96435b70986 100644 --- a/tools/testing/selftests/vm/hugetlb-madvise.c +++ b/tools/testing/selftests/vm/hugetlb-madvise.c @@ -12,6 +12,7 @@ * directory. */ =20 +#define _GNU_SOURCE #include #include #include @@ -19,7 +20,6 @@ #define __USE_GNU #include =20 -#define USAGE "USAGE: %s \n" #define MIN_FREE_PAGES 20 #define NR_HUGE_PAGES 10 /* common number of pages to map/allocate */ =20 @@ -103,11 +103,6 @@ int main(int argc, char **argv) int fd; int ret; =20 - if (argc !=3D 2) { - printf(USAGE, argv[0]); - exit(1); - } - huge_page_size =3D default_huge_page_size(); if (!huge_page_size) { printf("Unable to determine huge page size, exiting!\n"); @@ -125,9 +120,9 @@ int main(int argc, char **argv) exit(1); } =20 - fd =3D open(argv[1], O_CREAT | O_RDWR, 0755); + fd =3D memfd_create(argv[0], MFD_HUGETLB); if (fd < 0) { - perror("Open failed"); + perror("memfd_create() failed"); exit(1); } =20 @@ -406,6 +401,5 @@ int main(int argc, char **argv) (void)munmap(addr2, NR_HUGE_PAGES * huge_page_size); =20 close(fd); - unlink(argv[1]); return 0; } --=20 2.37.3 From nobody Mon Apr 6 18:06:07 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 822BDC433F5 for ; Tue, 4 Oct 2022 21:46:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229963AbiJDVqN (ORCPT ); Tue, 4 Oct 2022 17:46:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56418 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232087AbiJDVpl (ORCPT ); Tue, 4 Oct 2022 17:45:41 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A66096DAFE for ; Tue, 4 Oct 2022 14:43:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664919787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iDP4uYCeHzqEOaCGXbcAwOcK1rZC2BBuQ6aTX5fgU3w=; b=cM7qRnpkZjQEY+Ujh9rGEuA89d+cTGs8Wg553RYc2JgYt2n6Ho9oaaph8I/589smYnJodG uVbaE9milM70QaDpc/de1JKEwc223QKnr+/SHNmJJhQ0wR+ANFjSjkb5j+HBwmKkvQivKj OiJWkRkEHcNP/J7ETkXicx8EQBmya1s= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-55-4EmC-g2cOFCE76Mk0UAzAQ-1; Tue, 04 Oct 2022 17:43:06 -0400 X-MC-Unique: 4EmC-g2cOFCE76Mk0UAzAQ-1 Received: by mail-qk1-f197.google.com with SMTP id o13-20020a05620a2a0d00b006cf9085682dso12629617qkp.7 for ; Tue, 04 Oct 2022 14:43:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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; bh=iDP4uYCeHzqEOaCGXbcAwOcK1rZC2BBuQ6aTX5fgU3w=; b=XUpWgcxiXR7lUC/47BTfVB9FaFkurFsJPTezaxK839KDyAB+uhVX6tgyW39C9CK4a1 CeQM0hwxfk1J9pSyoGe4vI6C6yiSExCC48VO7H0VyL8Qk4l+Kp7QcFm7je8A8BPX4bVP kxyJ//1VJrQiKFcCk6Lrps0+qRRkRgCcDk5aHnHuhRGbVNW70lBqBAtc0oOD3NncveZD fMvFSHAnhk2+jfLrEGg2HYQ6AGgE7iBZB6rD17IlzmymFmTkfJKGvCNpKIPnu3Weg4Hq VoP/k32iYw2ICSm6+4YtxvY/Fgn9T2yTbnBOisaw/fERhN9Lo+xx+RbJfz7g+OjKA1NO WYsQ== X-Gm-Message-State: ACrzQf2UJUXi5lUHhKG2MiYRcftVOQSlkDMJ7HuN2PA7jiR6DesIPp/d l90MnNmVyGTKbOOlmncoqeVLqCte/APSsOsoqmnrKL5SLBstXtmVmLbwk4lnpdjC2AZ5UwMilIx ie949J7jWFyCbUizHLl4hyqIj7aR15MOUuebfapNVQgHOE/SI6bb2yuAqPzFo7yvNX25WxXWIew == X-Received: by 2002:a37:4553:0:b0:6cf:4dbd:b5f6 with SMTP id s80-20020a374553000000b006cf4dbdb5f6mr18472734qka.339.1664919785841; Tue, 04 Oct 2022 14:43:05 -0700 (PDT) X-Google-Smtp-Source: AMsMyM77JL7JEmps8VFSIv2pFu3zdKv9SaLpBJ+ezlOLM+yMue29M9e7KeiI1bvH4JScBSCCgMYdkQ== X-Received: by 2002:a37:4553:0:b0:6cf:4dbd:b5f6 with SMTP id s80-20020a374553000000b006cf4dbdb5f6mr18472717qka.339.1664919785571; Tue, 04 Oct 2022 14:43:05 -0700 (PDT) Received: from x1n.redhat.com (bras-base-aurron9127w-grc-46-70-31-27-79.dsl.bell.ca. [70.31.27.79]) by smtp.gmail.com with ESMTPSA id a5-20020ac85b85000000b0035ba7012724sm13297803qta.70.2022.10.04.14.43.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Oct 2022 14:43:05 -0700 (PDT) From: Peter Xu To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: peterx@redhat.com, Axel Rasmussen , Mike Kravetz , Andrew Morton Subject: [PATCH 3/4] selftests/vm: Use memfd for hugepage-mremap test Date: Tue, 4 Oct 2022 17:43:03 -0400 Message-Id: <20221004214303.121394-1-peterx@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221004214125.120993-1-peterx@redhat.com> References: <20221004214125.120993-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" For dropping the hugetlb mountpoint in run_vmtests.sh. Cleaned it up a little bit around the changed codes. Signed-off-by: Peter Xu --- tools/testing/selftests/vm/hugepage-mremap.c | 21 +++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/tools/testing/selftests/vm/hugepage-mremap.c b/tools/testing/s= elftests/vm/hugepage-mremap.c index e63a0214f639..e53b5eaa8fce 100644 --- a/tools/testing/selftests/vm/hugepage-mremap.c +++ b/tools/testing/selftests/vm/hugepage-mremap.c @@ -22,6 +22,7 @@ #include /* Definition of SYS_* constants */ #include #include +#include =20 #define DEFAULT_LENGTH_MB 10UL #define MB_TO_BYTES(x) (x * 1024 * 1024) @@ -108,26 +109,23 @@ static void register_region_with_uffd(char *addr, siz= e_t len) int main(int argc, char *argv[]) { size_t length =3D 0; + int ret =3D 0, fd; =20 - if (argc !=3D 2 && argc !=3D 3) { - printf("Usage: %s [length_in_MB] \n", argv[0]); + if (argc >=3D 2 && !strcmp(argv[1], "-h")) { + printf("Usage: %s [length_in_MB]\n", argv[0]); exit(1); } =20 /* Read memory length as the first arg if valid, otherwise fallback to * the default length. */ - if (argc =3D=3D 3) - length =3D argc > 2 ? (size_t)atoi(argv[1]) : 0UL; + if (argc >=3D 2) + length =3D (size_t)atoi(argv[1]); + else + length =3D DEFAULT_LENGTH_MB; =20 - length =3D length > 0 ? length : DEFAULT_LENGTH_MB; length =3D MB_TO_BYTES(length); - - int ret =3D 0; - - /* last arg is the hugetlb file name */ - int fd =3D open(argv[argc-1], O_CREAT | O_RDWR, 0755); - + fd =3D memfd_create(argv[0], MFD_HUGETLB); if (fd < 0) { perror("Open failed"); exit(1); @@ -185,7 +183,6 @@ int main(int argc, char *argv[]) } =20 close(fd); - unlink(argv[argc-1]); =20 return ret; } --=20 2.37.3 From nobody Mon Apr 6 18:06:07 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E3F3AC433FE for ; Tue, 4 Oct 2022 21:46:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232087AbiJDVqQ (ORCPT ); Tue, 4 Oct 2022 17:46:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56422 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232088AbiJDVpl (ORCPT ); Tue, 4 Oct 2022 17:45:41 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A13E96D9E2 for ; Tue, 4 Oct 2022 14:43:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664919789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1leZa+nnl9FNTENOcXSgCnyxuJRrfcW3iiJbWx0HuuA=; b=C121Aoo8tsktwYue02bnSXh2o66cdYdXUND6CF5Iq+5IkMsTW7HPqBHTTedivbIAFk0kxB PDshUsJM5FE1Js3s0Y+/vxnc3QbGjhn9sY3VWgvtrOBj2tTqzWVBbD5opTorhVRmx9Hk28 UfNhPWCBRxyu7rsCLWSipffz/S4NWf8= Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-628-drbrBNo4MMqEOmunw90faw-1; Tue, 04 Oct 2022 17:43:08 -0400 X-MC-Unique: drbrBNo4MMqEOmunw90faw-1 Received: by mail-qv1-f71.google.com with SMTP id g6-20020a0ce746000000b004b1ab29799dso2705876qvn.1 for ; Tue, 04 Oct 2022 14:43:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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; bh=1leZa+nnl9FNTENOcXSgCnyxuJRrfcW3iiJbWx0HuuA=; b=ZZepmrCIq4adetSbnxb7nxdQ3LlAKUPCNG+qd4jpc/RTaXgrmNSspXWbZl0Eea3JPp VBHlu+DJwz5jxbP7cuk2qU46dc6V9zr1SVAA8g6WgKUa/KwUMhOlnhspsCkNComCB5TA j0cta1yo7O6uNToma3VnzIb8p+ovnmGiPJf9aCmVUWpCuaDP20jdeXn/8Bcacl4vbNtg gfl1+dVGJRla3qUtxfsM5xYbBNPUhYqVx/5z6mhjXuFG/wUk/Ahk7ea5hd6qBs8cIywo w7ILSnZj3n6NVtlSeTSQRyT2VlRw/Z6J2kEi2H1Sffhn16szDHPdNu9YN3Kxr14qtm40 P0HA== X-Gm-Message-State: ACrzQf32LKcoiwmd5iG29O2PeNpG7UWaC+KNsOVQ6VIUdFn2OydArRyq Mdcj8q3xYHCIY26iv0q2/4XqrRFOWe5QTkw1KyuB6WZjAjOdSjg4l87FHpc8Yy8Or0XYYllCMf9 C/CoZW8xefA4Z5kHF61AkCbs3uz1NhwqawUzAry69fCG8yKMHxVfC7qcJRdv1mQ6NXwNjg1AHBw == X-Received: by 2002:a05:622a:1aa8:b0:35c:c831:d601 with SMTP id s40-20020a05622a1aa800b0035cc831d601mr21283893qtc.434.1664919787693; Tue, 04 Oct 2022 14:43:07 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5/aHhdBDx5/pr6lLga5+ZqFgqfZHwQEpATTsLPquYDFCPYwZ1/spc/bamiVaGZogL3kF2qCQ== X-Received: by 2002:a05:622a:1aa8:b0:35c:c831:d601 with SMTP id s40-20020a05622a1aa800b0035cc831d601mr21283879qtc.434.1664919787439; Tue, 04 Oct 2022 14:43:07 -0700 (PDT) Received: from x1n.redhat.com (bras-base-aurron9127w-grc-46-70-31-27-79.dsl.bell.ca. [70.31.27.79]) by smtp.gmail.com with ESMTPSA id l20-20020ac81494000000b0035d27b254f3sm12482275qtj.40.2022.10.04.14.43.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Oct 2022 14:43:07 -0700 (PDT) From: Peter Xu To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: peterx@redhat.com, Axel Rasmussen , Mike Kravetz , Andrew Morton Subject: [PATCH 4/4] selftests/vm: Drop mnt point for hugetlb in run_vmtests.sh Date: Tue, 4 Oct 2022 17:43:05 -0400 Message-Id: <20221004214305.121405-1-peterx@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221004214125.120993-1-peterx@redhat.com> References: <20221004214125.120993-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" After converting all the three relevant testcases (uffd, madvise, mremap) to use memfd, no test will need the hugetlb mount point anymore. Drop the code. Signed-off-by: Peter Xu Reviewed-by: Axel Rasmussen --- tools/testing/selftests/vm/run_vmtests.sh | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/tools/testing/selftests/vm/run_vmtests.sh b/tools/testing/self= tests/vm/run_vmtests.sh index e780e76c26b8..0dc9f545a32d 100755 --- a/tools/testing/selftests/vm/run_vmtests.sh +++ b/tools/testing/selftests/vm/run_vmtests.sh @@ -5,7 +5,6 @@ # Kselftest framework requirement - SKIP code is 4. ksft_skip=3D4 =20 -mnt=3D./huge exitcode=3D0 =20 #get huge pagesize and freepages from /proc/meminfo @@ -84,9 +83,6 @@ run_test() { fi } =20 -mkdir "$mnt" -mount -t hugetlbfs none "$mnt" - run_test ./hugepage-mmap =20 shmmax=3D$(cat /proc/sys/kernel/shmmax) @@ -98,14 +94,9 @@ echo "$shmmax" > /proc/sys/kernel/shmmax echo "$shmall" > /proc/sys/kernel/shmall =20 run_test ./map_hugetlb - -run_test ./hugepage-mremap "$mnt"/huge_mremap -rm -f "$mnt"/huge_mremap - +run_test ./hugepage-mremap run_test ./hugepage-vmemmap - -run_test ./hugetlb-madvise "$mnt"/madvise-test -rm -f "$mnt"/madvise-test +run_test ./hugetlb-madvise =20 echo "NOTE: The above hugetlb tests provide minimal coverage. Use" echo " https://github.com/libhugetlbfs/libhugetlbfs.git for" @@ -126,14 +117,11 @@ for mod in "${uffd_mods[@]}"; do # Hugetlb tests require source and destination huge pages. Pass in half # the size ($half_ufd_size_MB), which is used for *each*. run_test ./userfaultfd hugetlb${mod} "$half_ufd_size_MB" 32 - run_test ./userfaultfd hugetlb_shared${mod} "$half_ufd_size_MB" 32 "$mnt"= /uffd-test - rm -f "$mnt"/uffd-test + run_test ./userfaultfd hugetlb_shared${mod} "$half_ufd_size_MB" 32 run_test ./userfaultfd shmem${mod} 20 16 done =20 #cleanup -umount "$mnt" -rm -rf "$mnt" echo "$nr_hugepgs" > /proc/sys/vm/nr_hugepages =20 run_test ./compaction_test --=20 2.37.3