Received: by 2002:a25:5187:0:0:0:0:0 with SMTP id f129csp888101ybb; Fri, 27 Mar 2020 14:46:11 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuzltCXnAtJ75UHUulGJnKdQlMKR8fVBT2YoNosoidulpjXa/XVzsKcf4y3KUkpIxhXB+ow X-Received: by 2002:aca:7213:: with SMTP id p19mr725831oic.44.1585345571854; Fri, 27 Mar 2020 14:46:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585345571; cv=none; d=google.com; s=arc-20160816; b=DbOEQwy7CLUh9dZ95kWw1VuC7WAJq+rYWh7YMyzSXY4pGo0vaFPsIF7cJ4uVC72/Gu vCSDoWa3k0EfVpsRzGxK8gRWcgcICt18nHl1zs4NlphuantfHRfwiu6E2B1aYw8xU71v /cpEIB64GCT8tj+H9Z/jJhivXQ1FrcSLUPENWsNI4TfN+EXPOH0FTVLzfoR1J6/owU6h fDBeorI4XIiBmeJ3Nqwpyw807b3BG2zT4tkz1YxlyQxq8y4I4Ulv4uFaf9l1asxKns1N qyyUW2s3rgOkzSULb7sU6RdF31nEKPS1njATvtmBYTmnP3opls4UR3A2TX1FXOYNmWsF Evhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from; bh=qA5lmaOWEHFjoxmorFbt1s5u6NyUnRdUFtf4I6cXnoU=; b=CUZUGSSJzjdVLDT76mLkvFjLwOkPWQvXdluVVfwrWRDiMRpJIN8gb/2JIZ0E8InV/C sJinY9I8Il2mMbIG3GxzPv9fhTHyZu3CqYg3paQi/yEP5sAeyhOObPe4V1aaY+A60WX0 HFN8pEECE1C/SbvT1AAqT+sWo8e9z2rluz6d5CA9bi5Rhn/K8L1cdnvDCs2G+DgeeRXN MrJoVo33kHophC0GZXe3mQPX47dRVuVQeOR5KuRH/GucSgMMoexCs9OLwNXhioM5zGTs liGnh3agcF3YRTaKcrX7SItTLi/vtrDjN73HkM+P8UMYreL0NN0t9wp06Vt/x+RoGyyZ SlNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=nWcdx6M8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c6si3480768oto.178.2020.03.27.14.45.52; Fri, 27 Mar 2020 14:46:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=nWcdx6M8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727677AbgC0VpB (ORCPT + 99 others); Fri, 27 Mar 2020 17:45:01 -0400 Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:4035 "EHLO hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727473AbgC0VpA (ORCPT ); Fri, 27 Mar 2020 17:45:00 -0400 Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Fri, 27 Mar 2020 14:44:13 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Fri, 27 Mar 2020 14:45:00 -0700 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Fri, 27 Mar 2020 14:45:00 -0700 Received: from [10.2.174.211] (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 27 Mar 2020 21:44:58 +0000 From: Zi Yan To: Yang Shi CC: "Kirill A. Shutemov" , Andrew Morton , Andrea Arcangeli , Linux MM , Linux Kernel Mailing List , "Kirill A. Shutemov" Subject: Re: [PATCH 4/7] khugepaged: Allow to callapse a page shared across fork Date: Fri, 27 Mar 2020 17:44:56 -0400 X-Mailer: MailMate (1.13.1r5680) Message-ID: <2498F20B-DD98-4244-AD60-58D4A771ADF6@nvidia.com> In-Reply-To: References: <20200327170601.18563-1-kirill.shutemov@linux.intel.com> <20200327170601.18563-5-kirill.shutemov@linux.intel.com> MIME-Version: 1.0 X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL111.nvidia.com (172.20.187.18) To HQMAIL107.nvidia.com (172.20.187.13) Content-Type: multipart/signed; boundary="=_MailMate_32016954-B99D-44CD-BE67-01B33907190B_="; micalg=pgp-sha512; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1585345453; bh=qA5lmaOWEHFjoxmorFbt1s5u6NyUnRdUFtf4I6cXnoU=; h=X-PGP-Universal:From:To:CC:Subject:Date:X-Mailer:Message-ID: In-Reply-To:References:MIME-Version:X-Originating-IP: X-ClientProxiedBy:Content-Type; b=nWcdx6M8e9j1TNLR9McyGrPkWGclNr6z0+9PBsv79WZ0b3SpI0g1v6W0HiX+UW2PS 9hj4/lC160GsWbB9cGyYNSsKMIkhQAskYKWzEfMiZ2RdZzS4V1ng4BQjLr9ZrMIxsb oZAPoyKfG6FkOwHZPeuivq/gtem9iEDO0r5VgQlIdI3832L3F5QisiikxG74PUabGo 4Unwir9PR56t5meMGJVNb564wBGuvcyz9KjbO+IhFKajySFlh15X1VlIypD049zycO Jpvgz0TN4J2RsBd4k7DzI7689iU9Ekb333w0pF+cyHoXMfWluQ6F2WLwhW8P3DtrkP 06mOxZNMctmeg== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=_MailMate_32016954-B99D-44CD-BE67-01B33907190B_= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable >>> /* >>> * Drain pagevec and retry just in case we can = get rid >>> * of the extra pin, like in swapin case. >>> */ >>> lru_add_drain(); >>> } >>> - if (page_count(page) !=3D 1 + PageSwapCache(page)) { >>> + if (total_mapcount(page) + PageSwapCache(page) !=3D >>> + page_count(page)) { >>> unlock_page(page); >>> result =3D SCAN_PAGE_COUNT; >>> goto out; >>> @@ -680,7 +688,6 @@ static void __collapse_huge_page_copy(pte_t *pte,= struct page *page, >>> } else { >>> src_page =3D pte_page(pteval); >>> copy_user_highpage(page, src_page, address, vma= ); >>> - VM_BUG_ON_PAGE(page_mapcount(src_page) !=3D 1, = src_page); >> >> Maybe replace it with this? >> >> VM_BUG_ON_PAGE(page_mapcount(src_page) + PageSwapCache(src_page) !=3D = page_count(src_page), src_page); > > I don't think this is correct either. If a THP is PTE mapped its > refcount would be bumped by the number of PTE mapped subpages. But > page_mapcount() would just return the mapcount of that specific > subpage. So, total_mapcount() should be used, but the same check has > been done before reaching here. Yes, you are right. Thanks. Please disregard this comment. =E2=80=94 Best Regards, Yan Zi --=_MailMate_32016954-B99D-44CD-BE67-01B33907190B_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEEh7yFAW3gwjwQ4C9anbJR82th+ooFAl5+c9gPHHppeUBudmlk aWEuY29tAAoJEJ2yUfNrYfqKsyAP/i12fyBS2ituC3rfVid/bDImAZfQY5ZmUwOi hRZzsfdXxw3M5eF79z39HPGCeh8pOOJdu5wK+Ug/20GchAj/V1F/VplnoUF+nSwv nRRXUo7QkMk/6KYxCeWWytbE7xiOb4POzGcYsnh25pE9hAQ3yweW5WQXidNyHjGo Ba20hGQj6GTWx9wnaNHqOcAIMzG1a+dRymRp8jARqtB+lw7FP1hJrbzh2yy0meyB svBAGL8KKSI7RSb50T2PxZIjlZgnLtiTnUm8/tDZJ9smF0TImggTxDaBpOp8YHqU rq0obnu7MYwkPQjYKjYgVX3u6+d07hgUrAZKAPEgNCIzQr0KKrJ5AZFA7U4ZznWx YyZG11RxdxyJRnmtbUv3/mPJ54sAOqnOIhz/h6Wg0bZrOcA0XoY9tg80Tc/bh7zS MHr/JCVCquPbFgAj+RvsCl0YNo8Y/l+49xQIZt3wbRZe56l3e1wTOgAkBGEtrd5G yd2WHSP6oAXgE0WM4RJLnusrBUut2bQ6CyDsvhLMOiNzSKuK03LuuMGv8+9+eZuG qcwCLbe2Rc3+OO4fD0tpQIJzOAOl+VV0ztSGhZss4ZPMl7szNSrUERcQytEH5Tc+ UbeAicfvNIAW+vE2faH6rls+AeWKltVZavBI3wWxASTrvydhHwPYkmcF3BrkrRzH eKtMEysU =wx8b -----END PGP SIGNATURE----- --=_MailMate_32016954-B99D-44CD-BE67-01B33907190B_=--