From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754319AbdDJRtu (ORCPT ); Mon, 10 Apr 2017 13:49:50 -0400 Received: from mail-bn3nam01on0119.outbound.protection.outlook.com ([104.47.33.119]:2409 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753629AbdDJRtp (ORCPT ); Mon, 10 Apr 2017 13:49:45 -0400 Authentication-Results: techsingularity.net; dkim=none (message not signed) header.d=none;techsingularity.net; dmarc=none action=none header.from=cs.rutgers.edu; From: "Zi Yan" To: "Mel Gorman" Cc: "Kirill A. Shutemov" , "Andrew Morton" , "Andrea Arcangeli" , "Rik van Riel" , "Michal Hocko" , "Vlastimil Babka" , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm, numa: Fix bad pmd by atomically check for pmd_trans_huge when marking page tables prot_numa Date: Mon, 10 Apr 2017 12:49:40 -0500 Message-ID: <8A6309F4-DB76-48FA-BE7F-BF9536A4C4E5@cs.rutgers.edu> In-Reply-To: <20170410172056.shyx6qzcjglbt5nd@techsingularity.net> References: <20170410094825.2yfo5zehn7pchg6a@techsingularity.net> <84B5E286-4E2A-4DE0-8351-806D2102C399@cs.rutgers.edu> <20170410172056.shyx6qzcjglbt5nd@techsingularity.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=_MailMate_61A54B4F-F01F-4F01-86DD-0BE5C19ECEB4_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Mailer: MailMate (2.0BETAr6082) X-Originating-IP: [12.1.252.66] X-ClientProxiedBy: CY4PR20CA0046.namprd20.prod.outlook.com (10.172.113.160) To BN6PR14MB1652.namprd14.prod.outlook.com (10.171.176.18) X-MS-Office365-Filtering-Correlation-Id: 7a558837-150c-4832-1bb9-08d48039f583 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:BN6PR14MB1652; X-Microsoft-Exchange-Diagnostics: 1;BN6PR14MB1652;3:ztoghZRRTYMh0wn38+yoQAsRUSMlynmhxEgJwkEdILk2ii7b4X5+8/z2wN5CNllsUQIDmPNqQPQTD7T3zFJdnnWZvNXPLQj4bJAaWsCNZn58zRjaEmW0Ht6AJsZqKfjXHd+xvbR4pSZoGv/4iKzbNKwt7yGb1lIS3GhSPrQa7NC99Y3SPkAFva6z+fNohQiZNdUKvcmiRjU2vFKV/Io09szyIcUxz4Fh6bAk8Dy3mzp9E4LmjTNdhZrDHMYgEi/ueqxLkxkhenJIEnEDb8QONFyuj6bJjhqtRJwcE1NeJL5j9PpaspOp0GVtoBtjwGGSNOHB+6cDLE8s8TJYCaBiJA==;25:wPHXgL75yWz3+ZaYLDP5wLOwGWDDFAoffg0H9LMqGDVdqpce2RcXHO4PrPtELr9hh0BDnaMloYTCX4+fS7tZw632xrIQQp2xnsZyj455BDqyjiRrXOImaqnsD+Edi/MVRQqwBx9v/8WhjvG/WIkmGwEuzvqrfCW9/6smRd/RtaYn+tmX++jbaAFLVgG6W8m523CSsVwPR1zwtsmDsLnfhGxLLkreYGw/FZfde5JToWHpvVcwZzHxl/U/2eM+kJO+htAx7+e3EzEU0V3fnAfIv+aylEjxboycH+bq0C0tJN8MCgQp0QDjy6V1CJpnetNAKIg47DS9FY0Un/E3z6qINtaDDixy3RS4qlVTkmpRGtgXL5CuD2kcDbbd16dPXOqz52VrBY3TSQViPrwYdMv24OWMbPNMvszMXHHGXuqTEWVqAmR24KmlAz4qYXLpFjztU4z6QRfmcHKGb9eSwNPTmw== X-Microsoft-Exchange-Diagnostics: 1;BN6PR14MB1652;31:Z9anmiuD89a7otA7lthPsm0AWVBnoQmmRq6R2Bx9YEbdBg2N5mRfuuj8gFLyki9DjOGMPG8/txZRD323jgOjQEKBqOqx4wFNBiZ9aGUKtmcRzmidfSY5emaGNFsp9pxvjm9tBWIJJsjutQtbRzNswAyDDC/TNWb+mzDZYfYEqbXmbyubPCpXpHIP245MSOve9vlQuNUreadtBNG+dEZeawDvfqnTGnEX9YA3EDQnKD0=;20:4fQQ8w5ZJAZ9gDoaAVPRUKSY0XI5VeQJcAOWvegnrR2oVpmnwX3/6odAQx2yQvHMhO7ZCinrVEzLgNoGV5/A2hMcEZlprPMfFFOe41XmnPmdCM8DJR/j39Ng36GD+vHTK6nZZRgC55okV7ebEUbbkr6EIPISBA0gMJ61ZGbCSpPP7PxSfi0qxFok+rGRSEcSt8TmO5l1adjB7Zpg6DtsLZBkwqXXH6RuhB2UtAvqJog9nDAiXjWLMbGbFCYDLt65cNkym/8tFXb44VE5ZpwvmzZmD6I80xbYaKptfpO+v/uRoMAHEUsNLUO6kE5lGry+vyyUAD5QPDXYMjicE5yoz9Kpz+fHgUudLDgv3UeEL9eufvJo/YBd+XQgdm1qlzcWfiHYS5AXMzAuGuijDW4Wb57CxqNUBqwRi4hGh3ygXw/at6wYqfkI6EEHH4Ykao0ZfdF76tz3aAEJaQYoUE6Z11dfYjdKkW52vmD05sBLq2Hz0Ymud5m7HOZJxSmCtqmG X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(6041248)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(6072148);SRVR:BN6PR14MB1652;BCL:0;PCL:0;RULEID:;SRVR:BN6PR14MB1652; X-Microsoft-Exchange-Diagnostics: 1;BN6PR14MB1652;4:qfpKqcbhe0yBeQSigGBCWXr2xGM1/ipu2F64m+KSarBIq5a/9yM9t/la0XiYlQzXmeJXTo21KtCtHX9SFAcwMJ0ot8wOQCtdZPcXFWkz0x3mIyHIpwu46Tb9QCwn2id7zmuZuovDrw7GgpFfxN0pJ3WTDSYkfiWfHEhuMU/5B/febOFvTLo9D8FGM/uFcp2ryvcrHfUPZWdNlnoc4SsgjEmQ7o8jxHZ743rKtUF6YSd0uJv/CumO/FfDpUF0G4SfbvE5wckpaLKu5URdZ5fal6Zv/2pizFiQe8NayLzoC5XpXKFW3lIys1Un8BJbQFSBWefBYjlNeS/vdsbRgCAmzbv77wrCv75q789T5LsoSeBYpDgKz2jObbJWOWaBtsAsB7ohcj2uDouneVOou1FWgP4ikAk62mQx5C/HKXFDyQX3dJEIPBtQqjmW6WjKIEaka4MXJSOdgTG8TAQrBi4mwEAi5bCCj4jGtPxNgNIOCA4U0UA/YVRdWICseYt+SPx3KGCRRkVm7iG0vE3FDayk3nJx+1ZlRm6AvAzigWuSE0JOWztmdJ5nyWCHf2pPz5+HzousE745O9yg9NXSbL6qe2alP7jEBbEVGvuB+Nl7G9p/XeKn5DFm8ucBWGmp2MJnniIFamjBVGHg6mY6tvstcJJqHXBQOWTYJ0Ft7I4V2sGISvqK+JlJuZURtV89Ra9No0RlfrH/oIFSPhZTEx73fD2zDc6Dai1+I7TiBLieuZE8P7qRKi3dYfec/shYB1TauNkrQf0l1l089AomqpUsDfNQ7yfOA5E2xreGviBXUKc= X-Forefront-PRVS: 027367F73D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(39850400002)(39410400002)(39840400002)(39400400002)(39450400003)(24454002)(50986999)(76176999)(4326008)(305945005)(25786009)(53546009)(7736002)(6116002)(66066001)(568964002)(6246003)(84326002)(5890100001)(82746002)(75432002)(5660300001)(53936002)(83716003)(189998001)(33656002)(106356001)(50226002)(54906002)(229853002)(38730400002)(110136004)(6666003)(86362001)(6306002)(3846002)(90366009)(2906002)(42186005)(77096006)(6486002)(6916009)(2950100002)(42882006)(81166006)(88552002)(8676002)(14583001)(72826003);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR14MB1652;H:[10.20.179.89];FPR:;SPF:None;MLV:nov;PTR:InfoNoRecords;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR14MB1652;23:6LvneA592P1Pum1p+TUqyQ19GUfUTI2VLTzJCqiH7?= =?us-ascii?Q?XPgOig4adX1mPkl3wi9F1fL9fSqV20h4pLnleE/0q1vuAyV2ENVf81mte8EQ?= =?us-ascii?Q?ExHmNigE6SIS18Wn2oGYXOuUeIBjHO8xQHToUQHBXelSW94RDx+04gwZAkFM?= =?us-ascii?Q?0SziZVdkuGcWpW7w9VSLSfyGuuaK3C73LXYSZqDvqs2xJqIN1SN96dM6TyDT?= =?us-ascii?Q?820StABOjEfm67I20xMDzm1d5VzK7quMQU8DlrNBplUfDe5gx94szJyMowqw?= =?us-ascii?Q?8yq5KKssQM/5rD7qblKQlfquWR+k8S7gh5UkPzlKzeFgnc+/Y4ilrly0017G?= =?us-ascii?Q?UAr1hghVw4bIlQ/UNE0E28NUw4D9M6+kw+XnXRYvAUEJ0Nr0YPir6IryYng5?= =?us-ascii?Q?/daSF7uRPflyBlaMubrP573C0aDaWYfrsY4ESHu+dfZNA9ieeOrMw5kkVEKW?= =?us-ascii?Q?+bMY9Bxql3TD4qxzYr7ZRjL3JAQFX0r4gfU3lZMeDGyQXZSuMAn87z3nSYFM?= =?us-ascii?Q?GjRt7aepmcIZoYh45RLpTwjqoIxgaxUA2s9eZNz2VGV4kd6LeSsAZ61k0P/l?= =?us-ascii?Q?q0+JmEdxUbyZbi2qY7WdVpZ0qsPG9UxYTWqsF8iEmoXLqcCr2lQuW4skO54L?= =?us-ascii?Q?QKMzDjqlu44xBk5aCPD6G3EDsePR+QPHn+UfjtBq/fIfa9UEBGS751E80dGS?= =?us-ascii?Q?99hx8/7ogWxA4PXD+7ZILJD77lDTM5xHzGeYD3d6sribfO1L4ZpZJAOd9+GZ?= =?us-ascii?Q?RqzpPRshFg+e2KP8jLj1XRLMfdf0cWvXDe/+yZaIMB+4iChP4/qQ/aBYt9NK?= =?us-ascii?Q?wDy1n877rCLF4OHPD3W9U3kyRO2Z/Z84d9/7bT6gev4rnH34mrEVXyqBNPEl?= =?us-ascii?Q?SmmdqbVJ48Y0QBx6Zp0Qjf+6QLx8XBb3cFfBu6SxvPuIGIZT8Rd8bLfdEWZu?= =?us-ascii?Q?MsXEX7+pOVM0oXDMNI4+5+xRVbCdNBmygTdMT67iIes+/hviCWYAEH+vb9ZV?= =?us-ascii?Q?Cqa2K0uwidDC7s0bfy4WY2OAJgU3OKTVFKF6MRnQPmieOjb24SDEUc07+opB?= =?us-ascii?Q?RtDP7w4GmC/G7KFH852Nil3ouH8ml5OtoHDu+hXYcKx0mEP3xpecYFBn1r5k?= =?us-ascii?Q?uGeviAnRCEAeCquY/3E8ReV2VQtU020V2eLqVZq+LsfwDN71fvqGQMJy2AFd?= =?us-ascii?Q?yTtGM60l/fOUrsagmmx4cSEPtu3KaMgLIE5oupVzZPd159FJ7rpnyEJWnG/w?= =?us-ascii?Q?GaBCgWaGUzH1joPhRAWoEuNoZi1bosBLrIdP+iQ?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR14MB1652;6:+VPIb6J01ql8NIkm46IKyu/Z8nB9kFcypwSk/LBPjRUOe/lze8CqBg8yAvkJEPYVt5+68Y8Ig+UFIH+q2R29Jjbfd52P9+B4lex5hvtjamFmjvwHwQdLum4BpuNQI9D0kvpkk+vKtQVrJ07IFcY4YikrBfRT6AF6HM8KiXpX9R15TWDaNM9yLsq8C8bV5pjHCSPCQPb6j1qdgUF1qF+11J/Yxt5xh8Hpean6aco2mTpCdrYHxfIs/YMMx/73dWlcPUpjSSsN06VEuuJOMqDzD035/BoEgvLZsBmWBEpQAxvoo9BjRnQylvrbw2JAE+CgXqCm8+GMJ4b0qM3uCiDuXPEvAV12XKT3DP9OOsDP4EmcR6eTmnu4oxMRwRP+MBPTuEADaJdSUxKp6ayGigSlf7ygLs7oVVWmS5J+jVkib8rAm0AbeTX6Vbrl7L9m5qGQXPuivmZ5LlyYKSPRwe6Zmg==;5:s74wovN2KGC7fL9gR/kIcqu3TUjc8oZui8+1OUfvNxASoxo59KcQfjBFS1a4TwnTZ3BGceM9DSBF7P2mlTnFI9VzQ8Pd8vAr8VizEvHa+W9hoCQa/JuGSOQCXpLhPnZkg15UbrCMW3wgDVYCFKFnvw==;24:zmdLuHkxGPXEaZ2L5342LfJmRmv2YKtp+jstGTVmLi3zxyfCl4NIlw+GtFZtIBlgcY4azLmCgcypCTa3Ic4kX6RbTH5XBHX7B++gQUTsW9Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR14MB1652;7:mT1wEbnf5CWwCsPdwQNmwI1kmrn44NoTeuf8df3Gw0fS+KyZf8YiNsoi0myOzULrdV4Mt2CewCqOIZuSo0XTkT28ir9yYwocBoFYf/Wekf6AE7yq5RBjYUs4JFvKg3ZUE7FyvkDfyMwq67QzuA2fLMjAKwUlW8pMMuC2BqRtbPNpj5iMetN1pu1xHbCEefdvoqjRIGgqWAyN8nxiARjSbDOwd83fPdsv8o8oVDlOa+BKMuOss96e+QDnbwx+goKBGkuH5hWdw0iJDR4jOR76usPlyh5aIlcullhNXFTEg2/P7L4y1P61mjs99he5d1aOR4jeTmPMKgV7ea6OSRO1Gw== X-OriginatorOrg: cs.rutgers.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2017 17:49:37.5564 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR14MB1652 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is an OpenPGP/MIME signed message (RFC 3156 and 4880). --=_MailMate_61A54B4F-F01F-4F01-86DD-0BE5C19ECEB4_= Content-Type: text/plain; markup=markdown On 10 Apr 2017, at 12:20, Mel Gorman wrote: > On Mon, Apr 10, 2017 at 11:45:08AM -0500, Zi Yan wrote: >>> While this could be fixed with heavy locking, it's only necessary to >>> make a copy of the PMD on the stack during change_pmd_range and avoid >>> races. A new helper is created for this as the check if quite subtle and the >>> existing similar helpful is not suitable. This passed 154 hours of testing >>> (usually triggers between 20 minutes and 24 hours) without detecting bad >>> PMDs or corruption. A basic test of an autonuma-intensive workload showed >>> no significant change in behaviour. >>> >>> Signed-off-by: Mel Gorman >>> Cc: stable@vger.kernel.org >> >> Does this patch fix the same problem fixed by Kirill's patch here? >> https://lkml.org/lkml/2017/3/2/347 >> > > I don't think so. The race I'm concerned with is due to locks not being > held and is in a different path. I do not agree. Kirill's patch is fixing the same race problem but in zap_pmd_range(). The original autoNUMA code first clears PMD then sets it to protnone entry. pmd_trans_huge() does not return TRUE because it saw cleared PMD, but pmd_none_or_clear_bad() later saw the protnone entry and reported it as bad. Is this the problem you are trying solve? Kirill's patch will pmdp_invalidate() the PMD entry, which keeps _PAGE_PSE bit, so pmd_trans_huge() will return TRUE. In this case, it also fixes your race problem in change_pmd_range(). Let me know if I miss anything. Thanks. -- Best Regards Yan Zi --=_MailMate_61A54B4F-F01F-4F01-86DD-0BE5C19ECEB4_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJY68W1AAoJEEGLLxGcTqbMIdgH/RRsyhNNbUinSW/L32d21YI/ Reat577JS8Dmk7deMlVvqrsyMb+dnJ6+E1GSsPVF6LJxH0yh660vH5ZSYiLvO484 zHptpTpvPeGvjgHy0HOtFd6dmi/az4z3kScfPeqsOfIqjiwTXshKoz91LEdNBHw6 +i9yYHXbpyLeYaDIohv7XheF82jLQLK3v58aLeWGbAEZH6siSYb+0Yz9dnuNyDTl 2oNhPvDA173O4YgFUrRJstJTRUzhl9pxXJKZ3qbrtiNYGF6kGYshHT7do6JT3XUV jCj3//0hbe0CAQHE157YV53oKpm5FvtfcHqD7caQzVUwFFOrMJlmu4vAO7NDdz8= =oD5L -----END PGP SIGNATURE----- --=_MailMate_61A54B4F-F01F-4F01-86DD-0BE5C19ECEB4_=--