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 4130FECDFA1 for ; Fri, 21 Oct 2022 20:55:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A32038E0002; Fri, 21 Oct 2022 16:55:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E1478E0001; Fri, 21 Oct 2022 16:55:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8D1E28E0002; Fri, 21 Oct 2022 16:55:23 -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 803778E0001 for ; Fri, 21 Oct 2022 16:55:23 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 37211C0355 for ; Fri, 21 Oct 2022 20:55:23 +0000 (UTC) X-FDA: 80046162126.15.B0B9534 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf04.hostedemail.com (Postfix) with ESMTP id D45E04002D for ; Fri, 21 Oct 2022 20:55:21 +0000 (UTC) Received: by mail-pl1-f180.google.com with SMTP id d24so3419220pls.4 for ; Fri, 21 Oct 2022 13:55:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=F7u5LENBlh/N8BqD1OrpsNANMRi3dqvQvqj7Z7ssiI0=; b=mYmgYlJLNMQSWHbPU91tYuq+vNAdaCvkR6a5DcOjqAK1Fk/X3l9VcfI1d9MnP4sMkj JmPZgLbSeMd6kNNtcn0DcYp2A6aqodCC6wxc6agmNWsJ6VYaV2NsWcm/Ome9Hy8YMyDk oQR5Da8gL42iggH2mY3sGSeTDr5z5QVmlSouLSUIUS7tA4JqysDPrQtP7k9R2SYcDFwM UQnl+Vt8q29C1TFbhSoYTdKyLEoW9C4QsmCBIEuqulgo8oNwi55JEVsk8IePPwrSio3I Ds4ZUyBfswFGMadLVAszIGW7XMByMcO90iInmIQu3fs01fZF+I1wgNYT5xIhOWKnfj4u ayWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=F7u5LENBlh/N8BqD1OrpsNANMRi3dqvQvqj7Z7ssiI0=; b=Os0qFu3ooKoRpLI9BsCuSPbSXt6OVACJNkrghJBK04HvCtlXiYD3/MAJtrHdL2aQBh vtqeIlQ2VVRx2Z93/DwJXXFoHVwPsuz2Vi2u6ANJTcip/T53VCGCMPhCEdsP1yDZnxqe 3OlpjyT5QzRqIJ193THiuttBs6QSFs65lGcmysLxIIV5tw0PScCk4ltsxkgcGH2l3O20 ezx3nfQ/5XX9BviIRL/R0Ka/61j/JPuskcnkfnVqzWo810J1H66NddDpKXG6KqA0pAie JsFvYqO5dhp4vTLz+i+tXdBIu/0YWfkv9M8Ofq0lb/7e56k5QwGst1gjbrSuQ+tbvy0Y oyLA== X-Gm-Message-State: ACrzQf3JBMZDsN8UoyuWm2EzB0JkHiXF6XVzYmzzLC9lQVfyFg61ig/b 93hW2IbojinOdLU33G/8NY4jt0DRTUGZ+JIdOrI= X-Google-Smtp-Source: AMsMyM4ZwGIw9LrZbmC9Nz2xCv+makqVTogU6wOpbhsZd7w12UlTZV0wFWpKJOi1ejJdrXeQrbgDuamcbx0N17Iqk3g= X-Received: by 2002:a17:902:e88a:b0:183:9ecb:ff85 with SMTP id w10-20020a170902e88a00b001839ecbff85mr21222893plg.169.1666385720645; Fri, 21 Oct 2022 13:55:20 -0700 (PDT) MIME-Version: 1.0 References: <20221021114149.eadf6fafdd0b2c2409a46389@linux-foundation.org> In-Reply-To: <20221021114149.eadf6fafdd0b2c2409a46389@linux-foundation.org> From: Yang Shi Date: Fri, 21 Oct 2022 13:55:07 -0700 Message-ID: Subject: Re: [PATCH v2 1/2] mm: migrate: Fix return value if all subpages of THPs are migrated successfully To: Andrew Morton Cc: Baolin Wang , david@redhat.com, ying.huang@intel.com, ziy@nvidia.com, apopple@nvidia.com, jingshan@linux.alibaba.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=mYmgYlJL; spf=pass (imf04.hostedemail.com: domain of shy828301@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1666385721; a=rsa-sha256; cv=none; b=QPewciIHBj9TLOkeV7N5Ukn7iAiscWLpqoHnx5vY/3W/MbxChemiRHQmGCCEkCrrmvGC4j SjvZqbBoYesJLgePzG/A0ZbqFcP7o3suIqQ/raEaj3fOvunbX4zkQFWBrzfcDbZrYZ6Wuf pRcu6vv1VFRuSG4FLBzlVD/uBLKsJNs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666385721; 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=F7u5LENBlh/N8BqD1OrpsNANMRi3dqvQvqj7Z7ssiI0=; b=LQC7SeWMWNIUrEZXK5/cCGhIkpl16SfLEpiPZEK7EBk1l1AYWQQIa69zsoWMwdDWX6k+2s 7Iab90YbJoXXJhfzIt/XLy8shVEO5HjWXoC2NfisoFM+KgzC9AQ2bpoDLmwgdjvj09hFZY 8MdZclRyMBw9NI/r/jGZVqumcp2wMgc= Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=mYmgYlJL; spf=pass (imf04.hostedemail.com: domain of shy828301@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspam-User: X-Rspamd-Server: rspam10 X-Stat-Signature: mxmtjyif9oqou6skai1yc1s7w6419kya X-Rspamd-Queue-Id: D45E04002D X-HE-Tag: 1666385721-482522 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 Fri, Oct 21, 2022 at 11:41 AM Andrew Morton wrote: > > On Fri, 21 Oct 2022 18:16:23 +0800 Baolin Wang wrote: > > > When THP migration, if THPs are split and all subpages are migrated successfully > > , the migrate_pages() will still return the number of THP that were not migrated. > > That will confuse the callers of migrate_pages(), for example, which will make > > the longterm pinning failed though all pages are migrated successfully. > > > > Thus we should return 0 to indicate all pages are migrated in this case. > > > > This had me puzzled for a while. I think this wording is clearer? > > : During THP migration, if THPs are not migrated but they are split and all > : subpages are migrated successfully, migrate_pages() will still return the > : number of THP pages that were not migrated. This will confuse the callers > : of migrate_pages(). For example, the longterm pinning will failed though > : all pages are migrated successfully. > : > : Thus we should return 0 to indicate that all pages are migrated in this > : case. > > This is a fairly longstanding problem? No Fixes: we can identify? It doesn't seem like a long standing issue. It seems like commit b5bade978e9b ("mm: migrate: fix the return value of migrate_pages()") fixed one problem, but introduced this new one IIUC. Before this commit, the code did: nr_failed += retry + thp_retry; rc = nr_failed; But retry and thp_retry were actually reset for each retry until the last one. So as long as there is no permanent migration failure and THP split failure, nr_failed should be 0 IIUC. TBH the code is a little bit hard to follow, please correct me if I'm wrong. > > Did you consider the desirability of a -stable backport? >