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 0A8F8EB64D9 for ; Mon, 3 Jul 2023 03:07:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 46B1A8E008B; Sun, 2 Jul 2023 23:07:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 41D328E007C; Sun, 2 Jul 2023 23:07:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 294FC8E008B; Sun, 2 Jul 2023 23:07:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 159128E007C for ; Sun, 2 Jul 2023 23:07:48 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CBB771A0616 for ; Mon, 3 Jul 2023 03:07:47 +0000 (UTC) X-FDA: 80968815774.24.66B833A Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2124.outbound.protection.outlook.com [40.107.96.124]) by imf22.hostedemail.com (Postfix) with ESMTP id BB327C0009 for ; Mon, 3 Jul 2023 03:07:43 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=viavisolutions.com header.s=selector1 header.b=gKWDt0fk; dmarc=pass (policy=quarantine) header.from=viavisolutions.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of Fumin.Gao@viavisolutions.com designates 40.107.96.124 as permitted sender) smtp.mailfrom=Fumin.Gao@viavisolutions.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688353664; 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: references:dkim-signature; bh=B1DAudjgDJN/MxqvBW6ti2VE/JBrsaRdcAayMQlhKdQ=; b=1V4tjVHgLO6OcvAMUg8R0e6FKnSREKu4dK4/yiLsVVKrtlHJgwWAe11kTltBPlXZPVBbkH TKVrmuGu7c8ZZl2Mo1Bgcy+gTLaX936rpisAZoAxZzi/TcmbUai/aKDXb8wBFtgE19yelz uz3ozZIm29cbPVXTGPoJjwHhC5DRRV0= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=viavisolutions.com header.s=selector1 header.b=gKWDt0fk; dmarc=pass (policy=quarantine) header.from=viavisolutions.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of Fumin.Gao@viavisolutions.com designates 40.107.96.124 as permitted sender) smtp.mailfrom=Fumin.Gao@viavisolutions.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1688353664; a=rsa-sha256; cv=pass; b=dqTyF7OY2iO7e+dEnI4yfMiQFAr2InusAyrHmiaR0+ZYq6L8Fq+P4EGVQ511eTmFwTwOu4 nZEAbFZK5I9AtHVRjcr+meYY8CLukIG7xFxVNp2R7r7VoFEzSsK1SLDMP1zM0+F38Qefbs MBWVA8ghLPiPpxxGviBHWLVxUdzO05M= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z8f7txQlj2YZY7XD3SLedAKOmQkkTqRJnz5wrAmvklHwoCD/8cw4rXvM85/XdVjrNTmJHi7IZS73IUaxx8+Z2HjzedFdIalC1L462PLo/G1mznTSkNuo2giltu9DTZ/YliGCIFEe7qXfBlwZ6MzcNietwaO2s3NjeNmMv2WVBp67SDLaiv7q4FRmZ472A960ew13kJpquJcFX6E2aTZg+oDau2UAM8xqZQEFQIBtdGCf9fABxnPvoyVH4r1IWb51KEnGZekBXTq6gVU4nEWv5YEEbK9Qit34f3wfbOBnjNq0wchE8WzxpRkr70hMFivx+63NB2Byh4BTKi2cbDsvYA== 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=B1DAudjgDJN/MxqvBW6ti2VE/JBrsaRdcAayMQlhKdQ=; b=KzlmDazUJIXv9e6DKLNybhgZwKTtmzFtZ8yZkiCsx8FvsAGCXvKbReeJpVQJpDdvScjCwqs2HUGKM6tM2uVx6oQj8cdu6UW5WjbeUTVEiUr4+uigaR7mh1XT9UJvONW7YOoltYj3hvMhtLYjbVbGIHwhZUg6Jg/hYHR9AJxtzxyirouBhMRS7gAfhO34f4EWziaWQ+A3LjXP/I9Qh+eiQR4CN3j9jcb8JevhTC2+KrPS6iQtH9HDTAhPJV2Hoz4C/1lSw/GrQJ1Se5xLhtemp57l4Qwb771zmtQ9echngWJiQDaxEjVYz3yhbjoTFyNwq/OyL9a3mtOS/7eLEKod7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=viavisolutions.com; dmarc=pass action=none header.from=viavisolutions.com; dkim=pass header.d=viavisolutions.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=viavisolutions.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=B1DAudjgDJN/MxqvBW6ti2VE/JBrsaRdcAayMQlhKdQ=; b=gKWDt0fk6JUaJhyYnKmMeUszmJX1Hhk+9gbBfqtxYbh41BJp2DfhG5MiAoHofnqIZTI4GChmbAk3lmfmqMrlR9HMBu/3+rNhMEPL++pB6Q44RSC0H2Mab6NA7ohYF+8XwowV0K/twG6W7e79+YZHMRiu+pYFkPwm4tor3JdLlhs= Received: from MW4PR18MB5083.namprd18.prod.outlook.com (2603:10b6:303:1a6::18) by DS0PR18MB5501.namprd18.prod.outlook.com (2603:10b6:8:163::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6544.24; Mon, 3 Jul 2023 03:07:39 +0000 Received: from MW4PR18MB5083.namprd18.prod.outlook.com ([fe80::48f:321b:473e:4ea]) by MW4PR18MB5083.namprd18.prod.outlook.com ([fe80::48f:321b:473e:4ea%6]) with mapi id 15.20.6544.024; Mon, 3 Jul 2023 03:07:39 +0000 From: Fumin Gao To: "mike.kravetz@oracle.com" , "songmuchun@bytedance.com" CC: "linux-mm@kvack.org" Subject: Report a huge page issue in kernel version v5.19.xx Thread-Topic: Report a huge page issue in kernel version v5.19.xx Thread-Index: AdmtW3oEK/CTFLrjQaKpcyyBAAtG+A== Date: Mon, 3 Jul 2023 03:07:39 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR18MB5083:EE_|DS0PR18MB5501:EE_ x-ms-office365-filtering-correlation-id: 8e7dcbf7-b015-4d65-db26-08db7b72a8d8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: v2kMsAPk+BOE+1LJA31gHlOot8rxCzF7kS2D9/bjVFq753VCxX4/jh4dwco2iif9u7+3xXd2Qw9puXK1A5BBdUNbSZSzWZLXDEpzzv0iqHm59y+Hf/qfJKZNjdpiwFNz0omLozitQBFCQl5cGRFX3Ia1JMKP0BZzCVDyD7uvCqT7pIPLCD1+++QC483dXGA2m2/5mhPWwoNh6zK0Dqcjs9X+uF8yhC1uU41T0FqkNUmvddGaaJc9RRcfepM0VIg6WKQBYxWjSGBiHoeAvkQMB1Bg83hf/+zkKrvsDp1ZP/I5jTyhabSzkIfW3zvKRp4v9ooTKlJ20HmW2aEo5hvlvt+N4AMPW2YPQiZgUf0aEozhpO5MRFg1/Fhk+7z+drr8wWS8QfBsOEEsDmWF9KwNH5Jx5HDoSmeGoD91Kpwz+gR6noWX1HcxeeKLEqanGTq8rkZDo2zxEu6zdX21lAC199jtSinwSq+2udeVu8LxmV8yJrSViRPNbP8eAMVdyEUXKbF5FXNnQXYakid0FgmtaK/CXh7pHC47jIdvKvArUPJwwO9XOL1EzPuZhqC3zOo4qv8y/c+uxpLLuJXFyNujgkGP7YIaPTchT0pbEwPmfFCpzAAV1oWav6MtmeXHDnDV1z/CBIYUY29mpRb7GomXxw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR18MB5083.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(376002)(396003)(366004)(39850400004)(451199021)(26005)(478600001)(99936003)(71200400001)(9686003)(6506007)(86362001)(186003)(38100700002)(64756008)(66446008)(66556008)(66946007)(4326008)(66476007)(83380400001)(110136005)(7696005)(76116006)(316002)(122000001)(5660300002)(8676002)(8936002)(52536014)(9326002)(38070700005)(41300700001)(2906002)(55016003)(33656002)(14583001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?A4H2xxyN+h3SnFrzSyZumQpDzMnhT7dE2lKSkjj8zq0IqDL4pJSA0JvJi3Fj?= =?us-ascii?Q?0XkYHpw0lnLQ0YpyYODrru2kHvNVyqFG4hRdXF8gkZdRwvTg5exPfT6/+C6f?= =?us-ascii?Q?sQBL3brM3MY4YUY+7RRWxsV96TIT271FYpI43+phmfgUNr6r16AlRnYyqZ7M?= =?us-ascii?Q?iCEX5XxAgA3Ijg8jL4NJoKwBYyeFMjxTlAYUE7MwoY8TGzXi1yBMWz25U9NO?= =?us-ascii?Q?O00KTIQxab26AqgOe11Xg0hupOS5guXY7j8imBNb5aBXBSS3TsMsUl5nnOPV?= =?us-ascii?Q?PamrWWpz/laL55G9ny0CksunMssP8cCrZnyy7l2IaJEVTRTajT9qZrDh1OiL?= =?us-ascii?Q?EAsAiI/TnDifWZ23iCn3g7L5X0lCwfrgEHQuRkk3DNkFaHknq9ybNoh5EEG4?= =?us-ascii?Q?dLBz2u4utxhKD7FJxV6k/XSsD/wfnPlu6Lg/ASdffQ95bXV9MKsZ39jLxyYs?= =?us-ascii?Q?KPw3eISsYmibKgzQ4hi11S943YzuvuhjDSsOdq1ZPEb7+OitrW4EhkNDhtdC?= =?us-ascii?Q?TIqq/H6EDyFrnR+vRmwkRM5EUHVPyt7UyyrXScOqZQ8MlY7bIg4mWgPchtKk?= =?us-ascii?Q?mCJq3JNz20VTDjw49yAt7PtUPBbcFo+Ynl/0YiLTxv5sRBKhtz4mk4Zs5fGg?= =?us-ascii?Q?NUzN6ngKxn7fviKBMyyvWMLg1lClS3PZ75t/fPVGMHJpbo12pvGizcXBTexQ?= =?us-ascii?Q?HOZcfxqQvB6szqMLEobnQzWWcEim41xiX/tP63IuTJecfUYU0rR5eiUdXTr+?= =?us-ascii?Q?/v07lapXKgIBAKct4LxLFkSuDbX38JY0vGthqljuMdK488MBlxULNVqeyCcO?= =?us-ascii?Q?sh2hBkQLXU3cD6/Cxg7yFp7vdt1fdJnsjIkTVhVWl2KC27hP15i/NQ8D/9Z6?= =?us-ascii?Q?iimt0kcqEzG9DOBTSXiX6W72HqRNUbn249U6RoJyUvxiZAqEHJEE5ANfDQyE?= =?us-ascii?Q?c07ARZXCQZrN0mSz9XSTsAm+g0SI+XbR0c+Qtwib+Ls/Eh607mVmupMzW6dt?= =?us-ascii?Q?ZPzhWdRGqH3bdV39Kvt1TqkxTKv3ZNUNOAzJQCBKbqE24x7qQQkOHoezhq+b?= =?us-ascii?Q?xR4zyktZZ60/eH2V5u8bNM19Mn0dZ+fpk/R8mYf37G8wtcRvDVQuVRpLcF7H?= =?us-ascii?Q?Jk0esg2cCamw/lHb/yH2YzCeLpyzckvOzCsybSrbxgHjdsV72/g2Fm3LCAIn?= =?us-ascii?Q?CrQsK5K8UnGNBAciqwp34VG51qLGFWTycgbVgDa5bQwZKRyP7rHF+/4CD8gt?= =?us-ascii?Q?ace0H8bf7ufKCAuIZed2RNLrxmxR9FQg4FRJsYWp83o7eyKqdNHZUuVUfKtz?= =?us-ascii?Q?ojUSAJosmZmY5n8m97oHZsbyreZJ0Tffbp3mZTQ/BHTEOLW7EtEIuhLc+ZNi?= =?us-ascii?Q?jD5V07wrGPNJhiLEXTTRVCXgYNWiW2hBm6nTWaqDm9ywWZx5Y8Mv0qHgn6L/?= =?us-ascii?Q?hhYahoJZW6zYCFMeLDtD7YgrleiPij9UxthZspQPmHZMCdh0nnchhm3ELuyJ?= =?us-ascii?Q?3ODrsLb7y9q/O+VJXfUMpRQjNukTD+p7yH2A6XPY+7WwYVj1n7wzh6aBfrBZ?= =?us-ascii?Q?kLwvIYzMluCW442A4FvGm9bHwrK9KHKsNSOPq9+JldSq/gDtQoxVxoAXmkLx?= =?us-ascii?Q?Og=3D=3D?= Content-Type: multipart/mixed; boundary="_004_MW4PR18MB50831DE59BEA3DF1374DE3798029AMW4PR18MB5083namp_" MIME-Version: 1.0 X-OriginatorOrg: viavisolutions.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR18MB5083.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e7dcbf7-b015-4d65-db26-08db7b72a8d8 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jul 2023 03:07:39.1950 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c44ec86f-d007-4b6c-8795-8ea75e4a6f9b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kGmwynx6tuqhwOKcdbO46eD3YP8utKSQv3YsE0HhnAkgccyI8nPFvSYXNvB2xwzcYXIZwmrpmPmwLx6dDP50G8drk43mkj+nAvKeugoa9q4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR18MB5501 X-Rspam-User: X-Stat-Signature: a95a5pr65ck84pieafcggggorw9k3sox X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: BB327C0009 X-HE-Tag: 1688353663-642349 X-HE-Meta: U2FsdGVkX1/rcd9WSGF1gmJj6sLh8uvPfT6lYEUOnQ5qEybVzijVlez1i2M2HKU51c3isgpAsqzbCwt5q8KmQTCak5DdocFhOUlUOKlvHC/Ko0YoyIVW9axp7THb6nWykDKy8vev3LGZIqHOKIQcxfomg4JVZ+z3Q13/MX8V/oOrb3U8GW+DV/aGchORRzYsOzq6Af2d75/m3fUWxh+L6aDxaphGqgUKUQMYVDWq/wFVI/S947YqW+p227LgsnvsquCzdwjBVHFweRFdSs2kDHO7w0hbd86lvJn1Qm/O1zxUN65PQo5OM1CP0y8GRNSst2d2Slz7JbJb29sKccT41LvnX3a+l7QJyrFaaKXSjjEFkxigxk8O3rz5L7YgwyMpE5e1P/dLXdmCv9cA0azg3I4iEKpj5G+9+sTs91JqGa1rpb0C7hUkxnhyHwvl5sRw9LPOvTcm8A+8GKnAE1bo7eDSllqYLfWmjqJAnpr/amVBVGf9VOiR/CbfHZdmHaomU6tzXb7SewZ4EZoyFUGEFgdoPKU7sh+SMk+ViUVHHUSwzWfmDUsNelmlDofJ2/LOVkVPqkOOd+M7n/uxNeURi2+/Naui5nDScDBlf2GEWAHuFFFRlX6M2DeYnbyYXSmu3kEg7D/UuTAcurOmx8IlBmraG0Dxq2KnbjZTTHraQ4AXtfYTMZhaU1rdSL1Iy0zarx6rotSq2l6leEdmW61JD6Mhz4dShyDE6SXkBmAZZFsZjx7MVBeQoM8cpIC28mDW8ttOV5mvR6Jt+EO0bZ8qcIVCKOUCw599p1uEhT8RMHn3ZF8x8l7fr5c36H0w6E1P3KFBtY2IKBm44LNJCpRbeTKl4uQnaRNnionuYBQFXvn4I+eJXrzzGrBq1ATu0QBpnpAM6I9bUWlguXFqqTmUy7EQsXP62i816pKmLvtLL1EITHnxdvTdduTIQGXlMERgvAxW03R0H4hOdazZu+f q99BXneF bQfIROQNbg649zxSG5PpIvmOsoJ3pP4k4J3Y9V5iMQQ8aeelSc7EeVYa8Ibl2k+j8AkzQBWqRXmrafEgV7fEbWDgukSmQD9bjQElsi2GbbuyXZG8GVvU0KfiWxfbn1v7lQjI6gZ6k/4wvC8wq5w0FZQzZ2SEDrj9EhXl4aTOt4M+ePAsT3ia5c2wf903B0+tgvMyAdThwUGkGE0AyRyAo8DfbG6eoC9RKiQ21TWkDrkFzhWMwntJQSn6QE+xkazapeVSFNUKoohhBzKvsRy3nWI02Vv1CAn+wmeA/s54JYPHhlK0AS4w7w5+vuo+kULFgBZMJlG44akyX9JNClYOo3KYBMxPeUInc8m72l2Cw5vbTHSo7YN5T+6PVDVI2cK79RdWS4T3pkr4Ltnxohn2x/GEUNcWWL12AHezcIcvpgondTLelyz1/QDnJqck6KO9n13WYdLJtnUNE7X9WIsWPPRkc5gLGLAOD3ap4aOV37FfzApkWkhj2gEj6+lZSg3oFxJpkpk9+rdbFfEwuptrjlEbHSblUIvHU6NmGXIVnc+VFsXAJyA4kjwp6eCis/EDH13TJzYl7T7QvjgQn7L7iC1xlgiK1faB8UT17jqtJBcVBQndal5M9JM73GU1wJe4WsM9GYpkpxFusXHQnmzrExklGPWiVCQWCdC+YshXa/JxAA26RxwnUlcxdjEsbNy3E5L6jgKTrJLgOi+I= 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: --_004_MW4PR18MB50831DE59BEA3DF1374DE3798029AMW4PR18MB5083namp_ Content-Type: multipart/alternative; boundary="_000_MW4PR18MB50831DE59BEA3DF1374DE3798029AMW4PR18MB5083namp_" --_000_MW4PR18MB50831DE59BEA3DF1374DE3798029AMW4PR18MB5083namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, What's the issue? Recently in our product, I found a issue in kernel version v5.19.xx, this i= ssue was fixed in kernel version v6.xx. The issue is I can't get which node the huge page is on by system call move= _pages. How to reproduce this issue? I attached my test programme file in email. virtaddr =3D mmap(NULL, ONE_GIG, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_= ANONYMOUS | MAP_HUGETLB , -1, 0); *(char *)virtaddr =3D 0; if (syscall(SYS_move_pages, 0, 1, &virtaddr, NULL, &NumaNode, 0) !=3D 0) { printf("Get virtual address 0x%p on NumaNode failed \n", virtaddr); } printf("create shared memory with mmap, virtaddr 0x%lx on Node %d, errno %d= \n", virtaddr,NumaNode, errno); When tested with kernel v5.19.xx , the value of NumaNode is -2 (-ENOENT). My analysis of this issue. Based on the following trace and kernel source code, I can see the function= calling process. kernel_move_pages - do_pages_stat - do_pages_stat_array - follow_page - fo= llow_page_mask - follow_p4d_mask - follow_pud_mask - follow_huge_pud [001] ..... 510329749178328: sys_move_pages(pid: 0, nr_pages: 1, pages: 7ff= fa23a2c90, nodes: 0, status: 7fffa23a2c9c, flags: 0) [001] ..... 510329749179360: sys_enter: NR 279 (0, 1, 7fffa23a2c90, 0, 7fff= a23a2c9c, 0) [001] ...1. 510329749185448: mmap_lock_start_locking: mm=3D00000000e0f35bcd= memcg_path=3D/user.slice/user-1000.slice/session-1.scope write=3Dfalse [001] ...1. 510329749187872: mmap_lock_acquire_returned: mm=3D00000000e0f35= bcd memcg_path=3D/user.slice/user-1000.slice/session-1.scope write=3Dfalse = success=3Dtrue [001] ..... 510329749196628: p_follow_page_0: (follow_page+0x0/0xe0) [001] ..... 510329749199690: p_vma_is_secretmem_0: (vma_is_secretmem+0x0/0x= 20) [001] ..... 510329749202194: p_follow_page_mask_0: (follow_page_mask+0x0/0x= 160) [001] ..... 510329749206928: p_follow_huge_addr_0: (follow_huge_addr+0x0/0x= 20) [001] ..... 510329749210628: myretprobe: (follow_page_mask+0x38/0x160 <- fo= llow_huge_addr) ret=3D0xffffffffffffffea [001] ..... 510329749216464: p_follow_pud_mask_isra_0_0: (follow_pud_mask.i= sra.0+0x0/0x1e0) [001] ..... 510329749221108: p_follow_huge_pud_0: (follow_huge_pud+0x0/0x80= ) [001] ..... 510329749221902: myretprobe: (follow_pud_mask.isra.0+0x1c8/0x1e= 0 <- follow_huge_pud) ret=3D0x0 [001] ..... 510329749223462: myretprobe: (follow_page_mask+0x147/0x160 <- f= ollow_pud_mask.isra.0) ret=3D0x0 [001] ..... 510329749224838: myretprobe: (do_pages_stat+0x18b/0x330 <- foll= ow_page) ret=3D0x0 [001] ...1. 510329749226096: mmap_lock_released: mm=3D00000000e0f35bcd memc= g_path=3D/user.slice/user-1000.slice/session-1.scope write=3Dfalse [001] ..... 510329749228348: sys_move_pages -> 0x0 [001] ..... 510329749229224: sys_exit: NR 279 =3D 0 In the kernel version v5.19.xx, it add a flag FOLL_GET in do_pages_stat_ar= ray compared with v5.18.xx. page =3D follow_page(vma, addr, FOLL_GET | FOLL_DUMP); But in the function follow_huge_pud, if the flags has FOLL_GET, it will ret= urn NULL. This causes we get the status is -ENOENT (-2) in move_pages. Is my analysis correct ? Thanks Fumin --_000_MW4PR18MB50831DE59BEA3DF1374DE3798029AMW4PR18MB5083namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

 

What’s = the issue?

Recently in our pro= duct, I found a issue in kernel version v5.19.xx, this issue was fixed in k= ernel version v6.xx.

The issue is I can&= #8217;t get which node the huge page is on by system call move_pages.<= /o:p>

 

How to reprod= uce this issue? 

I attached my test = programme file in email.

virtaddr =3D mmap(N= ULL, ONE_GIG, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUG= ETLB , -1, 0);

*(char *)virtaddr = =3D 0;

if (syscall(SYS_mov= e_pages, 0, 1, &virtaddr, NULL, &NumaNode, 0) !=3D 0)

{=

   printf= ("Get virtual address 0x%p on NumaNode failed \n", virtaddr);

}=

printf("create= shared memory with mmap, virtaddr 0x%lx on Node %d, errno %d \n", vir= taddr,NumaNode, errno);

 

When tested with ke= rnel v5.19.xx , the value of  NumaNode is -2 (-ENOENT).

 

My analysis o= f this issue.

Based on the follow= ing trace and kernel source code, I can see the function calling process.

kernel_move_pages &= #8211; do_pages_stat –  do_pages_stat_array — follow_page = — follow_page_mask

— follow_p4d_= mask — follow_pud_mask — follow_huge_pud

 

[001] ..... 5103297= 49178328: sys_move_pages(pid: 0, nr_pages: 1, pages: 7fffa23a2c90, nodes: 0= , status: 7fffa23a2c9c, flags: 0)

[001] ..... 5103297= 49179360: sys_enter: NR 279 (0, 1, 7fffa23a2c90, 0, 7fffa23a2c9c, 0)

[001] ...1. 5103297= 49185448: mmap_lock_start_locking: mm=3D00000000e0f35bcd memcg_path=3D/user= .slice/user-1000.slice/session-1.scope write=3Dfalse

[001] ...1. 5103297= 49187872: mmap_lock_acquire_returned: mm=3D00000000e0f35bcd memcg_path=3D/u= ser.slice/user-1000.slice/session-1.scope write=3Dfalse success=3Dtrue=

[001] ..... 5103297= 49196628: p_follow_page_0: (follow_page+0x0/0xe0)

[001] ..... 5103297= 49199690: p_vma_is_secretmem_0: (vma_is_secretmem+0x0/0x20)

[001] ..... 5103297= 49202194: p_follow_page_mask_0: (follow_page_mask+0x0/0x160)

[001] ..... 5103297= 49206928: p_follow_huge_addr_0: (follow_huge_addr+0x0/0x20)

[001] ..... 5103297= 49210628: myretprobe: (follow_page_mask+0x38/0x160 <- follow_huge_addr) = ret=3D0xffffffffffffffea

[001] ..... 5103297= 49216464: p_follow_pud_mask_isra_0_0: (follow_pud_mask.isra.0+0x0/0x1e0)

[001] ..... 5103297= 49221108: p_follow_huge_pud_0: (follow_huge_pud+0x0/0x80)=

[001] ..... 5103297= 49221902: myretprobe: (follow_pud_mask.isra.0+0x1c8/0x1e0 <- follow_huge= _pud) ret=3D0x0

[001] ..... 5103297= 49223462: myretprobe: (follow_page_mask+0x147/0x160 <- follow_pud_mask.i= sra.0) ret=3D0x0

[001] ..... 5103297= 49224838: myretprobe: (do_pages_stat+0x18b/0x330 <- follow_page) ret=3D0= x0

[001] ...1. 5103297= 49226096: mmap_lock_released: mm=3D00000000e0f35bcd memcg_path=3D/user.slic= e/user-1000.slice/session-1.scope write=3Dfalse

[001] ..... 5103297= 49228348: sys_move_pages -> 0x0

[001] ..... 5103297= 49229224: sys_exit: NR 279 =3D 0

 

In the kernel versi= on v5.19.xx, it add a flag FOLL_GET  in do_pages_stat_array compared w= ith v5.18.xx.

   &= nbsp;    page =3D follow_page(vma, addr, FOLL_GET | FOLL_DUMP);

 

But in the function= follow_huge_pud, if the flags has FOLL_GET, it will return NULL. This caus= es we get the status is -ENOENT (-2) 

in move_pages.=

 

 

Is my analysis corr= ect ?

 

Thanks

Fumin

 

--_000_MW4PR18MB50831DE59BEA3DF1374DE3798029AMW4PR18MB5083namp_-- --_004_MW4PR18MB50831DE59BEA3DF1374DE3798029AMW4PR18MB5083namp_ Content-Type: text/plain; name="test_programme.c" Content-Description: test_programme.c Content-Disposition: attachment; filename="test_programme.c"; size=1003; creation-date="Mon, 03 Jul 2023 03:01:41 GMT"; modification-date="Mon, 03 Jul 2023 03:07:38 GMT" Content-Transfer-Encoding: base64 DQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCiNpbmNsdWRlIDx1bmlz dGQuaD4NCiNpbmNsdWRlIDxzdGRpbnQuaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KI2luY2x1ZGUg PHN0cmluZy5oPg0KI2luY2x1ZGUgPHNpZ25hbC5oPg0KI2luY2x1ZGUgPHN5cy9tbWFuLmg+DQoj aW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8c3lzL3N0YXQuaD4NCiNpbmNsdWRlIDxz eXMvc3lzY2FsbC5oPg0KI2luY2x1ZGUgPGZjbnRsLmg+DQoNCiNkZWZpbmUgT05FX01FRyAgICAg ICAgICAgICAgICgxMDI0VUwqMTAyNFVMKQ0KI2RlZmluZSBPTkVfR0lHICAgICAgICAgICAgICAg KDEwMjRVTCAqIE9ORV9NRUcpDQoNCmludCBtYWluKGludCBhcmdjLCBjaGFyICogYXJndltdKQ0K ew0KCWNoYXIgc1szMl07DQoJaW50ICBOdW1hTm9kZTsNCiAgICB2b2lkICp2aXJ0YWRkcjsNCgl2 aXJ0YWRkciA9IG1tYXAoTlVMTCwgT05FX0dJRywgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQ X1BSSVZBVEUgfCBNQVBfQU5PTllNT1VTIHwgTUFQX0hVR0VUTEIgLCAtMSwgMCk7DQogICAgaWYg KHZpcnRhZGRyID09IC0xKQ0KICAgIHsNCgkgICBwcmludGYoIm1tYXAgcmV0dXJuIGZhaWxlZFxu Iik7DQogICAgICAgcGVycm9yKCJtbWFwIik7DQogICAgICAgZXhpdCgxKTsNCiAgICB9DQoJKihj aGFyICopdmlydGFkZHIgPSAwOw0KCQ0KCWlmIChzeXNjYWxsKFNZU19tb3ZlX3BhZ2VzLCAwLCAx LCAmdmlydGFkZHIsIE5VTEwsICZOdW1hTm9kZSwgMCkgIT0gMCkNCiAgICB7DQogICAgICAgcHJp bnRmKCJHZXQgdmlydHVhbCBhZGRyZXNzIDB4JXAgb24gTnVtYU5vZGUgZmFpbGVkIFxuIiwgdmly dGFkZHIpOw0KICAgIH0NCgkNCglwcmludGYoImNyZWF0ZSBzaGFyZWQgbWVtb3J5IHdpdGggbW1h cCwgdmlydGFkZHIgMHglbHggb24gTm9kZSAlZCwgZXJybm8gJWQgXG4iLCB2aXJ0YWRkcixOdW1h Tm9kZSwgZXJybm8pOw0KICAgIA0KCXJldHVybiAwOw0KfQ== --_004_MW4PR18MB50831DE59BEA3DF1374DE3798029AMW4PR18MB5083namp_--