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 7A744C001B0 for ; Mon, 7 Aug 2023 12:41:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 18A938D0002; Mon, 7 Aug 2023 08:41:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 13C026B0082; Mon, 7 Aug 2023 08:41:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EF60D8D0002; Mon, 7 Aug 2023 08:41:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E100E6B0081 for ; Mon, 7 Aug 2023 08:41:43 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5EF2BC0A74 for ; Mon, 7 Aug 2023 12:41:43 +0000 (UTC) X-FDA: 81097270086.19.F584CC4 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2070.outbound.protection.outlook.com [40.107.223.70]) by imf04.hostedemail.com (Postfix) with ESMTP id 7335D4001B for ; Mon, 7 Aug 2023 12:41:40 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=s36223ko; spf=pass (imf04.hostedemail.com: domain of apopple@nvidia.com designates 40.107.223.70 as permitted sender) smtp.mailfrom=apopple@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1691412100; a=rsa-sha256; cv=pass; b=Eft+D/7DlTW/+JXlNfMuwttNR6c607jY8sc3qFj1mlQz8Hrm6EW5YvkDZqLRTVXAr01len hp/2Lf0chTsnYnN3g/Qx4IqvUUxePWkpXt63+cnsePTHG3MrgudOnwl4rfavc19GQHOc9C E1zOkxSUGV3OsJCuU9tFTRYllH2IlF0= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=s36223ko; spf=pass (imf04.hostedemail.com: domain of apopple@nvidia.com designates 40.107.223.70 as permitted sender) smtp.mailfrom=apopple@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691412100; 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=GJB32j+YzxMl79xwgdWyhHAiWRhjP1khH87EOJaFqpY=; b=KV659njxwB6JbwSjjeA1Frm+7RZ+53muqfM/BqKwg35FgKKSFiKN+wWnb/CWr7WNvIDZ++ LIYu6i2MmssWclA2y7bgD5nNxfaYzq8o1zrAsnJZWZk0bByZiCpH1WsGhn+bWFYI5OLHa6 N6Ocdx7ZLcP5qNRB/84To+FgbfWAfL8= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h7F365yYuZPNe89SfgxcNOY9f7fSupvsJ3KXuXbRA5p/4U5AN61UkBGEYqiU1TWge/vHoGflyR+6nScnUDBYLR/E4Y4z2Ph/1BnmwkbEEaGNm0qgtBQG9wQJri/LJqcM1dV39YFZIoYAVjg/2HS5etDrZfUSvyWvVRaXV6A2uDFXKJWYaAtXH1FqPn4IBnbwvBS7ZbxorzWdH4g6ocxsVDBJ3NgFU4rqsq8yFWKr0UqrWI7BBMWDmPP14XMWcWrKfu7oNweZmshyUMQLtaSMoubqjB+HaqrrV8dZRiZBo24VBN+40RCJQp/ZA7FJlA2149r4/r9OEI6vFi8XuuePSQ== 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=GJB32j+YzxMl79xwgdWyhHAiWRhjP1khH87EOJaFqpY=; b=HsQHeAyCxlam0/6dyKoxaGarEN+iG6IVYoPNd5y1B77CpvSk1/NAcx9sDuewulJ3A1CHgtvgIstREoyzWQtqI/8q6H82Z1a1nFV59VHJQeJRCz0ifKoa1JjtUXqN5L/osPJ4LQmGWk1R3ahiXuPN8sv1pR2CHsXL2EC/7NcW9weP+7E+B+9VYs/b+KU1pg2iSp9SffbOGkUJmov4qadK3Iv9krfQ3bz3lNU/97KWejaNKxqntrqa3cNH6fic+ej5NHgWBa3d/wr5vJ6CAzCrRu3mlPjpukJREtRP3UBFVbqYmf40loLmzUy7i3cIo2n6nSRHr8QmlRyj8TZUdPvU4w== 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=GJB32j+YzxMl79xwgdWyhHAiWRhjP1khH87EOJaFqpY=; b=s36223koQrmoyoCO+SWMi901ptq1jYhh0oUsBde93EJbCq8DjEYV2nkpTtbQREo9GZE4ePYQvrdzPsFYxayfBt2JsCQctCO0C666pa0AVPi/qoDYV5knnHhku4v1qNv8/bf0l9FzOMwLOJxVauj7Imq4UDfGmDWa7A9FIJTYIIOvJX25C0ACV3bqmAQhy4fkbLM7a4+tevG/CVIqsP40Nsi5AnVYszMXOxAvMwZGQwFrdPnk1UchEOJkJ4pTLwBahJXCoRCldnf1j0DAhmWMxzJNCax+1WjUM5HsQN5Y+zaPXlcu/2/5pIIpIeRHxEVgjBL0fINtmV4nK/Cyuh1s8A== Received: from BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) by SJ2PR12MB8928.namprd12.prod.outlook.com (2603:10b6:a03:53e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Mon, 7 Aug 2023 12:41:38 +0000 Received: from BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::df45:7f28:ee84:b0b2]) by BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::df45:7f28:ee84:b0b2%6]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023 12:41:37 +0000 References: <20230807063945.911582-1-apopple@nvidia.com> User-agent: mu4e 1.8.13; emacs 28.2 From: Alistair Popple To: Michal Hocko Cc: Andrew Morton , linux-mm@kvack.org, jhubbard@nvidia.com, ying.huang@intel.com, osalvador@suse.de, baolin.wang@linux.alibaba.com, ziy@nvidia.com, shy828301@gmail.com, ryan.roberts@arm.com Subject: Re: [PATCH 1/2] mm/migrate.c: Fix return code when migration fails Date: Mon, 07 Aug 2023 22:31:52 +1000 In-reply-to: Message-ID: <87pm3z2fer.fsf@nvdebian.thelocal> Content-Type: text/plain X-ClientProxiedBy: SY5PR01CA0076.ausprd01.prod.outlook.com (2603:10c6:10:1f5::6) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB3176:EE_|SJ2PR12MB8928:EE_ X-MS-Office365-Filtering-Correlation-Id: 65dc8734-3567-4f96-f226-08db9743a43c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1gU4nCWVP616wE2GqtyExVUYwMJ8dbWCnTTuYwYN7fT7HrTP6NniUoIarbsiDrkjO99LvkJNzex57vhCQo0uI1xcXLUI2c7c+SxocXjTEy9YbEk0NlR3bd0eJPDdFnm+cr4t5Sm3dcMdRbI+pQVtgXbg4XJ+NCzXcXetc0Lfe5lPqbQZt0ecY72IEzf3xVfcRwpPYFNqnyBrZJhR6X77PVmv25v5H5sIMdDAIcQr7ASg2yNz3e8jXPncMjuUKALxk+CL6qvvDlrYJ/xZ6rdeG42IBkkWPQL41+q7x5f9l5d7+vWfrmtj0hsTUaYBDXfci61WzD9SFyRLNttm+5f8P7O5Dnqbe08hrrVvl6KgDEhLqKh0SK6zxBQW+8ls7P7ng+krgkF2uqBuVFnzzNyREeSWuBehdPP7+Cevy4PZoBxnnAe33QWs8jb2pN6g+cYmrBWQKHgdbU42KgigmBuT8Os+Yx4Lt703J6mKg8SCa85tqDayWX98DbHcV9Zw791G0rXsLkGS4oE/yZZ5BylF7scv40KLYgQko2XXFJm8f3EKjbNUzE7K9c8l9BOdTncx 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:(13230028)(4636009)(366004)(346002)(376002)(39860400002)(396003)(136003)(186006)(1800799003)(451199021)(66946007)(66556008)(66476007)(6916009)(4326008)(2906002)(478600001)(8676002)(8936002)(5660300002)(41300700001)(6666004)(316002)(86362001)(6486002)(38100700002)(6512007)(9686003)(6506007)(26005)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MYBD2ZhdF1ICmcrXcN7kqzvstKHZRIPDS6cLQtUEl+iTeD7uMHHeouJnFaYl?= =?us-ascii?Q?XxNWekUfVgl937XVaQtzS36gxifp4mDi21agk/VJUQiAhsL89ehzQv3JwUlJ?= =?us-ascii?Q?4oLEsQqmYtjmNTKgjRNpOOrC9zYE2NXh1n12hMXX+j3ak7smZY7GlNvFMuPJ?= =?us-ascii?Q?7TFLiqEuh2CHaIt6Jj9Qi7+alrqDbjnHgh7V+Wekxsm2ufTJCXmjwdDs58uQ?= =?us-ascii?Q?c6RtRaKVZKJDeX25c4K81cLWYxcfr0miTaGO/lZ71NHDKND4uM8ZVmC3NbYk?= =?us-ascii?Q?LD4a4IFwUl9IsWbXHcGTxfJtviEF3ZAdDp2jIeXreU2LZJqOqZOnzo/X65B0?= =?us-ascii?Q?jwoJB83UxWRP4ACHghs8hD7GAKzKhLITvxIVSyM2XagiOIsGbY/RkCtSQ7Mr?= =?us-ascii?Q?Hf2ROokbWVVnjXpwQ+rOiSrHLRI3y2D4gjwsCy13QPcji+vdqxj5tbTZ3ofH?= =?us-ascii?Q?GykmdW3XokB9DNeq8y0V9IFwMgBSxjTmvlOppSma51E/m4uqmg8SBgU9FG6v?= =?us-ascii?Q?ZPZqUtWOx8lcIYVMghev4/0ZX9inN740TEZq61sJqVRKy/Xn4B1furGrq6Wq?= =?us-ascii?Q?cTVikMYPjPRnyeo3zL6SDAQJsfCg7UNVb7TD5QSVmy2g8ywngN8COP8WLiGP?= =?us-ascii?Q?0PacK2OeI1/X5QA5JAHLwHIFnvOJ9d5YGhTJMHJBfQu9UbzrpLr0kafMnfJf?= =?us-ascii?Q?57L+hlEhMsjEaQXUz20gy4aHwN1xodIvehN4fhBVJSXOnLBUZtRlmSbXqfCc?= =?us-ascii?Q?LuDG1qlYDCbgSqn+x9mZ24U8HSCwnnWvND/R3vjkuu7CqxShSDQDCRG9zFEz?= =?us-ascii?Q?bMN83BMh7MzAaL9rgs/fdV/TE6C+5ey/HXWYHbz+RvIli6FLsk7PlUBgOyd3?= =?us-ascii?Q?TdMG+INP7z59rFUzcps50kQo8ZDZjCcTOTZBkiF24OC8ejTi8pGZ1bDXmcyR?= =?us-ascii?Q?XxRuvWPD8Ei27Be9QpVxZpFETxIYkbPpK5Lqy5geJqjwzXqAqefj9BVV/VXx?= =?us-ascii?Q?hgN7Kwq8/+zyfrMhWXMT/ev9yqOzmya5WO7DK5HbpnCjJxt/75b05bcz99y1?= =?us-ascii?Q?x2lB0JQj+HNeFKQcm7mDMB3Oic3XhaXa0SPQGRvRjVQgM4Nuo3q8HYjf6bwN?= =?us-ascii?Q?zAStrqyIojbg7r3nehIW+AvaxQR/7U5VWvCtqNOzfKkyC7X05K2liXJpviUb?= =?us-ascii?Q?yBXiTp4DqZcpK/6oisnUYdbHeNiaHJOswwe5HVsxGWzC2JOcjfr8SpD3WWtX?= =?us-ascii?Q?xGcnuOqw85Zlmc26Zj5/YsHXAs6cIdLq7czaVOyV+o/oy86FveoL7uVCjdlD?= =?us-ascii?Q?BTaQ3J4BWjHXIQwQTFHxt34RTyUw4Fqf6S8zOtyc3FKL8kR6V459HnqCo0nm?= =?us-ascii?Q?ogGOJ99WZrOEzU4skzwhapq5TD3Mw8kvj/xh7BBbLix6sfy5oPdVslH7D2ZU?= =?us-ascii?Q?cy4LMc+6prmKPZjeO4yvWfaZQimQWGE8fHuZ8Ef0a4YoylkuFDc3t46DT4BH?= =?us-ascii?Q?C/CBUYBOTbH+tGdaAHR3SfmxhKm47XHF2G0dkByZ1+YhnBHiRGKxtMzMR5q2?= =?us-ascii?Q?tpZSWD5y7LRGIeIzxCc/Ukq4XF19MuzTwTf1NqwP?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65dc8734-3567-4f96-f226-08db9743a43c X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 12:41:37.8944 (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: pyZiE2KwlgvQSW/O6PcFjM0XJuEg/Nwn71E/iSxspDs4NKAPfJG/anjMm+7k8zJJ/83n6pC1i0f6kbzsUz3EHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8928 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 7335D4001B X-Stat-Signature: ex6u1gmt6pbqn6pwjmnmrg9kxtk3o6w9 X-Rspam-User: X-HE-Tag: 1691412100-488240 X-HE-Meta: U2FsdGVkX185fKM0iGq/QKvIDgNy0vI0HSYikN8gxflQvv1ZBeXBCwipb3k0zOe1xCDF2DEffkHuNeGT/uiHQqVzPYOrEh6666JYo0WNtmSh97PwU3zi5RvG0aJhTQjrsRQ89/9z+TDRxlU/56ovoaf53Q1GHFjCWMabU2iPIjvTe8+8Yfb0fSBvnSq1ckWpF/6ExXR3MXYqHfU7VDSIT6ty/y5Zdvz2Fa1m3NLJVJZABVYJVBnS4NrcB9Mv3G5pMwkZ3kcemKSkIuRNL3+REuyzGRY6iX6i3sagl3gP8FHveLyEtUdabW+hlXtHngiSuN4jH4R2cTIvVJNDvJuWj7uV7+V4XqXjowTmy8QctEH4ta/snv4eekoTv/Q8d4S21YrRlvR7Wf7c2U8TbWYGvll2/gyLL341TLelY5YXKThTpLDy3nLQb0GUDrccW9+IGKbZv+nRBxccPVKzY9U8/U0dBSIi512VV0GLQmu7C/goXcSa1lVkSNh8SeZlK4GWJFyQnr0+E/IneGuO2ahDqd//M6odZ2qjFQSHQFJyNuPPYgvtttBnkShW/XYaJhVQcaYLmHMQOTGDrFWJUkdFuKrF3ZcFgwryBer5SmDdu7cMMIyqWIC8jklmU50tIqhCR06a/jwIkjrc4oMWjVrzrTL+t8NpTKxFKrlxLd5D2BqEJwsdd59ak/QzHpnalyfkMAd9MOOurIIGtmd2hHBXw0FGsgZ23JGNnHUwO7sb5mQyNfgza9F1QbReb3Re1Np+Y/hI64nKCdvj74jpzoWRxKkaY0vz299/SgCtAXL9N9mLrTTgnLkg8TFkc4JpbLk6cPzl56fUScmyArWxBi+sKWC2HWo9FX0MX/WbqdAels2xm9X7AE0YyHbZVkgXw6plCWryagB/ekNDWrDd4+OVITO4n5k8/Z3h8XpqRxpZ2M+SkO0vqkJbt7kJd8W2o9BlhIWoRR78MHKgroViwjT hDpiGo7G yIdAaahQbATeJsbnkka7VgE3RZDCFk3pQy0lsyeLC1MBOCICN12R2ihPNPJcvhYJsupKhKiC0iBkx3FyWupszyJ7UiK4LKOR1rU2EdOJvb8zPsT9Rqtvoqv/9E4RHYa+1pgfIGxN8G6dOobcWWDrgyo+/WfkxU+lXnAKjzYFES1fjYZQFKHd3cIq4IV3ATCwYnkUzXQteOczslx4= 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: Michal Hocko writes: > On Mon 07-08-23 16:39:44, Alistair Popple wrote: >> When a page fails to migrate move_pages() returns the error code in a >> per-page array of status values. The function call itself is also >> supposed to return a summary error code indicating that a failure >> occurred. >> >> This doesn't always happen. Instead success can be returned even >> though some pages failed to migrate. This is due to incorrectly >> returning the error code from store_status() rather than the code from >> add_page_for_migration. Fix this by only returning an error from >> store_status() if the store actually failed. > > Error reporting by this syscall has been really far from > straightforward. Please read through a49bd4d71637 and the section "On a > side note". > Is there any specific reason you are trying to address this now or is > this motivated by the code inspection? Thanks Michal. There was no specific reason to address this now other than I came across this behaviour when updating the migration selftest to inspect the status array and thought it was odd. I was seeing pages had failed to migrate according to the status argument even though move_pages() had returned 0 (ie. success) rather than a number of non-migrated pages. If I'm interpreting the side note correctly the behaviour you were concerned about was the opposite - returning a fail return code from move_pages() but not indicating failure in the status array. That said I'm happy to leave the behaviour as is, although in that case an update to the man page is in order to clarify a return value of 0 from move_pages() doesn't actually mean all pages were successfully migrated. >> Signed-off-by: Alistair Popple >> Fixes: a49bd4d71637 ("mm, numa: rework do_pages_move") >> --- >> mm/migrate.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/mm/migrate.c b/mm/migrate.c >> index 24baad2571e3..bb3a37245e13 100644 >> --- a/mm/migrate.c >> +++ b/mm/migrate.c >> @@ -2222,7 +2222,9 @@ static int do_pages_move(struct mm_struct *mm, nodemask_t task_nodes, >> * If the page is already on the target node (!err), store the >> * node, otherwise, store the err. >> */ >> - err = store_status(status, i, err ? : current_node, 1); >> + err1 = store_status(status, i, err ? : current_node, 1); >> + if (err1) >> + err = err1; >> if (err) >> goto out_flush; >> >> -- >> 2.39.2