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 9AFB0C4167B for ; Fri, 1 Dec 2023 16:27:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BAC9E6B04CA; Fri, 1 Dec 2023 11:27:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B5CC26B04CB; Fri, 1 Dec 2023 11:27:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A24A56B04CC; Fri, 1 Dec 2023 11:27:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 94B226B04CA for ; Fri, 1 Dec 2023 11:27:09 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5B634A0580 for ; Fri, 1 Dec 2023 16:27:09 +0000 (UTC) X-FDA: 81518778978.16.0891424 Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com [209.85.219.172]) by imf17.hostedemail.com (Postfix) with ESMTP id 1C3BE4000F for ; Fri, 1 Dec 2023 16:27:05 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=uVyziKH7; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf17.hostedemail.com: domain of surenb@google.com designates 209.85.219.172 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701448026; 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=qdQY2rO8kp3VX8kHp5yrzZMNN707JWDTWQPo3xyvnp8=; b=gRNz5sYi/IRO+BnaZXIFN4XNO7oOgc76bHTQACU3UrBMUt90Zjhu85p7+TJSLy4+HRNdwW BuARjhhbsdFTem3tzhgfsjONYXG3y6PBLH83N3u6kftAmm5GHryrEvKFT1ptx7F3bV0qIc 9+syTstw/Sd4wjN6TDhLhkKDadUSxjg= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=uVyziKH7; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf17.hostedemail.com: domain of surenb@google.com designates 209.85.219.172 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701448026; a=rsa-sha256; cv=none; b=8Jaj0NIiQcKwrJOwBxan0NqvuM7ou1wQbclDmaZ8VXJ4uphu+q7Y2Z2RwEDFch28gk3mLv UkBiIpW9Bb0Hs/MQQnB+cxJkWOMY3h2fpGVA5iwuYcNJFbdWSK6fLZJhJW3n3I79s51vvf cu2s7txyiNIjlKqcsa+9yydgvKEJ+58= Received: by mail-yb1-f172.google.com with SMTP id 3f1490d57ef6-db4364ecd6aso745024276.2 for ; Fri, 01 Dec 2023 08:27:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701448025; x=1702052825; darn=kvack.org; 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=qdQY2rO8kp3VX8kHp5yrzZMNN707JWDTWQPo3xyvnp8=; b=uVyziKH7kxTQ5oq2EGGngmGupvgBBTs5F4iM1INjg/il0JOnblFO+Sju/k6oh4x/H6 VeMKhq+VpY0+vsg7oGZaKiDzCeBkp2ogib6v8O7YY9K1udF3VYMy/1H/F8RvnBn+2gKG Mwkzi7qhx+c/60jvT/J0nmzwD/dVL9tp0GpwXzZGGoXgwC1DWqM3BzZ1Wr9ZJABRbt5b AW9UHid/UfiwzztafDrZ2hoy40ATTmU7/jmwgo1tAB6lNZBLLkeRypaKeaAHibTZ/mbN geBX2PxfkZDvsWYckH7gqi1c/fzoSUsHx2HbPhYXIyzdhsxJVJHbu42KKkXqld8ZSWJI ScXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701448025; x=1702052825; 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=qdQY2rO8kp3VX8kHp5yrzZMNN707JWDTWQPo3xyvnp8=; b=BZxTHsspO6XQxi4IdNfC/uzO+izqycaRdPyvSxPolLh84+0QGBqwhWPf4FK+9aohfz XEn++eq0Kt2wRwJu7rMSyk5Ce4/hsG9rqkhwdi3nW/qmDL+df73Ye+1lbsL2c4PYgVcf PYHPHPv4H8952hLFTd3wq5A0Nz+fhtBC8Zq8Al4ofMuezaf/cCtXzbsuC/msRVXZzCZY lfg4NYAlgydX2Up0/rdXj3YqOJz53+HFmtgE/ZoGrQXbBTGyySO5Zbw7woG/REyY8o2Y zYSnaLkHDyhWrB2sQH4dFNoV0uafjxUN7riDvwtJYjOq76gc4vKxXYo+Kl54Nbt4t1MP Uwtg== X-Gm-Message-State: AOJu0YzuwcO7xwQGu3qO9imsHsT8IcsHcXS++3NeSchc4ZiDlN/AuEzO oOFmjb5i4efqIRxtfX5kCoZvkdde7RlhjqGoCEGlSw== X-Google-Smtp-Source: AGHT+IEom/S4gZpVn1oYHJmGvaqqrg1rL1XCWGsO98iZ+FbjMDZpHCZVbMQBZZO7cGiucq3ZSmPfizY6/7p5S2bZcqQ= X-Received: by 2002:a25:244d:0:b0:da0:c49a:5fdf with SMTP id k74-20020a25244d000000b00da0c49a5fdfmr22604397ybk.7.1701448024871; Fri, 01 Dec 2023 08:27:04 -0800 (PST) MIME-Version: 1.0 References: <20231121171643.3719880-1-surenb@google.com> <20231121171643.3719880-6-surenb@google.com> In-Reply-To: From: Suren Baghdasaryan Date: Fri, 1 Dec 2023 08:26:51 -0800 Message-ID: Subject: Re: [PATCH v5 5/5] selftests/mm: add UFFDIO_MOVE ioctl test To: Ryan Roberts Cc: akpm@linux-foundation.org, viro@zeniv.linux.org.uk, brauner@kernel.org, shuah@kernel.org, aarcange@redhat.com, lokeshgidra@google.com, peterx@redhat.com, david@redhat.com, hughd@google.com, mhocko@suse.com, axelrasmussen@google.com, rppt@kernel.org, willy@infradead.org, Liam.Howlett@oracle.com, jannh@google.com, zhangpeng362@huawei.com, bgeffon@google.com, kaleshsingh@google.com, ngeoffray@google.com, jdduke@google.com, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 1C3BE4000F X-Stat-Signature: o3nspz73nf3oetiu3eyb8wc3z79kuo4u X-Rspam-User: X-HE-Tag: 1701448025-131009 X-HE-Meta: U2FsdGVkX19+KE3VOU1QXbiJlmQnHjjUQq6V6jr57He+qJt2kyvRMdGURh3v41YzLbU+StdhNeAL9jNfEKnhMCIMwvZP16V0vNQX4aHdCcNmtqC7tvqgJv6hoCVj8uZhHrraM3uJwiAEH91m9c2z8Te3NoHqNBlmwBp5tuZDoTYowY7pY4RZin+/87ZKXo2PrF/tGc3hSBRpj73pPrkGJWEC9pXwCKjMTKTwZAuwDq4TXAVMa7laUvB7pJVpTwLIA/ss90YEo4LjNnd2vqQ247BMh8+GgpKRtfwmNOdYyTKp5kZacbUxgYSmigJfFtA1jKs1u195DZLImSN1CmShb1n5uTJgJM7MVr3yDGe1obi0iWQLJRC3zjknWAjESIaHFB0FMfZhD7mnROB8ylc123fpe/Js0jI/RUt7OaKbw6+mHIifA1AVVjhyY6K/dc3YDFMWSmVxvO8TgOpn3+n/N88h6RmKlg41lSY593eJuyJL/AyDiyE7lEXikl7zvlmSk1VTl/xZ1ALoh2bcQnrCDE+9+3HnyyQ1yNX5Ne/rIQecTICRbi74eM2HPCBrYiCLp/AUHGJe8i0Ox8j4swan06SbNWdr9+m6gdIYrpXsM/3pFo89XJK16AQm40pFpV0jAm5slvT5nmIv87O2RtVsheIE6pa3ycjzXE1BSKXmd5ErfA3HKCTQzYiPdJq3Rg8PXigWrI0a4RRPZSMHSXXWcIiXSUPZxUcOEBX1RXDjHKH/YNVfyHp2SI9Qgtqiy9U6Q6rDPbOGyjGAo3qgwrsjefQeiZJsg+dubqL1PC7HwGEAIIFh0jNLg6VFVmMTZp5hzpR0Pj2BUPlHkqXw2aEJRbH4OCifglFIKKXhsAzN2l8LnmkvN/WsP3WX5vCmMuZr6gLSG7iHWFKiGBXdulS6AueZBSa10c53uD52oxFU6Ie26+fD47d+O5H7xv0100BEef8lB0FA04nwKENJvN0 7pZmje1r AQuGvHgPng2Y3AePldPO00/ulGrjWzyqjMsmpoNh6XATiFXZzP2kvSe19JZ0qWP3wUohFNfpx8omwMVxuI/ZUtga4eKQdNnG9wqo6JaFWyViTMMkK9hMNIJJiHPlA3ii4NaoXSFBisoqu8TL7Jd3lHxkYeOoukEyWnL0Wo/viQjgH8hr/3epARYmhO9aeXsWmvNF7s+Peb+LzosvkLNHxpdfBTjB6/siI/xHS0gfCOJKzN65GZ5f9oufAiCGcHvrgg1cp/SFFbrc4ZF0ja4f9UtWwxj34leDrZK31Z1UN+29K8OrjhCnGBIKth1RQbQChUx5BeCjLe/5lMt67KuObFPvuSXNxXFeXXq/4i0dp6SDknaYJbmpjWVFLlYQ0bcCtgYwilT6O2IdQOjw9bUGrMPbKtg== 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: On Fri, Dec 1, 2023 at 1:29=E2=80=AFAM Ryan Roberts = wrote: > > On 21/11/2023 17:16, Suren Baghdasaryan wrote: > > Add tests for new UFFDIO_MOVE ioctl which uses uffd to move source > > into destination buffer while checking the contents of both after > > the move. After the operation the content of the destination buffer > > should match the original source buffer's content while the source > > buffer should be zeroed. Separate tests are designed for PMD aligned an= d > > unaligned cases because they utilize different code paths in the kernel= . > > > > Signed-off-by: Suren Baghdasaryan > > --- > > tools/testing/selftests/mm/uffd-common.c | 24 +++ > > tools/testing/selftests/mm/uffd-common.h | 1 + > > tools/testing/selftests/mm/uffd-unit-tests.c | 189 +++++++++++++++++++ > > 3 files changed, 214 insertions(+) > > > > diff --git a/tools/testing/selftests/mm/uffd-common.c b/tools/testing/s= elftests/mm/uffd-common.c > > index fb3bbc77fd00..b0ac0ec2356d 100644 > > --- a/tools/testing/selftests/mm/uffd-common.c > > +++ b/tools/testing/selftests/mm/uffd-common.c > > @@ -631,6 +631,30 @@ int copy_page(int ufd, unsigned long offset, bool = wp) > > return __copy_page(ufd, offset, false, wp); > > } > > > > +int move_page(int ufd, unsigned long offset, unsigned long len) > > +{ > > + struct uffdio_move uffdio_move; > > + > > + if (offset + len > nr_pages * page_size) > > + err("unexpected offset %lu and length %lu\n", offset, len= ); > > + uffdio_move.dst =3D (unsigned long) area_dst + offset; > > + uffdio_move.src =3D (unsigned long) area_src + offset; > > + uffdio_move.len =3D len; > > + uffdio_move.mode =3D UFFDIO_MOVE_MODE_ALLOW_SRC_HOLES; > > + uffdio_move.move =3D 0; > > + if (ioctl(ufd, UFFDIO_MOVE, &uffdio_move)) { > > + /* real retval in uffdio_move.move */ > > + if (uffdio_move.move !=3D -EEXIST) > > + err("UFFDIO_MOVE error: %"PRId64, > > + (int64_t)uffdio_move.move); > > Hi Suren, > > FYI this error is triggering in mm-unstable (715b67adf4c8): > > Testing move-pmd on anon... ERROR: UFFDIO_MOVE error: -16 (errno=3D16, > @uffd-common.c:648) > > I'm running in a VM on Apple M2 (arm64). I haven't debugged any further, = but > happy to go deeper if you can direct. Hi Ryan, Thanks for reporting! Could you please share your kernel config file? There are several places UFFDIO_MOVE returns EBUSY: 4 places in move_pages_huge_pmd(), 2 places in move_present_pte(), 2 places in move_pages_pte() and once in move_swap_pte(). While I'm trying to reproduce, it would be useful if you could check which place is triggering the error. Thanks, Suren. > > Thanks, > Ryan > > > > + wake_range(ufd, uffdio_move.dst, len); > > + } else if (uffdio_move.move !=3D len) { > > + err("UFFDIO_MOVE error: %"PRId64, (int64_t)uffdio_move.mo= ve); > > + } else > > + return 1; > > + return 0; > > +} > > -- > To unsubscribe from this group and stop receiving emails from it, send an= email to kernel-team+unsubscribe@android.com. >