From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751956AbdBJJx3 (ORCPT ); Fri, 10 Feb 2017 04:53:29 -0500 Received: from mail-ve1eur01on0123.outbound.protection.outlook.com ([104.47.1.123]:1160 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751537AbdBJJxZ (ORCPT ); Fri, 10 Feb 2017 04:53:25 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; From: Andrey Ryabinin To: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , CC: Tobias Regnery , "Paul E . McKenney" , Dmitry Vyukov , Alexander Potapenko , , , Andrey Ryabinin , Subject: [PATCH] x86/mm/ptdump: Fix soft lockup in page table walker. Date: Fri, 10 Feb 2017 12:54:05 +0300 Message-ID: <20170210095405.31802-1-aryabinin@virtuozzo.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <0d19ac08-88b0-675d-19bd-4cdc543fdb30@virtuozzo.com> References: <0d19ac08-88b0-675d-19bd-4cdc543fdb30@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR07CA0088.eurprd07.prod.outlook.com (10.165.229.142) To AM5PR0801MB2051.eurprd08.prod.outlook.com (10.168.158.141) X-MS-Office365-Filtering-Correlation-Id: 76cdb718-6d07-4780-24a5-08d4519aa550 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:AM5PR0801MB2051; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;3:p/+jmuQhJUukHfc80LixM7gpbvGbJ2cdJyAA6NXQHD5RxdF3MEYT9+LmQT9vvhWsC2BzWYyC1BIHNLq0AjdO/lwNBz/aI0ASaiRboeURvXZkCTQicBQjiVPMR8uli3c+JhSaY01tARMGlskAmjoqyzxLsptMHvjjPqRZoOoyl4FtI+CR7a/2eIUTlMYuBip7hCbd7/bL6r20yT3BdBUTKjpp6eYabVWDM+ieE2Cv0namjfLQuKYnFHJPqTSkUINa0bAQAYiIrnVYCxvNwK3aOg==;25:dTK4+ctYq7EZvUVbcQ6XywT9YYf5j3W2+cKUbti+attYHSH0uJnzTT2hdn7qGo8xE4jTnUhO4jvwmb5kA1YKJKzuT3lCbzWpbNHsMUw1ryYQZfT4bsvKwvfuJI9je45oHpQJdLH4k1xMIAKBVc1ODnkS4o+jPqLm57334Ez9GadT49+FFY//EDzp9X2A9GLxYemGyVgBtRafKZhG0idB4dDT9Hu3cbJmPJ3QqXPUujMCT93H85ZFM+ViH0fJojrSgSlmWHkrGxR09lnrXrStWpr0obahvKCuOdi7Tz5rLhfN9lqBUG85L7+WedT49hRP3xIRSVfLAsF5vNIUSyWjO9/AvrEdW7AesFoojZauVo5SUm8RIsDIVkmWJR66KT2JersJ/M48e+u14pJ/rDKok7EBMU+kgMhJMADQ1DfAtiZiGeNYoVM310X02JuqgePEiwPfinjegdIBaO8hnOTnMg== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;31:sBcbndqzWmUn1TiVM4SJMGwb18lEh69THcmwbal4iGSmtDIp6eL5fW8EOuvBO1hokTH+YYXsQXzWGZOCSUiMqZkbfMno4aVP8D4VwF7hwD52Ghj/fAIuhViXnhzGbEvHwCa4kRrxPhOI9hsLIjnsOEWe4mi9z3TFoTVeKkBfMl1cDud4o9ghpTT1aXTyWYLiObLvCswAQcAu8Q6VC4jzuS7//A/ViMsvJhZsx1YUiOvIY16dpdZL+e3R29imYzyq;20:pYFUb2b1C0JLQvt5ddhLG69LOrI7tm+2AuHMO5axOvJBcEG60wUHDmqhUJT4j4U/vooEY9yB4LjHRoZHRX/DPrbB/TpzREeIf8JglbjuRUHcCCeTJzSZMqty1joo3eRdN3rkzM0rVLo9y702uywfhJCVcAxrkvoddaGb6QOVLlcopTEeoOfsMm3Fd9hwQhUd9dsIPElkSNN9diIIuYLds0QOyiDR7pbfy7LpZG4Fk9yedF6gIMGE0ZncC9fSqtr9D4DZe7NKJjF9J9SHFEk2jrDfR+2xmf2h47egH5S+loEFWo4K7fM3dlg+yJNKkc0JoeoEqOwHSH6VdLIWnC2Wyb4J4g4C+qRNSZlBzE9Trh2TJHDiDvPMGSF51d00OIJemyeGbHp/5WBMJliEacTEqMZds6EJVBJelvgNw+IpNXg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123558025)(20161123562025)(20161123560025)(20161123564025)(20161123555025)(6072148);SRVR:AM5PR0801MB2051;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0801MB2051; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;4:9fnazyWh29rENXm/zP8hZ1UcqJGPLA17j1+PxGVTcboOvY9Zmp9Gn2n1LCIe6deLVD0xTPRtDp5LqjSG+ppXmxgXixX/zVMEEOSqC0bKIkCNlG3dvBZFD5kKSbFYKoFogKE1YBmKRuE95dhmnM26fC4ODUbIc6GS0WImKKzcu6dqJ9ZGBGKE1RXoCqL5x0hW9DfYUff6qGfM2rERdHrrxborrlWYPEiLW1EpHTNEjCp7NT9mtygEoojDtenIbxTNcmp2JMzhSghUej7ZMT/y0hltbyRKfTBU3LEuQfpJOkIwcvjNvcxuzi6jEoKHfUZyLE+8y6BY3U586+jyLBEkyVBvmuTnZaBcje2hX08YzoN4yDo3CqEe+VVV+KAv4fCE9fusR1Z85vfG7fmJYIWdc75TXk+pLTxyHLhFdDkSMUDbJNR3p+JSGn10XVvAvKWZe4iUXD1wlQzYnoYM138dmFNVXs99L6xMgf2WfTvtB4PN32xScJ4VQqNqKPi5Ps46+4WfQm0PDLOz2qs1NLJzMAnj6qKCrBcYn4smssHyhiVU16lWTgcD7KtzJ3bsBzSQa4nXpm6/ftqz5BLrAkAxkD44hVE4UPSNssJ3jfn1sNNmluXU+KFlvx1HrTNKMXiDs1NTehKIQHpOTsBA3Xi0jw== X-Forefront-PRVS: 0214EB3F68 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(199003)(189002)(7736002)(66066001)(39060400001)(50466002)(105586002)(86362001)(92566002)(33646002)(5003940100001)(25786008)(189998001)(6486002)(305945005)(47776003)(48376002)(6506006)(97736004)(38730400002)(50226002)(3846002)(53416004)(106356001)(81166006)(101416001)(50986999)(68736007)(2950100002)(8676002)(6666003)(76506005)(7416002)(69596002)(81156014)(2906002)(54906002)(5660300001)(6116002)(53936002)(6512007)(42186005)(36756003)(76176999)(1076002)(4326007);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0801MB2051;H:localhost.sw.ru;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM5PR0801MB2051;23:ZxWCq2klTJwV7OkewBIs4WviHWZC16l6usJKVLR?= =?us-ascii?Q?UPwrgBvxYq0bVUXqtgC14UU5AovmYJ4Seq/C2IlAa9DT4DRtdjyemFlDKSO/?= =?us-ascii?Q?/KqkC86N9HzUx+byYsKSJcJ778Z1TaEJV00G8Rf4LNwQv3mWr8JRg1fW/+eO?= =?us-ascii?Q?HxoUqWMpATtlUTrzDcjxKOWBgoXi9AgKUJqfkuZXs6wA7tUqH3UdL85ZhVCj?= =?us-ascii?Q?D/xh9dJQR5R1JJ1hGcw/0dvul/XG25aYPHJdqb0JkTvw924ZFngFFUbVQQz+?= =?us-ascii?Q?wtpiwJakrwFyQOnt9gL9uDUP9YEtQAl8IeUHZmg9Th1M456Xck3qM3mQkl+B?= =?us-ascii?Q?FedjVBSEkI56ceQY6CnWdkLOvqs+RH9n1jDu6gW5oKP9NYWM+GyOHk8JcBKz?= =?us-ascii?Q?ftOJ12LDBlYgC4D7dKxLsRLaQh3xq9yVxBsh0LR0QGni+AJ8tyTZt1+rtpSf?= =?us-ascii?Q?FPVFVYij+FDTrEVSdqRgqM4XFH90AzlvoDJQA9aXW+34FpwxIr8g8ryiKbm8?= =?us-ascii?Q?qGVTpL4PF5Or9bfM/RGycJGog/Vc1nLv4lEwglaIF5zuI0c1P14+FryuO5m9?= =?us-ascii?Q?JP1xSnoOUvJVfin52EIb0atkhgLeuXLuxro30Mb26OF81gze2LRBHRxsWsHe?= =?us-ascii?Q?rUSyFncXwJsyIxiR+nSXz0Us94q2l5R+OHvb8wAsvgD1qQZ1Gz7W1/U5Sefu?= =?us-ascii?Q?88Aa0TPPmuPpUqhMGKqDnEyuaB4BWlq/sVDTTC2/8Dml9pt6gBZD/e5bMsU4?= =?us-ascii?Q?1qXToNJ+HmfJlAY2PDNJDItvMk/ipE5SqpSQUUuU7rbqB+Lcps9iHJQNsOzy?= =?us-ascii?Q?+i0hoj7rJg4bHm/jxOWxk+KjYvbBmW2e1FMPlmnPdd/uWRNzf4SSo4eVWsiK?= =?us-ascii?Q?e0MSdw5+UyTKRufts5/d07LIhjLGhvEj1rzLDgBqa1h0W27yWBZfMvbKs+lU?= =?us-ascii?Q?hFXTSVKT+CTgCbWq+sQp1Tn1I9FG2famVTEEePIJQ70Jr1Mg4Nug66jW4Y5w?= =?us-ascii?Q?BfZrVaYoB+Y4C3B15WVdfK15b0ROAbRIuHDsemg1NI2mE5h4azSPCj3UxD9J?= =?us-ascii?Q?WQ3es+Pqa4VhMGk4ujcebkgV9i5vXSAgFax8aWbs/XAlKk4AyMYoC7YdEhfW?= =?us-ascii?Q?b8+cULrmwxIRNelV7+bGwTSW0oaodvQ/4Ofm5whedZByJLqBcAY07X1OjM0C?= =?us-ascii?Q?H927DAcGIJR/26rAw70JdgZJ1JmB/5MpRznbQ4Gitcg1ShYOEgCM4D0FK6Q?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;6:hqEayW5h1QSv4KL2q3gdIT1gugSvvIdGpxmZmSmPhQlrorxtt7dnXeOyFPPndNspVzbHBx74e45Bu+tN6jcrS/F8IRJv+5NkHvNqMCFuUjg+QuvsAKcXEbl7VBQPhY0FV6VAv4bSnfyj1DG7/Doftjzbn2uuk+4Xrxr6528+6rx65rnjLgkvwEiYTyqfAt9KSXqHD/7fRfOdU0NmufP1u5ww+LawGaGRIKE1Y1Sp+4UrXidDl85r/2W7hdFwSkTLqbDf1eDTaK8U6vD2P4GWSk8RzjtzgLIr9uMP0bWviQnIupRDRhJ/AkcAhPtD3Zdk70e92bUEk3in+0qFweluK6SAHqdmjL5+a6ZnKLgqjzLoRAA59k8DYipwjdUlj0COKjZzPGdzWPEqrQJxLLmWmg==;5:cmlkrxeIeiScTvuxttqOiHIrW4FmJBSwawmEZja2kP26Kiwj31HBmkprwvQdnmyrx2x0BhPm+EPjs/Y+8AAsRiKkLvadr2APZPB0nkWRaDUVSnNbu2m7HNnqPqvDhI++RszT4831xFbdPgAYp9Q5Ig==;24:0n5Hbpy/V+sPg6n0T2SAN5Kpkv8W1oLFWwfYFJnK1U+Ps+yYhuLVSzzYPKC9TSvMo1u0jZWtHqohwVY7+FHSu8R/+rfgaRyX5Acc/yLeUzQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;7:RneurN5rVcYOrt5KjskkyiUpogjmf7Z8JEBkmi0DQ0zGxK4AaSSYLNQUog0No7mPufSE1Zt9pzbfGyE5is8FXkVAjWL4+9k5YZzx2cDaFpZpHElsXK7t21KlMrsvG7uBtADXwocPpb47nW2jh3zFYnXBXFacvfpo2wQTLj38I16sxjDEN2P/dlFlBhS5lVT1Xglc4HpE2l3bXgohXsotVQ1QhahbRHbTWHLiSTJhTc6gbSDttrOvjX7Knc/bBVewlnpIaEjZD3ubhM/TrzGDvsQJDv420cR6fM1WaV3FcGZFqQeCo2nmaRp9pXVRyvLgdTdYlQOnOpJu0auSmKexSPDBzcZUSYz0e4I6PQZmDeYhZJ/xav9ih5UZk9+EZKogcjztctgLLmbf6OT1Gq0j7P1J13oNSlC1pBCoBubrerTiQtV+XlNLcnn9r09H6ZHQkMUjh3lBWWfolBdzITTrwhTmXOHoQXt6af9xbTcdgggEBWj/arJLQoWIu3t2Or0gHMaIA9Lm/GwWZ3jGOJK4/A==;20:EoVgTzVje96oGDuG6ucoY9DYy6YXJjQT0mapt1efRWIlQEwmwyt1Nm5h2CPRPk/80kGf+T3EkJ+bhKKgNSryeNtK2wZSZ3Uud8WQE01Gv/LupBNbOZejhPB2BOQ59GlLij2hWN0Y0irK46rw6QbHPLFulWu6Nz8O2ixHHo6HeI87kceWsxNIzKeRXAZwdQN+vrQFuyQliF8ct79Eq3p02NrBbdFCjlJ7OVF2ZUY7Cg4+/CPmN41UILcC39cPpUqY X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2017 09:53:19.5179 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2051 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org CONFIG_KASAN=y needs a lot of virtual memory mapped for its shadow. In that case ptdump_walk_pgd_level_core() takes a lot of time to walk across all page tables and doing this without a rescheduling causes soft lockups: NMI watchdog: BUG: soft lockup - CPU#3 stuck for 23s! [swapper/0:1] ... Call Trace: ptdump_walk_pgd_level_core+0x40c/0x550 ptdump_walk_pgd_level_checkwx+0x17/0x20 mark_rodata_ro+0x13b/0x150 kernel_init+0x2f/0x120 ret_from_fork+0x2c/0x40 I guess that this issue might arise even without KASAN on a huge machines with several terabytes of RAM. Stick cond_resched() in pgd loop to fix this. Reported-by: Tobias Regnery Signed-off-by: Andrey Ryabinin Cc: --- arch/x86/mm/dump_pagetables.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c index ea9c49a..8aa6bea 100644 --- a/arch/x86/mm/dump_pagetables.c +++ b/arch/x86/mm/dump_pagetables.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -406,6 +407,7 @@ static void ptdump_walk_pgd_level_core(struct seq_file *m, pgd_t *pgd, } else note_page(m, &st, __pgprot(0), 1); + cond_resched(); start++; } -- 2.10.2