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 23584C6FD1D for ; Thu, 30 Mar 2023 21:09:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6DDBB6B0071; Thu, 30 Mar 2023 17:09:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 68D516B0072; Thu, 30 Mar 2023 17:09:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5555E6B0074; Thu, 30 Mar 2023 17:09:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 459C16B0071 for ; Thu, 30 Mar 2023 17:09:31 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 999F21402AA for ; Thu, 30 Mar 2023 21:09:30 +0000 (UTC) X-FDA: 80626805700.23.4704BA3 Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) by imf28.hostedemail.com (Postfix) with ESMTP id 9E192C000B for ; Thu, 30 Mar 2023 21:09:28 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=mEiFTACM; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of axelrasmussen@google.com designates 209.85.167.45 as permitted sender) smtp.mailfrom=axelrasmussen@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680210568; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=bpUMpg3yepCG5iMbuz1fYVzL8K/nnTgwA5kWuMu4nDU=; b=nhy5UEvGRrmGu7lsKTPs0WJfzt4/wG4OA9sZX5oKcG60NwSWREGjgesnIApa3Ala3q+XnR QQanbXtXwiGRS+n/C+mOUg2h6b9ipVxicNW0z6Xghbh9sZDggIviKlNfQGVQ0fTEYVYNWR ukiA+yBIMJ8Wgybmi486i5Ct7UahTmI= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=mEiFTACM; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of axelrasmussen@google.com designates 209.85.167.45 as permitted sender) smtp.mailfrom=axelrasmussen@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680210568; a=rsa-sha256; cv=none; b=WAnV28LylXCGVEajyqxQv4ydnl3onSsZmubs3xapyQc/8wzBS0VttAjQxKh6D8ATFi8XEj +ztUb2ebPB0F7qGVY5PqgUf5JhDOUwSv0HXtk7FZLz3YGxBBXmch2haRRCTCtvJ7ivEj5D cMz/tL3WpsyH4ZHMoOlVECbwdmjOwxY= Received: by mail-lf1-f45.google.com with SMTP id h25so26236913lfv.6 for ; Thu, 30 Mar 2023 14:09:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1680210567; x=1682802567; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=bpUMpg3yepCG5iMbuz1fYVzL8K/nnTgwA5kWuMu4nDU=; b=mEiFTACMN4ys+SV3RwMNP9CyDfbK3m0zNWnSjwBcoN/v4ZTuJsEtLVtuw3oBTWadrc QjRKtvguD0d3r9P1YOHv0ZuMr6kpwXrIX3FIRVgCNLPlzzbapzkw/dPuo45RcREI5ZrF g9WMdkHUXoYvjYK7zB3nlKOqH85/zlKHsPIXTLKLv7u03CuQp8+OK3oGL29kccqYfP0W nyHwy96WWPgQuXQokPirMUA8K7RPXM3K0jJJsShWdYiFzkkC2MOUHha1r0kY+vfmbZu7 JW4Gq7jU6vFaaoNTPYt7lKxblvEhwbxRGUYuE7qEXExx8CGV7L4GN/tUA15QQ2pddExL jmrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680210567; x=1682802567; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bpUMpg3yepCG5iMbuz1fYVzL8K/nnTgwA5kWuMu4nDU=; b=FhF8x/AHntXfQpQr8qGG+vnQVlr6gnkMjteGjxCVUPJ0ET/NmeoGW+FgyrzXhOsHVq fhZUn9vSVSuJVURyolzaPPCRqP1u47WxNFoiUKx0MQedAfCEnnUsRjNrzcfY1TUl3AaN Zj+g3udnOlU6E4CxJlrsjZFP1q7ax6ItFZJO+gv98rO/RTEjaHkRc2BL4fWL6Uv4rYJw /w263v6uYpowLy1F+hf+fNddRP4tKQB5ElFbJYdmWsRSIo2LvAaADtXE97MJ8ThSIMfD 65pBzIwd0pNdiRk2HQPu0Wo/SDDwn4usar78Q0qMs5BnroIJb6MrukOzqDGtfE+8eTJg +Hsg== X-Gm-Message-State: AAQBX9ewwBzUxSid43+YfH/77PN/qHLeAme+QQX2lu+0d0DRedM7VJ3y Lzcwd4DFfRfhafQSJSE2Y7zRkEDp3xwE2vTvcXzYYFGRvGmSB9KgG+E= X-Google-Smtp-Source: AKy350ZACKX7j1h2YRZJ6+UqLdfbVy5E3og835SUkvWtBS7noJ7tpLqEKkeX/8+l2gQ5UDjBcxy0WNbvrzDpZCtbu+c= X-Received: by 2002:a05:6512:23a3:b0:4d8:86c2:75ea with SMTP id c35-20020a05651223a300b004d886c275eamr3409589lfv.3.1680210566612; Thu, 30 Mar 2023 14:09:26 -0700 (PDT) MIME-Version: 1.0 References: <20230330155707.3106228-1-peterx@redhat.com> <20230330160711.3106988-1-peterx@redhat.com> In-Reply-To: <20230330160711.3106988-1-peterx@redhat.com> From: Axel Rasmussen Date: Thu, 30 Mar 2023 14:08:50 -0700 Message-ID: Subject: Re: [PATCH 09/29] selftests/mm: Reuse pagemap_get_entry() in vm_util.h To: Peter Xu Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Andrew Morton , Andrea Arcangeli , Mike Kravetz , Leonardo Bras Soares Passos , Mike Rapoport , Nadav Amit Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 9E192C000B X-Stat-Signature: emkwexucx917feftyydun3xnzgiqw44w X-HE-Tag: 1680210568-32938 X-HE-Meta: U2FsdGVkX19D51lsEONaQ1hsZz8OtRcvf65CW+QirBunfLO3PQuLfOc5awgcTVFAg6LW+z7RRtfDHJAsKaDDC0TKq7Q2VSp5vXnvyy8Zykbk+1B3iyCMkFQw8ihWwM+WFkHSfEV9l142x1sMGKfTNe8KIPCnUx/ouA68X9lUc9ONf4WhdCmwhz/C4m7BiHv5MbbTslCii7JdPkG15ArXonZ/BBBviZGufiIg5VdLg2Qw6aa2GMaV4rda0h9g8upO9scBDqUqjQExsW/zKSY8S++VNg4b0NOCnd796VSJpdt/0CjC11HZ+gOrdN14ptMQeU9iWBBHLBsgcRR3R6bBIVbP5sKPdJREVYgtCqn/AoJA9LY288muwtz3ycPHdHQScPSgaz+ujf7gwM6T1erosCkyWurevmMkCPOSvb5rklLeQtMd7Xmcu6tNztJj91gAyghgqgVNeywyTf0jvlTGlqyrpY8cpefCwGXfqSWRAY80QRl/ZJ3MXR2bQT/rQS6yLPxq6ITFhQ7L39O//ywUgsFsXsp1xnTG560F2d1otjCOEdG1Mp4KBIBJ6r3MoyqRr0/aO49vrhmKZBhWpSxVdO2KCrKJx2E1W1C98vxlrWbgBPipfLuhP5UMC6m0ZUByMoouQp8QRS6RRD7G1blwmJuBJetbOReovxmh/7wEhIzJ0ZAHo/FoICaHF+kDt2X5gUXaWI5+/tKpWA5g2TzXSKQM8lDAFp5tzlft8qXq6GE3ArfZPbDQV3svff/S/mf/y5bMproR3276tyrJEZyAtxA44HzIJvx1F0RQaKi+eNxVb1chunZmSS5Ihrbr0QO51jjyUM8MdWuLfpKxsuignTGaU0Hu53xAg1CCCX0hJN2mPSvfGsKQYHGBVPZ1+lNXjijJzZcuQrImOYf0Mdm4149A3ZAeu3IqiByTNMljMYNcAjx1enGH4C/9+eYqBApjpFMJydmZZgZ4BxQFBvc pkJSuTJK uQd8u4CnUy4nZQ7afGCyVLFFH3/2EyfXyLrPNPcoj5Qp3vsXq1lrkfBQBBFB968QCjhnkPldJY3Zqwiu2Y3YfqSi2UMthU3Iv3RDc3chNEIvD2Z0ttAEmtuIQEQmwqCOZUOmsefZWM8NiXke0axnFprZgvQMcp27W0mr++/wxM61+461xjEd/MbQSS9ngSVGd5UyhE9jI9sVFNbFYimQWly7dZZw/wcdaXpiAWl2pkRCSuSdJYf3/u3HXXilc+05/9H54FIkIBXZu43qS0QHOrWnLQ9+2Q49X8zU8PsqEFZTt9cfWvBBtDqY0NHyuZF5C+l7qTtpIOfWVa4wnIxPF0VvdAa9Xi4epDW9G6wkaQqki2VAM+1Diy4vR//lhlXTxuqNqiDzoqePeX32SOIxC7TVxW7lBAy0InvMT 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: On Thu, Mar 30, 2023 at 9:07=E2=80=AFAM Peter Xu wrote: > > Meanwhile drop pagemap_read_vaddr(). > > Signed-off-by: Peter Xu Reviewed-by: Axel Rasmussen > --- > tools/testing/selftests/mm/userfaultfd.c | 31 +++++++----------------- > 1 file changed, 9 insertions(+), 22 deletions(-) > > diff --git a/tools/testing/selftests/mm/userfaultfd.c b/tools/testing/sel= ftests/mm/userfaultfd.c > index 7e841f7e2884..795fbc4d84f8 100644 > --- a/tools/testing/selftests/mm/userfaultfd.c > +++ b/tools/testing/selftests/mm/userfaultfd.c > @@ -1399,19 +1399,6 @@ static int pagemap_open(void) > return fd; > } > > -static uint64_t pagemap_read_vaddr(int fd, void *vaddr) > -{ > - uint64_t value; > - int ret; > - > - ret =3D pread(fd, &value, sizeof(uint64_t), > - ((uint64_t)vaddr >> 12) * sizeof(uint64_t)); > - if (ret !=3D sizeof(uint64_t)) > - err("pread() on pagemap failed"); > - > - return value; > -} > - > /* This macro let __LINE__ works in err() */ > #define pagemap_check_wp(value, wp) do { \ > if (!!(value & PM_UFFD_WP) !=3D wp) = \ > @@ -1427,7 +1414,7 @@ static int pagemap_test_fork(bool present) > if (!child) { > /* Open the pagemap fd of the child itself */ > fd =3D pagemap_open(); > - value =3D pagemap_read_vaddr(fd, area_dst); > + value =3D pagemap_get_entry(fd, area_dst); > /* > * After fork() uffd-wp bit should be gone as long as we'= re > * without UFFD_FEATURE_EVENT_FORK > @@ -1446,24 +1433,24 @@ static void userfaultfd_wp_unpopulated_test(int p= agemap_fd) > > /* Test applying pte marker to anon unpopulated */ > wp_range(uffd, (uint64_t)area_dst, page_size, true); > - value =3D pagemap_read_vaddr(pagemap_fd, area_dst); > + value =3D pagemap_get_entry(pagemap_fd, area_dst); > pagemap_check_wp(value, true); > > /* Test unprotect on anon pte marker */ > wp_range(uffd, (uint64_t)area_dst, page_size, false); > - value =3D pagemap_read_vaddr(pagemap_fd, area_dst); > + value =3D pagemap_get_entry(pagemap_fd, area_dst); > pagemap_check_wp(value, false); > > /* Test zap on anon marker */ > wp_range(uffd, (uint64_t)area_dst, page_size, true); > if (madvise(area_dst, page_size, MADV_DONTNEED)) > err("madvise(MADV_DONTNEED) failed"); > - value =3D pagemap_read_vaddr(pagemap_fd, area_dst); > + value =3D pagemap_get_entry(pagemap_fd, area_dst); > pagemap_check_wp(value, false); > > /* Test fault in after marker removed */ > *area_dst =3D 1; > - value =3D pagemap_read_vaddr(pagemap_fd, area_dst); > + value =3D pagemap_get_entry(pagemap_fd, area_dst); > pagemap_check_wp(value, false); > /* Drop it to make pte none again */ > if (madvise(area_dst, page_size, MADV_DONTNEED)) > @@ -1522,7 +1509,7 @@ static void userfaultfd_pagemap_test(unsigned int t= est_pgsize) > /* Touch the page */ > *area_dst =3D 1; > wp_range(uffd, (uint64_t)area_dst, test_pgsize, true); > - value =3D pagemap_read_vaddr(pagemap_fd, area_dst); > + value =3D pagemap_get_entry(pagemap_fd, area_dst); > pagemap_check_wp(value, true); > /* Make sure uffd-wp bit dropped when fork */ > if (pagemap_test_fork(true)) > @@ -1536,7 +1523,7 @@ static void userfaultfd_pagemap_test(unsigned int t= est_pgsize) > err("madvise(MADV_PAGEOUT) failed"); > > /* Uffd-wp should persist even swapped out */ > - value =3D pagemap_read_vaddr(pagemap_fd, area_dst); > + value =3D pagemap_get_entry(pagemap_fd, area_dst); > pagemap_check_wp(value, true); > /* Make sure uffd-wp bit dropped when fork */ > if (pagemap_test_fork(false)) > @@ -1544,12 +1531,12 @@ static void userfaultfd_pagemap_test(unsigned int= test_pgsize) > > /* Unprotect; this tests swap pte modifications */ > wp_range(uffd, (uint64_t)area_dst, page_size, false); > - value =3D pagemap_read_vaddr(pagemap_fd, area_dst); > + value =3D pagemap_get_entry(pagemap_fd, area_dst); > pagemap_check_wp(value, false); > > /* Fault in the page from disk */ > *area_dst =3D 2; > - value =3D pagemap_read_vaddr(pagemap_fd, area_dst); > + value =3D pagemap_get_entry(pagemap_fd, area_dst); > pagemap_check_wp(value, false); > > close(pagemap_fd); > -- > 2.39.1 >