Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp155059ybb; Tue, 31 Mar 2020 19:42:48 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuq0GjoL+Xah9FXDP023D/uE3uMLbnlUBg0drWNf1vS4td2H8IXaYkOUKekJWiHqTG+JuXj X-Received: by 2002:a9d:69d5:: with SMTP id v21mr15907285oto.197.1585708968680; Tue, 31 Mar 2020 19:42:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585708968; cv=none; d=google.com; s=arc-20160816; b=oi4NaZyv4cOBtcvPI3faAjdCwlUp9aP3wwvvv4SAw6EUYBKggZfqEos65eERx0Q9pz hTaJ25F8rwySaFUrC8PItQEXgK1UsivT1wpwVUrXNw25TEbpdUQH9H0R60r/i5OSVVvh FKybTQZt/+ky/3+oWZT/j8VwuWZwF/mRWx+XjQynsCYZHw+mqPSY+MYTIfBn06l+tZdZ 2RA9Ps2tH+3Z0DSjLGI4oxmi5SYQ9mqgIbjnpxyr1rnlkwv73kJxQhJT3pX6iG+gA1TV eacKRqLHUR0C3lVwTljwMl50nS1RsOeeIK8JPVg8ZHqvuvL1/SY/vTizn+giIXyZsAsw ravA== 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=Ybh/8CsSStUTOkVu6y5G+HTsQh9b1jV2tVTjSGq68JQ=; b=zoRXbebkZS/H3H/oJZ+34Lo8upXxLWboQEm9PrM/DMJfT4WyDu3XZnm24Hu8t+oblo mGeoBZYP4EGYcH7cZhKWdLwwKAJrlLfOOAvj6+m4uYYDRZXnktpDB408sDCiwlhn1TH/ 97GFgO/6VzM0aNJRjtmQ7WO0iyAEZkKmYfEjv+RK9aQJqmU79DANMXc59YBIu8XU0IwP NCymUIhXfmJEmOHDLnXu15uEbWzjKqDsGrgu0H3dYNW4kaFU10eOzR85f07/KFNXT1dh 2bSHWxz3nd1+pu6CgT49kuj1e/KibF45i7GrNCrbGo6Rrq9e+IK+uY9mmx59e99gEl0K gU5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=J3ymFXnq; 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 p125si316539oig.264.2020.03.31.19.42.32; Tue, 31 Mar 2020 19:42:48 -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=J3ymFXnq; 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 S1731623AbgDACmL (ORCPT + 99 others); Tue, 31 Mar 2020 22:42:11 -0400 Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:11300 "EHLO hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731556AbgDACmL (ORCPT ); Tue, 31 Mar 2020 22:42:11 -0400 Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 31 Mar 2020 19:41:20 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Tue, 31 Mar 2020 19:42:09 -0700 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Tue, 31 Mar 2020 19:42:09 -0700 Received: from [10.2.164.158] (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 1 Apr 2020 02:42:08 +0000 From: Zi Yan To: "Huang, Ying" CC: Andrew Morton , , , Andrea Arcangeli , "Kirill A . Shutemov" , Vlastimil Babka , Alexey Dobriyan , Michal Hocko , Konstantin Khlebnikov , =?utf-8?b?SsOpcsO0bWU=?= Glisse , Yang Shi Subject: Re: [PATCH] /proc/PID/smaps: Add PMD migration entry parsing Date: Tue, 31 Mar 2020 22:42:06 -0400 X-Mailer: MailMate (1.13.1r5680) Message-ID: In-Reply-To: <87r1x8hrie.fsf@yhuang-dev.intel.com> References: <20200331085604.1260162-1-ying.huang@intel.com> <965DC015-7D6F-430D-8FB7-A24A814C13BE@nvidia.com> <87r1x8hrie.fsf@yhuang-dev.intel.com> MIME-Version: 1.0 X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) Content-Type: multipart/signed; boundary="=_MailMate_609F54C7-92F5-4CF3-8A63-C8BFD6C7063D_="; micalg=pgp-sha512; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1585708880; bh=Ybh/8CsSStUTOkVu6y5G+HTsQh9b1jV2tVTjSGq68JQ=; 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=J3ymFXnq7Nv2WD72/c52xyS6SILb69MveHQV3nNG0i/5gIYVMryYjTfeYaKQVq09J c8ROXUKEZngwoVMriJaAeMQOSNa5lGZi7tkOsA+2rhXl436hgOIOjMIU9SWal7iW6p Egfh6nbBWHbOnRrjV/W1XE0gyFPNJR+1BVAsfgofIQJjMv8/ZuQuAahxP6SsTxGbdd kK808JMTDQMJ922xK89DIripWBkOBvMEG488xmI9uSrafWw3O2vDhekTxjciKeK/B3 CZJ7ufGoCkCy8B4Tyk/aCCyqzMX9lgMxXZMA7wJ/OmLhVxg0bchUTXYhplwvHqLyj/ Arl6YiMI9QaTA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=_MailMate_609F54C7-92F5-4CF3-8A63-C8BFD6C7063D_= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On 31 Mar 2020, at 22:24, Huang, Ying wrote: > External email: Use caution opening links or attachments > > > Zi Yan writes: > >> On 31 Mar 2020, at 4:56, Huang, Ying wrote: >>> >>> From: Huang Ying >>> >>> Now, when read /proc/PID/smaps, the PMD migration entry in page table= is simply >>> ignored. To improve the accuracy of /proc/PID/smaps, its parsing and= processing >>> is added. >>> >>> Signed-off-by: "Huang, Ying" >>> Cc: Andrea Arcangeli >>> Cc: Kirill A. Shutemov >>> Cc: Zi Yan >>> Cc: Vlastimil Babka >>> Cc: Alexey Dobriyan >>> Cc: Michal Hocko >>> Cc: Konstantin Khlebnikov >>> Cc: "J=C3=A9r=C3=B4me Glisse" >>> Cc: Yang Shi >>> --- >>> fs/proc/task_mmu.c | 16 ++++++++++++---- >>> 1 file changed, 12 insertions(+), 4 deletions(-) >>> >>> diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c >>> index 8d382d4ec067..b5b3aef8cb3b 100644 >>> --- a/fs/proc/task_mmu.c >>> +++ b/fs/proc/task_mmu.c >>> @@ -548,8 +548,17 @@ static void smaps_pmd_entry(pmd_t *pmd, unsigned= long addr, >>> bool locked =3D !!(vma->vm_flags & VM_LOCKED); >>> struct page *page; >> >> Like Konstantin pointed out in another email, you could initialize pag= e to NULL here. >> Plus you do not need the =E2=80=9Celse-return=E2=80=9D below, if you d= o that. > > Yes. That looks better. Will change this in the next version. Thanks. > >>> >>> - /* FOLL_DUMP will return -EFAULT on huge zero page */ >>> - page =3D follow_trans_huge_pmd(vma, addr, pmd, FOLL_DUMP); >>> + if (pmd_present(*pmd)) { >>> + /* FOLL_DUMP will return -EFAULT on huge zero page */= >>> + page =3D follow_trans_huge_pmd(vma, addr, pmd, FOLL_D= UMP); >>> + } else if (unlikely(is_swap_pmd(*pmd))) { >> >> Should be: >> } else if (unlikely(thp_migration_support() && is_swap_pmd(*= pmd))) { >> >> Otherwise, when THP migration is disabled and the PMD is under splitti= ng, VM_BUG_ON >> will be triggered. > > We hold the PMD page table lock when call smaps_pmd_entry(). How does > PMD splitting trigger VM_BUG_ON()? Oh, I missed that. Your original code is right. Thank you for the explana= tion. =E2=80=94 Best Regards, Yan Zi --=_MailMate_609F54C7-92F5-4CF3-8A63-C8BFD6C7063D_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEEh7yFAW3gwjwQ4C9anbJR82th+ooFAl6D/34PHHppeUBudmlk aWEuY29tAAoJEJ2yUfNrYfqK/KwP/iLHzfdvfE/GJ21pw75g6t6p67Q3yu/VDstT OkF4yH4mTvszCwuV7kDxxt6DaV6sobagDNZJCIpoW4WJR+NPxNHP1t3cZ/9/WCzy D0yetPM3XRp9ejahnVGZQuvT1uUMOO6neL6bndwjctPNBAJk3yxACoP+I36wBVPo aPhVQO85xEjDtjAbm2r9Ad/wHhe071wamVwRJC552fQoMbga2lb+jhZFLptU0Yls ZyEuq/KTZ0ZLkAZc8zUbaoDbQif04cJQE2W4ars0bQj7c1X6iUdxCuKfplQ9i/xz wyss+lye31p8CXiAXnSxzrwlkD6Z5Ynokhp+V25i+oBpxJdUiiAG0IVd13mWky7D lDQAwvyRK3bgNs0vVdOevs5ZljuBh0QH1cxmmN2Bw8YRxlnYYypUS0VRV7ZdLuwM ERwVx7/JKL536oIHxq1IOUo03rLX5Wr3Ccnd9kD4GL8PZ5nif4Rcgs899OWw4/R0 C4fRbn/Zp7HHbG+SyqjMTe8pQYVK8mrL7CzSc8QPwJuRhfA1MTDlKKhPzoJ+uyTz uPIl8dB1JC/FZ27TCWnhaF+6ezhV6MgZIXjevaUPcu8ZrFZSJeuY9JgPYM59NBQe nVXn1e4v8YU5knJmJMMfSZbyAWWJTcQQ29+NabdTOqcfkfz5UlZEmOkMA/ODSsg/ HfYeAeik =Hzpe -----END PGP SIGNATURE----- --=_MailMate_609F54C7-92F5-4CF3-8A63-C8BFD6C7063D_=--