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 CBEBDC433EF for ; Tue, 26 Jul 2022 01:39:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 25E01900002; Mon, 25 Jul 2022 21:39:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 20C768E0001; Mon, 25 Jul 2022 21:39:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0AEAF900002; Mon, 25 Jul 2022 21:39:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id ECCEE8E0001 for ; Mon, 25 Jul 2022 21:39:30 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B413B1C5FD9 for ; Tue, 26 Jul 2022 01:39:30 +0000 (UTC) X-FDA: 79727543700.27.EF90A68 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2056.outbound.protection.outlook.com [40.107.101.56]) by imf16.hostedemail.com (Postfix) with ESMTP id 1D1B61800B7 for ; Tue, 26 Jul 2022 01:39:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B6D5zIVcmB/++Rb7DhLPQg5JBlGU+rPMvgrKuYxnic6ggt7DGdYCLbcxQ0g3z/2SXHmWXqP7EFQ43+Nga88KanLLymsY2nW7wmBLkpMcKHvKGgKzjzHczjcByAkLTDyV2fPRI2ucyEKBGJDgh+FtP13Wp72R8yKYNt119EpQ0lAnDeOEyl1YhBF7IJhndjGtbNpMw7Zrp2mmxZ3whfbqPvAQZtaShM6m4qmIfNgukXpMetLTeJ6oDPMp5stzD8J8wpGtB8R53VR6YK+08zEK+h7fY4VuKMUss8ffySiHSV+PZ88/z4cAr7DL4dczQiZrJivadSuB5n4AyhIiI4qPYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yL7AM40ZTfV2bSgG1cIPeVfYt5Ue7YlNyU6W2cWpnRo=; b=irdfTr6wdTeelWJxizeMCY6SN/NiSzdisYj1u3oQABa7hINCgTAgBUuQPEAG01bg3UycIUTYJMYuzzGRipf0AIjEiMW6hkGWKTGKamtU81pzKRq4DjbZL3T1LfygW6qi1jyL9V/dymFQG3+aq9oU3UPXALb42oxiWgxfHk5y5zyPgxO9q84qerR4Th9nKUWHXgoc5T+Jk6j50Zwpjikf26x8ZIIYh/d0BiMCcwvf0VXOaOo9Z2p1CObkqL/dWgw/RtQvxjhjU+ef9VeHR25HYXv8Rh94pIkxjuvTpHdeawRHXhwJ3wlc+MR8p4g4yHzw0HOXqJr27WKK9bCBCo26SQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yL7AM40ZTfV2bSgG1cIPeVfYt5Ue7YlNyU6W2cWpnRo=; b=YbsFH7cuFsgyOYc/gBwH6QNFsaVggxgIygMYUh7vHZ9yH48ov1nprDRuFZEMMWQ6eG/A5VGzTzzzA/v8SZeNA1N6nBiMXJobKRaOWWJe1ucu3DzWWhBOQRxyoQR4cLCQY6Bbl5kgH2PygW5E5OD8SbelW0b8NnU6+taweF2n1+ettth4vHeVkMDFrjBolQfBfY6ydKy6EfGlZbCf7rzzvoY1QSOvjs9yhuDGqyT83Oddj+qspgOk6TVl3IY3jzyJVJoHpeCR1m2QbmFUqg+KrQ5XL69N+mEGGI/LHrB48KUm1CvVnY8n39pdXuKHWWHVWUIQsTTfsmlgnw6X83bw4g== Received: from BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) by MN2PR12MB3582.namprd12.prod.outlook.com (2603:10b6:208:cd::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.19; Tue, 26 Jul 2022 01:39:27 +0000 Received: from BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::eca6:a4a7:e2b2:27e7]) by BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::eca6:a4a7:e2b2:27e7%5]) with mapi id 15.20.5458.024; Tue, 26 Jul 2022 01:39:27 +0000 References: <20220725183615.4118795-1-rcampbell@nvidia.com> <20220725183615.4118795-3-rcampbell@nvidia.com> User-agent: mu4e 1.6.9; emacs 27.1 From: Alistair Popple To: Ralph Campbell Cc: linux-mm@kvack.org, Felix Kuehling , Philip Yang , Jason Gunthorpe , Andrew Morton Subject: Re: [PATCH v2 2/2] mm/hmm: add a test for cross device private faults Date: Tue, 26 Jul 2022 11:38:55 +1000 In-reply-to: <20220725183615.4118795-3-rcampbell@nvidia.com> Message-ID: <87ilnkabzn.fsf@nvdebian.thelocal> Content-Type: text/plain X-ClientProxiedBy: SJ0PR03CA0103.namprd03.prod.outlook.com (2603:10b6:a03:333::18) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dd67e873-6b85-489a-a0c9-08da6ea7ad1f X-MS-TrafficTypeDiagnostic: MN2PR12MB3582:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: v+VWHenQRnutprCtLnJadN4UnWzmz5FmGvz8UUEvuN/e7Kxav7lpGlGLzDRMxplfEax4wvb9Fsl5gNP8akRPl9YZZoYKM/DYD2AMNFgTFi1xwrgFuF/VgEW5lYpMFW510pipgWCD+ELujWmzhqX6Fd8QU4QWlw9b2MAS/RdDQchvRJ3LlVwlJi+AqfE7mUHAGlXmiNXZZ/fpL+xn9cjZ3CInNSeFaPKAggySCOA859TFsAB1Tr7AFqwovWOW9dZcil4lC6dLK8+dVfzdrODe5x0ejWjzlVRPapqBVvLh+/1dhtK7Wy8/2VO+/pEUoGsq9lWpzy90GNobG/Ct6rJe4BV+3KvHZez1cEyZ5ZvtVl9fvpcAosIVIyntgvvjNuZ5qjzHGpABY47GF9dAvMSSdMgrz6LV3mycQNxHu1gh6TfL45wyzwy8GFuXPu2Ms0tMWKhmhfkjh9wE/lZj95q0/JkxIKCdSPUoScWMKRkYpcQJvWfT2XxsQ5y9gHgl+Ft3lrOZjUhyti8QfgnNQ6fSdanns6wuBRXoBiW8KaJhgrrfLXak+mdMZqFY5MeDm7YugQElhD9uWLIBINKNYW8JMhpf6j8ciw0/3MSUplShWdjFeOqkXHMZJHeHizMW1iRZF6tJhCI3Uo4hNisqcMliyeJO6KLHNwTCfQlUc+a5Kt+bR5mBlhd5GOw+DJmwrYwGn0yPUzjN0yGHED6MTraq0AsPVqGgW4kyHsEAf9XzqKgcB4Zrk4I3bNddKM26vMBr X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR12MB3176.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(396003)(376002)(39860400002)(366004)(346002)(6666004)(38100700002)(86362001)(478600001)(6486002)(5660300002)(316002)(9686003)(8936002)(66946007)(4326008)(66556008)(6636002)(6862004)(186003)(83380400001)(41300700001)(2906002)(26005)(66476007)(54906003)(6512007)(6506007)(8676002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0/NFICcc6CIlP6+zn/iMRpDk8C85hcVWSWYSa9d4UzMXLMft0cDsrpWVsatE?= =?us-ascii?Q?C+8MLOoMwRD0smEZ2F6xHVH2RZR6bLgtknEfa3GbCaEmJx0YCvwEU8mAqMCK?= =?us-ascii?Q?1ynxrUdTxCp+BmuiGlWE6kjTAsBWPrYlib9/TFJBjuN++FQqT+J0ZNUA0j0T?= =?us-ascii?Q?9A9xyWTSJ04qzHFB97GsRLidRBYE7xLcWAToewVNxtWj44IHJcTgm9pF4fHx?= =?us-ascii?Q?mkwsmDODmXRYiIPsXtDNMWEbdkhdUBWDSK+Ac7EV4lO8KrgtBx3dS/v0Y3kK?= =?us-ascii?Q?uDB+uSm9NyFcT3dRUZgvfMcwBRPUOqIjmpFD6ECzn4YbSB+0bJl//L0B95nM?= =?us-ascii?Q?kjuk/K/DLBEAVFHJfEdDaVK/NGeyoUHJuj8EG2DeQ7ZFzdGWLLvpJpk0vG78?= =?us-ascii?Q?jE3E8gLj5QQUsSNEpUl96czkSg6RxbVd6KhWSrogogiq5ou66ioHzbf3Daav?= =?us-ascii?Q?zz36VYg605yQvWnLIwkyF5419g0s9eKvF4OZWx7kDnExE/p5GIZ6rxxcco0O?= =?us-ascii?Q?5QqayMcCvxLmjB+Mn1QG5DwAOMPNie1RZChbpWNUb4baveWrLa3VD+WCtVIG?= =?us-ascii?Q?PTBB3LL7IMCHUilcu6Im9UzGhIC7tDVTM2375pOD435XBh5VDwmiEvLSO+VD?= =?us-ascii?Q?YrmGoGFglLG0mtERDYktCl0S8h/EULPfwUXofuOddPLgZqIxHgWho6YJean+?= =?us-ascii?Q?pZd+E8o3U1wNwWOSzp0gWZPBUGOMfmcvlxjjwam1eVbvCxGZ/GVu8lLKI2j0?= =?us-ascii?Q?bEY5/NPmqlDNnz5QEYNWZrHhIQq7aOjdC1qJ2JdoFqT7QePpkRhu8aTF3Tlb?= =?us-ascii?Q?JjK6T2LYGur8JdM3EAOiyIWLPs5UhDbZim321Y/6ZoMRVQ8bj3oabEL0/D6+?= =?us-ascii?Q?DXsE7B8Z8xpsHfYsDWiQMuvb46poi1VvnDW7V5/aoRurNB9i3AAFe7QWHVcN?= =?us-ascii?Q?tU0BtMx9UDA7Rty38bJTRPeddkN+PdE4qyVluVl+vWosMk3vhkt/hxQMJQx7?= =?us-ascii?Q?KJ6tAP7SOBE5sKozECQXJFJHDCH5E+c+sPJIULo1ZivONDIddTaAes6s73cP?= =?us-ascii?Q?gqwQ0gZC08IW7xKiqyl2w6dnifEUqD1P5u+cmFh/xebxaLZW9vOvXA8fzdlR?= =?us-ascii?Q?h5NkuP+G94CeI0XukwVoeG4+iD7mgh5e8PztxKmm+jWIG58A1o2z62Ltm9su?= =?us-ascii?Q?SmqTdMMrqJ4wFH6l1JlwRteT3CH9EumcRLYhZyMYgmHnZS/7J2dMznbJ9+Jq?= =?us-ascii?Q?6tU6psQoduyHu+m52VU0mOoJehMA5BrxL1wxQzBDA9+JFnA+8ooGZlHn4t79?= =?us-ascii?Q?u+IEYQGja+yt8OA4H/SyVi3U6tjTRhvNgqPqpXrefFdMzDqpmfEGKiBuiUJd?= =?us-ascii?Q?qdbVJsXM2XrLk1vZXM4+WooZjW7DjjTYxurpmjw2Kl4ANJGtlF1kXQ1xhOm5?= =?us-ascii?Q?YiYZGSvHjYckEfoUZ+LuJyEaaeThnIF3cSP6/FQD/AaM4zHr7k3ARa54PAp9?= =?us-ascii?Q?9BZqI9m370Sv57UzxnyWksFWimYcSnS5r8Dq7nhBLIO+B2tGfWk+8WvtKL9V?= =?us-ascii?Q?kN/pRIw4S2VzLyB7HYvy5OMhBTw3yo1boRahvKhf?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd67e873-6b85-489a-a0c9-08da6ea7ad1f X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2022 01:39:27.1033 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jLRtou2tVfECFBmGQS33z62133jcU0ML0Y6hqLcWAcYAlA5NB2TxUFMenGXGECSQuMf/P58jntbbVxFymJATuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3582 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658799570; a=rsa-sha256; cv=pass; b=rHaTkS9H+NSrj2F/3JNkEJ2c8yfzp7MU2aNw0wAaAkUkj38qj69nLT2r4ukrcNpbu5X5gC 7vwrzZP5EhkxRKIre1yiK+8HCeBZwAhOeiatRnQPm/QFLZYl8J0eDB8u7rs1Vu9F6CUC/E wSzRphgEz7vXl/MaAS1j4AExrpiyH1Y= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=YbsFH7cu; dmarc=pass (policy=reject) header.from=nvidia.com; spf=none (imf16.hostedemail.com: domain of apopple@nvidia.com has no SPF policy when checking 40.107.101.56) smtp.mailfrom=apopple@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658799570; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=yL7AM40ZTfV2bSgG1cIPeVfYt5Ue7YlNyU6W2cWpnRo=; b=ZG+CPs1aONisGK3x6h9jgZAWTZF9Brl7MgsUtbQ/vF0sJk36cMUoIU2yT1vbZfEZb1glRU v9LBpk9eSL02IghZlg3kN9R5cCn2hlV3407Epc5NfwBMqoyWO1tSIIa7fcDMpY6frawrHU Ll1ZVwrz6p6RIXlZKF5zklfY5RbFPEo= X-Stat-Signature: 3hcdmhk3xypazdnsn6r6ykc6kt3xjk4a X-Rspamd-Queue-Id: 1D1B61800B7 X-Rspam-User: Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=YbsFH7cu; dmarc=pass (policy=reject) header.from=nvidia.com; spf=none (imf16.hostedemail.com: domain of apopple@nvidia.com has no SPF policy when checking 40.107.101.56) smtp.mailfrom=apopple@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspamd-Server: rspam07 X-HE-Tag: 1658799569-478175 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: Reviewed-by: Alistair Popple Ralph Campbell writes: > Add a simple test case for when hmm_range_fault() is called with the > HMM_PFN_REQ_FAULT flag and a device private PTE is found for a device > other than the hmm_range::dev_private_owner. This should cause the > page to be faulted back to system memory from the other device and the > PFN returned in the output array. > > Signed-off-by: Ralph Campbell > --- > tools/testing/selftests/vm/hmm-tests.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/vm/hmm-tests.c b/tools/testing/selftests/vm/hmm-tests.c > index 203323967b50..a5ce7cc2e7aa 100644 > --- a/tools/testing/selftests/vm/hmm-tests.c > +++ b/tools/testing/selftests/vm/hmm-tests.c > @@ -1520,9 +1520,19 @@ TEST_F(hmm2, double_map) > for (i = 0, ptr = buffer->mirror; i < size / sizeof(*ptr); ++i) > ASSERT_EQ(ptr[i], i); > > - /* Punch a hole after the first page address. */ > - ret = munmap(buffer->ptr + self->page_size, self->page_size); > + /* Migrate pages to device 1 and try to read from device 0. */ > + ret = hmm_dmirror_cmd(self->fd1, HMM_DMIRROR_MIGRATE, buffer, npages); > + ASSERT_EQ(ret, 0); > + ASSERT_EQ(buffer->cpages, npages); > + > + ret = hmm_dmirror_cmd(self->fd0, HMM_DMIRROR_READ, buffer, npages); > ASSERT_EQ(ret, 0); > + ASSERT_EQ(buffer->cpages, npages); > + ASSERT_EQ(buffer->faults, 1); > + > + /* Check what device 0 read. */ > + for (i = 0, ptr = buffer->mirror; i < size / sizeof(*ptr); ++i) > + ASSERT_EQ(ptr[i], i); > > hmm_buffer_free(buffer); > }