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 4C937C00144 for ; Tue, 26 Jul 2022 21:14:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CCD9A900002; Tue, 26 Jul 2022 17:14:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C78658E0001; Tue, 26 Jul 2022 17:14:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AF276900002; Tue, 26 Jul 2022 17:14:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A04208E0001 for ; Tue, 26 Jul 2022 17:14:19 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 7A412120804 for ; Tue, 26 Jul 2022 21:14:19 +0000 (UTC) X-FDA: 79730504238.05.F946893 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2050.outbound.protection.outlook.com [40.107.237.50]) by imf20.hostedemail.com (Postfix) with ESMTP id 138171C00B3 for ; Tue, 26 Jul 2022 21:14:18 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jPF24+pV2ftpz8IGbqMTL/8W/vrwPwhnmg1LkGh9An3JLYQJVYof+2njDcVDMvENRBBet1qgBfptVIv1t2ruJg4865/aZBkAEblhfAThkw92D6Wn0BYA19pC8V26HlfgWLsxWCWhmvpCYb1slO/TaEgzejEcNjtJeOp/FJM6mCQN5/lynCOg52cZ9tXCQmZ6UlALF8fR9KlOLrWKC0UFU91cx3ucJZNA7zBys2R4SNWVL05YaBASu2UZCCFeT2AT6tpuUJUHBTs8teUSDKeiukhDMrOw2fqsLd31GGo0x97IvfC1h/oLhPlCilSRmlIrsP/jHFJAspiLiRVahyCmgw== 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=E+CNO7nr9cJG7AXYGNZWE4m0c3lIgkaQF043jT/n2ZY=; b=Aehx+a6ode/jeAq/rilOgLERUSbklpYnDT0NDimyXSziCGNJGkb7cy32NeaQ7RA4sif6heJx0og+Lw6S3BI568WIVJ3QV4wV1aFyMKjAalsv+rXCw5M3zw+6wKPjl/Zaq/07Beg+0QOqlX5+3wxkIN43TI+NqtAG18eqj2AO546gUKsf9BVLCrhIaSicxceUOQi8kYcSuvt+RTCp2hwVQwjoQitNhgSMX1YqNKbosSVsq21e4ioLyhFiqCrNpFKUBXeI8+BTeawue2hWqRJoRCZCd4mfOxOr4s3k5RybONFOQoyPiUCy7UhU4n8kJNXPnn9KsmnyWedWp4eiaC9qtg== 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=E+CNO7nr9cJG7AXYGNZWE4m0c3lIgkaQF043jT/n2ZY=; b=LN+6uXFcRqkjG2YqWeIjhGNVSrk9pTwkx02LUvphEv/4/SAl8y9kwXhgv9wHnat0IZ0bHyr3XaeZfNQj+dUnVtRDcxG5AGY1nmha7Dsvul1vmG9caUNMT+kxjKm4mz0b6bCJ64toZrWeD4hZoqCk0F+J8fS95y9828VzywpLCH7Me+yMg7RlJCXmj4kjMUPNj2HOx1tSjM4NnUjinLdAeyowLrFD0poVLwUh4j1ijqizOfg2bF18mPTVyYibIhh5DxTDeZlDK9x+q9YX96b3fR9nQT7nIYnATQEtacHsmieDzuKmpFqqrOySuMSgElhtjuK+dxnABCNv+YOEcsQJPg== Received: from MN0PR12MB6150.namprd12.prod.outlook.com (2603:10b6:208:3c6::11) by BN8PR12MB2964.namprd12.prod.outlook.com (2603:10b6:408:43::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.18; Tue, 26 Jul 2022 21:14:17 +0000 Received: from MN0PR12MB6150.namprd12.prod.outlook.com ([fe80::30b4:54b4:c046:2e14]) by MN0PR12MB6150.namprd12.prod.outlook.com ([fe80::30b4:54b4:c046:2e14%3]) with mapi id 15.20.5458.024; Tue, 26 Jul 2022 21:14:17 +0000 Message-ID: Date: Tue, 26 Jul 2022 14:14:14 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH v2 2/2] mm/hmm: add a test for cross device private faults Content-Language: en-US To: John Hubbard , linux-mm@kvack.org Cc: Felix Kuehling , Philip Yang , Alistair Popple , Jason Gunthorpe , Andrew Morton References: <20220725183615.4118795-1-rcampbell@nvidia.com> <20220725183615.4118795-3-rcampbell@nvidia.com> <299fdf08-0d88-6361-c9ec-07ce52395212@nvidia.com> From: Ralph Campbell In-Reply-To: <299fdf08-0d88-6361-c9ec-07ce52395212@nvidia.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SJ0PR03CA0079.namprd03.prod.outlook.com (2603:10b6:a03:331::24) To MN0PR12MB6150.namprd12.prod.outlook.com (2603:10b6:208:3c6::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ff09c2b0-5d0a-4b3a-29ca-08da6f4bcc6c X-MS-TrafficTypeDiagnostic: BN8PR12MB2964:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Mm1T8/3uFXSLFmRxoXqeWsvUtacIEDDa8XCcTv0+M0MSSK4gXQuv6iMETHlFeW9NQKAfkXmWy97L9+iBwFCDZVejYRueoByd6A7OeZCiE08MclTrBx0l1F2KbMvNDnrUENc7vplgro42Vr9+ZkFDfebbruxLvZG83jzrvQNSDGKnWoguInlVwTDR3u9jWnJFUT/lb/anCUhoahoeRk16HLRMGnZ02TmJP1uLDLorab6jDgKoOMy27/OwC6zZNmKN0tYlFSwETZ2GJZYxRzFwGt66W5q8RoAbkcBiAhNy5Kmf8tUI26DRYG+wGXhJn5i20Kx9K4koQqj4tKIAUEDEmlTMRkAn13h7l4MIiq+Y9wuzAZUUajHbqxyPkZ/S3MDmz6j7ft7C0fSAZqHCnQQn2/+dt/Mb90gOd4JYbEnr59I/C8PxI/I9YkQLHqO+2WlJLDhkrPxOvVIbMtoIwvPMTHm6vPKwkxyQhcy6FMsIk1q4kzXUjBHknYZujHAKVtAVqVWs/olREskBl/pc8WWKRMm8alAT9TBsZSGkD2+GW/31UwPVW6DxJkYWFPB90AHxfR9sTmOSh/O+ewVuYKhc3oSSK7G4JU23s3HEc271YWqPLsmcT3fjgGzMNYoJO4s/W8DwvxS13HiggF03aKU0O6KkEO+98aPQxPhg9wXJ3/vExekC/uIzq5b/yJTUft49g+kV72RAFjTZU0T/Gr5Asm/iZIfRisnCVqhc4u4PE/9Gh+20GNd8kpchVtfEvhhQwTkoS/V9qzISPP42qr3w4IMoY1gFqzWMOC9LcA/RNQRGY+ChT0yGjK+oaDnXBlrCxwY2woL0LXb9lMCJettDhA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN0PR12MB6150.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(366004)(376002)(136003)(39860400002)(346002)(83380400001)(8676002)(4326008)(66476007)(6506007)(66946007)(53546011)(6512007)(41300700001)(478600001)(66556008)(86362001)(6666004)(2616005)(316002)(36756003)(54906003)(31696002)(6486002)(186003)(8936002)(2906002)(5660300002)(31686004)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MTQ4N21jcVl5RVlPOEJ3ZnlyMzAvanFzaEc5YTM3alVhajkzK3k4aG4ram5M?= =?utf-8?B?NDVraHI2ajFtWEJpVHZ4VTlVa3dyM0pSeUVKd09rYVhycWhXVXlCM0pHVEVQ?= =?utf-8?B?ZXpKSVlMOGdsWkx3b0RWb1kzd3pXMFJFbm9oTUlZdHM5NjNrWi9MSnZ1V1Ru?= =?utf-8?B?eEZyZXdmdkx5RmZuNHcwcWorOWE3TEpNcEdwSkxLSTl1bGFlRENlNzFRYjFv?= =?utf-8?B?K2JqNTZzS1pVanZCRExJMFBPQnpycDVWVmwxZThmZ1g2dlFOdTc4YmRpWC9B?= =?utf-8?B?eUJGY2F1ZG1MMnoxbzhJVS85MVUxKzJhMmx4V0hEbXRMMnhOeEM2bGxwbXZa?= =?utf-8?B?WGQrZENTM2t5ZVNmdEc2TU8yWmI0Q21oc0U4azRRdm9XZ1BsYnhhQnNnTnhU?= =?utf-8?B?Sk9kOUpNV3ZYLzdlWTh0NTdZL2xPUW9tcmo2a3NVT0NSTkFzckd0eFo4OWp1?= =?utf-8?B?VDNpWVlibFd4ZlFhVW9NNHRCTUdubldMQm8rMDFjRElSZ2NScmJMejRFWUFU?= =?utf-8?B?a2RFTWh1L0hHZWdabDJ6VFgzc0ZmSkk5MS9YbWFzeTJkaXB4eWhpeVBXWjR6?= =?utf-8?B?ZWVNQU9aR1hic1UxRGQyWTlIblBvWUo3MTRWVEEzMWVBZ3h3NW5tNEpzRjJx?= =?utf-8?B?VkFPaXQ2MVlvbDVrVG1ib3kydm8wSDJjYUYya0VhOWRGVmJlTGFzVDhQY3FT?= =?utf-8?B?M2wweG5WQkgvQzlOMVhRMVpzN2FDTXl2WTZ2RkNsdE05dlFIMkVhV2dzRzU1?= =?utf-8?B?WTdFODFYT0tHYmhyei9rUEJyMUVVTVBTcGRmc2N1Nlh1ZHhZY2crRXBNQzd5?= =?utf-8?B?V3lkd085MUR0R3hNSWgwQUpSbStiTXRWb21zYm90cStvdmVvdm0yRHVKdDZQ?= =?utf-8?B?N3VMN0t4elJRVU4wQzNwTC9ZL3BBcEpsUHI5eUx1em12aUV0QUliK0pUbmVI?= =?utf-8?B?UDNWbDdhS0cyUllDSCt1ZGJTd2RUcjl4andpS0k5d254SGhPamw5OUtFYkla?= =?utf-8?B?QXRPcnRZSGtLNmVRdS9RUTlpbEpXa084NVBnSkdjaTh6MmdUVHlIakxnM3Fr?= =?utf-8?B?eXZPUElaV25oUSsvejEzVUl0aXVTR2NMSjloK2VGazhNdk1CdlVNNlJ1WmVs?= =?utf-8?B?ZlFPT0lOQkREUHJJUzlPZGlGU2t0SW0xQjVjYy9ITTYyRHUremYxZTFXcFBm?= =?utf-8?B?c3BueXhvNGdmOVhUdE9VaGxJL0tLTkhDR1Fia3FheldRdHZOS2VkbWJPZHd5?= =?utf-8?B?RFpndDN4dHBGaE9OVmsyczZha3FCa1paTlNGN1NXZlBmWndpeEdzY21xWWZ5?= =?utf-8?B?ekcyWWErZ0JQRU5pbStQYXVKdnVSbGlROHZyR0ZLSFhwQXF3cFVBWEpHKysr?= =?utf-8?B?TGpxSE51eDg0bmovRVRGbXNtSjl6R2tEcUx0NWcwcEtZK0lSNmVzaGwyY1lh?= =?utf-8?B?Ny9rMDJrcjdqcU1YbkQrWGdtcnhnVXZkZW0yaFpFeHEzNmNzdXpnbjNkOVBG?= =?utf-8?B?a250MEFIeWQ2SWd0MmthNURNN2ZkL3UxK1Y5NW1IV1RIZHJxU3hLU1FIQjJX?= =?utf-8?B?NkQ4TDJkZlNJRnZpeVZBWG9vbUovd0Q4VUJKM3NtRXhlYk1waGswZkdzT0ww?= =?utf-8?B?OHZCb1VhTWlJNWpaT2IrWTkrK0tLQ1dVMlcwNXhSRVJ0bExZdmlYMUJ6ZTF0?= =?utf-8?B?TjFDUFRBSUNGTUM0cEJxalJLMkJSRUFBK0E5K28rRWxkOGJGQjRSOHZlV1VV?= =?utf-8?B?U1NPd2JCS0cra1BMR1BsSUI4eUJ2YW1MQXMvU1ZoeVVVaVltcDlaWDFlNnBU?= =?utf-8?B?c0llMzkzNW93NG5BODhhU2gwQSswN2JvR0dDQmJtWW5aWUhTTWUvaHRjK0oz?= =?utf-8?B?TGkyMnJxVmg1RXRURDZ5dDNhcDF1czlFdzkwdmNJVmdWMTZhd1p0Vm13N0Rk?= =?utf-8?B?NjhlK2w0Qk5GZXdoTWxDZUZnMU40MVFuK1FzdmY5Vkk5QVlBRHcweDlNSndG?= =?utf-8?B?RnR4SGNROGQ0dkhUTjhDaWs5RXZUNVk3aUFORXVMZ1JZb1BMQWJCRm9RT29F?= =?utf-8?B?QlYzRFVyd0NoYk51VE15L1hIcXF1TkNXamtQSmFZdEpFNWpzTVkxS01MbEFG?= =?utf-8?B?UHg5M3ZHWDA1ajBVVW5jWU1ZSjNMVUUzWVI0Z09HblhSaE9jMTRyUlJYbXV5?= =?utf-8?Q?bjGyv9ijfDKJDmfcdNuwHUY=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff09c2b0-5d0a-4b3a-29ca-08da6f4bcc6c X-MS-Exchange-CrossTenant-AuthSource: MN0PR12MB6150.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2022 21:14:17.0466 (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: DYTKnEcrqHG12XQ6QqOycRn2jUuGsCFjeZBpHUrheGh6dQUQKWS7PzmodU3fKcMa9wXeDWu5PbBR/hSKd6zmsw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR12MB2964 ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=LN+6uXFc; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of rcampbell@nvidia.com designates 40.107.237.50 as permitted sender) smtp.mailfrom=rcampbell@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658870059; a=rsa-sha256; cv=pass; b=Wows/JyUYeaUPO1URbgjaPunvWsUFx6c+mnNXPAa17QT/SoA6Y4GEAG4bYaNim9whojMn6 lsvAjEHYnJKTHRJezFXT/ZIA5IcZBQpaeZmaQQKkpSFw+2MMe68POL/QQW9XQnrycFsjlD 1D/fDTK3JmAFDxU3Pw3kAXKMOR9M3GE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658870059; 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=E+CNO7nr9cJG7AXYGNZWE4m0c3lIgkaQF043jT/n2ZY=; b=hk4lzMOFcVoCtVcgx1ELFcJeaIrEjVen1MEscGt68qjtgnWnctABA9TXxkOXt9tj/5KdDY qU3DbjQ/zmDohg2rwkMj/4Iyy9e/uxYklu/K0Rm+B4y5fQ4UiVR6tIvsF7MSWa10VUew7y pHet6Nan5jd6FKhSEeXUXedcolsVKmM= X-Stat-Signature: umpffazsaigk8g9hdym3ne8jh3za5qb6 X-Rspamd-Queue-Id: 138171C00B3 X-Rspam-User: Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=LN+6uXFc; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf20.hostedemail.com: domain of rcampbell@nvidia.com designates 40.107.237.50 as permitted sender) smtp.mailfrom=rcampbell@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com X-Rspamd-Server: rspam02 X-HE-Tag: 1658870058-604935 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 7/26/22 14:03, John Hubbard wrote: > On 7/25/22 11:36, Ralph Campbell wrote: >> 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); > > If this removal was intentional, then it should be mentioned in the > commit log. Yes. It does nothing, probably a copy & paste error. I'll update the description and send a v3. > >> +    /* 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); > > I'm assuming that your testing shows that this fails without patch 1, > and succeeds with patch 1 applied? Apologies for such an obvious > question... :) Yes. Without the patch, the ASSERT_EQ(ret, 0) would trigger. With the patch, ASSERT_EQ(buffer->faults, 1) verifies that the pages were faulted in from device 1 when device 0 tries to read them.