From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753431AbbJTUj0 (ORCPT ); Tue, 20 Oct 2015 16:39:26 -0400 Received: from mail-am1on0090.outbound.protection.outlook.com ([157.56.112.90]:38672 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753367AbbJTUhF (ORCPT ); Tue, 20 Oct 2015 16:37:05 -0400 Authentication-Results: spf=fail (sender IP is 12.216.194.146) smtp.mailfrom=ezchip.com; ezchip.com; dkim=none (message not signed) header.d=none;ezchip.com; dmarc=none action=none header.from=ezchip.com; From: Chris Metcalf To: Gilad Ben Yossef , Steven Rostedt , Ingo Molnar , Peter Zijlstra , Andrew Morton , "Rik van Riel" , Tejun Heo , Frederic Weisbecker , Thomas Gleixner , "Paul E. McKenney" , Christoph Lameter , Viresh Kumar , Catalin Marinas , Will Deacon , Andy Lutomirski , , CC: Chris Metcalf Subject: [PATCH v8 08/14] nohz_full: allow disabling the 1Hz minimum tick at boot Date: Tue, 20 Oct 2015 16:36:06 -0400 Message-ID: <1445373372-6567-9-git-send-email-cmetcalf@ezchip.com> X-Mailer: git-send-email 2.1.2 In-Reply-To: <1445373372-6567-1-git-send-email-cmetcalf@ezchip.com> References: <1445373372-6567-1-git-send-email-cmetcalf@ezchip.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD032;1:KkF9Y/G3MNHuOM3wgfst3cmYxH4ztG8u3gOB3+5OdIWxfLpP1jiBl3xcgZ1M2Ua4/CboQdt25hX404P5gkmll7cgniE2QkYdm85QrQzdLfFukXC/a6NZormDK2wv795nJOwrDFPfxgr/CFnUsHHnac/JzhArA92By2k5fC/gw7gL0NbjECPoTG9oPs1cAPkHsP8Ux/6MHTzjC6+AGNOsabcpEvzEYnxpn0nJz99p1MIhP7Oe0+naFonJYtVX64Mh64QvJbBPAq8IuqMDRaFI3bbRyXy0jdpsYemDdtfsGAzUa93lXghR35FvOKcUIy+kH467phJhE29wis91DPT7viRHV3Lrt6YZpHjip3eo7OA= X-Forefront-Antispam-Report: CIP:12.216.194.146;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(81156007)(50986999)(11100500001)(189998001)(575784001)(19580395003)(19580405001)(5008740100001)(5007970100001)(86362001)(92566002)(106476002)(2950100001)(106356001)(33646002)(229853001)(48376002)(105606002)(5001770100001)(87936001)(50466002)(104016004)(47776003)(42186005)(107886002)(76176999)(2201001)(106466001)(97736004)(5003940100001)(6806005)(85426001)(36756003)(5001960100002)(50226001)(64706001)(46102003)(9376005)(921003)(4001430100001)(2101003)(83996005)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:DB4PR02MB0430;H:ld-1.internal.tilera.com;FPR:;SPF:Fail;PTR:InfoNoRecords;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB0430;2:beR60ugnPyaHverRWhHLOm3PIKPJP6ArwcQ/Rhw1ZxiRdTqiCVi2tgpGQINLOlL4gh4qa7WUId849jitGAik80zVbKVTbXc73qHbRQan9seus09WDSJa7M8N2io3Q0uNrWRxBaaWs7oWB+hvX4HyE+SlpYn7KzMiQgPCOpaYte8=;3:hIzDnui35WimdDrTU4BnNsQfIRPeqNLn3XJ6Uxyb1VOBgtm8iZnF2wYc/jB/ZSYskSUjbNnxgclh/hTZw2wKGfhKq5T8kYaYuoGM/GKC3pwF1BcJzWidsRLzK2EGZa4uPuq+ualrOMJWZ8XLM5tgR0dChAvNKzNu7WTsffmcBElm5JBImbSlSAdH8CN8dnS+MPkGYgKJqliMyaukoIekvrSYhjVSrXIlbG6pPP+mRWiK1wm8fApUrU0ahXOvdTUb;25:EQT2/6tBj9Uc8Kfb0PLOV8fjA/DxK3mnfHZmmrNHzI32l1haL7PdBPh+ymjm54xxD9d10A8t1W5z5M+4MoWsRljlIz09o0eEMLFqN3X/iGzWK3GL4+Iw8cwdxE29YAyiEgcfy6SimmzkEFVA4nQQg+L5jjArqwevAKcYpm4KbVX2OqP9vCPW5thuCa0SlPlmnyk2SlPZiR6A6b32DQGE2wE9DGoLF7rL2Lvjw0dNL4gevVDNiH4EDX5a/viP+2kT;20:aP46LLgaPZMrwWLOQj7n2tiNq44gSTKqvQwu15OXIDD3PAqaPPZuMMWQBY5g87EWh+VJpfDNlyjuo0e7XoOfasM65E48rZYBUxFgif7qvnm/y1jisf7xjmYI8Y1YxezTvEyETbZYrz9eww3//6z050MwDUs/eTnBm9+JoTpdHqE= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB0430; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(121898900299872); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001);SRVR:DB4PR02MB0430;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB0430; X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB0430;4:cmtPLV/Y0kMmZaFBYu5EQrCxi4YfAm9+PpmUnh2T5npMw3k0e+fn0GIANRHsnkyS+j1nceDcX9O5ywaWtbYJdMu7UkM5zFDYOC7MnzeL362kFKpj10LM9YWHzqGj6DYKaEhRj6lXFwEFxcuzxlczrZe1N/MyeETBUGM5+0ONSdn8MpYSCrhXwfrTJgHM4IyciNDZxZhLHY4c0c/iW5c+VlljZRUV/wLWPTZJKNRpOHEH0lqmIR7i2FzlQfcJNLojMDlLN1nGkCBvQ6vQ+7npebzWdwceoXy/h2tvKorSikY3lDojBRCTVlz4olkK7iOU9E2QiC7Tz6eM0gqV0D2NZv9YMkasHJoUrhCYQ+giJco= X-Forefront-PRVS: 073515755F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB4PR02MB0430;23:bWs5Y35lQcr7q2hMJK61DjiFVrV9N9dPi9pG5waDs?= =?us-ascii?Q?cOnaqvvVoXKORH2qwI6qKd+WmNii+nqDJ11JAt31norca2X4YKExt6VE+k4V?= =?us-ascii?Q?8n5I0t0xwwZ3WAG2xSCZdG9qoWhOnmtk1jjBjIV2apqui2j7ywYoRYDim5+J?= =?us-ascii?Q?gGvt14VGa/fFN88uWxuuCOs5hLhsax0p3SW7oZI3Ts2aMhyyhscSbYYxkCtb?= =?us-ascii?Q?iVX+sK0y4sZiEMX616cDO928XSQgPabcCztHNY1niJGjppz4fekiYkerxJBu?= =?us-ascii?Q?j8oF00w9Cz3SGJJKonm4N3fE+MEi6hGMmVPV4lMXfprGBFN+GlOBAp6I1+pr?= =?us-ascii?Q?z6SMtMKmSdwEFaQpgdzlx7NGjoslLAkqp7QzK28UI48mLaxGKkUQ6VLiDYac?= =?us-ascii?Q?ka78R8UY31z9tdUeMxqvzhm2L8DJytuo35jdYMScOfm2Aayy+4kCrlUfy+km?= =?us-ascii?Q?XSdJE4fyrf6oHSe68LG+tDmPtU7K5NKmTkXVmVv+ps8jZ12ZA5QQzP9/Tq/z?= =?us-ascii?Q?tG3VF5G4Y92dl91I/g6AlhcA1xtJpGDt4zZfccfpJAvITp697Z0GtqbidtZ9?= =?us-ascii?Q?I7GiY2Mk7XcmCGCqhox5B22lYACEq2SVUxDQSQ0yRALKEnSWbv98TWQVSXTH?= =?us-ascii?Q?nzg7l9kopM0EWrIcX/WOmhnkMeN8pUr88hMtbncNecM9xvgL0xZNyMTNzL8x?= =?us-ascii?Q?Equ077FynxvbduaT+qzu+UlIDEBrjr4spL3VMb8BBiNct9X/jzNeGuLZhNKu?= =?us-ascii?Q?IByXQfHodoJGJDsdE16E81itPdgwppxIJRJ9cl8oyrUkFEZpcAefwHCtVIZ6?= =?us-ascii?Q?TDBWq6NUkD6qiuRYMnz7OtRSmlfyz2tQJLepD4kRg0Kl+I4ESYd9O+Y/arIa?= =?us-ascii?Q?d9HmdldthG92ymMBc1NQkmOR6ljKfwx1T4tj4xfOOv3BX9jglNXjbneHU/jR?= =?us-ascii?Q?si96u5BgkjzIvcXTEA1svDSSauK8WglAvx+crpZf7kyRTLsdk39u0v00vabD?= =?us-ascii?Q?FE+4XkdPwvnXaRk7B4RIGct+vOyDKZXiBYvAgkH3wAhwtEcPmdOPAHX90qox?= =?us-ascii?Q?RkM6dC89LEZYovjehWWSN1ooynyZVPD7EjozvBKbF/SYodiJ/PNDO2U6eS9O?= =?us-ascii?Q?j/UV/ruzGRTwCX5rnoyj5Ocyxdc6XdSHlFk97TFilIMQFPeDpqUXlzxObw5P?= =?us-ascii?Q?UySW1O6x2SfWQnJeu4u1UhRiIWj4qcwqoUY0+rVGtK6GEsouOX3h1rowAtB3?= =?us-ascii?Q?pRl5CIRm9CGeYd9TJLdyjh0pVhB1saXccKbMT+bMqTpDoq3l+A8zwF/KgkMN?= =?us-ascii?Q?bbslm6KjZ29ub+HU0205PY=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB0430;5:PcQ8FOJXy+25EGdk9o8RvaQDgsrOBVhARSXRkPMHhlBzKOT8vhvBn6Y13EOdOLyPqVbnpvo/CzaKQcolRMMunETvYzMeQTZluH6KEsOMG/2fhcv8zWVeJZZ3B4r0MEgn56U4JTCYoLyk6lT/dfXtng==;24:LnSIb0JYRme2EgEXH1n/kjHUgW2jL11+Pzqscmgv8KwaDdi7+jZMEBS1wK8yju7oPNww6738hAZxsggc1EQbTdVzTItKO2Ti9DtCeHw/Vf4=;20:oqQfsTYa/5fi/sjXANAlApUkylDs9zTeBUmeD/zzMKtMSaq9N3ucNMksH8chi5Udr2ZZRgVvhteG6A7JldWieg== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2015 20:36:59.7193 (UTC) X-MS-Exchange-CrossTenant-Id: 0fc16e0a-3cd3-4092-8b2f-0a42cff122c3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0fc16e0a-3cd3-4092-8b2f-0a42cff122c3;Ip=[12.216.194.146];Helo=[ld-1.internal.tilera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR02MB0430 X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB160;2:CjKGStkREOYGTzommmmdSO0y1+bSQpVW+1X1u3C1pLG1oWkjXTire+Z/jjPnevWrI6f3ImZc88wSSDGKhbkyKSb+vJQ8xP8xf2VA2NGcbj4iBFw0V9At1wY4NsCus5N5sVILBe535Uwxzdp2CjSD5sVcVPkWw4pDb8ultAdmZXY=;23:bZtVRKQjZSokEX6r2FaxCRYQn6i1EcdTzL0ktXns1CTvB6hcZLv6O6fBKqerqTP4DEwmX5yFBnjHEDFeTQRU2LJGgWtbx1xknb45RN2HUY/XopjEH6RZQhZsCtyGxS5xR+k/YXreXq1xdi6BUqK4MSumgBD8+LSajwbHhMQs2fiz/96yH1poCxed7YSogwgB X-OriginatorOrg: ezchip.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org While the current fallback to 1-second tick is still required for a number of kernel accounting tasks (e.g. vruntime, load balancing data, and load accounting), it's useful to be able to disable it for testing purposes. Paul McKenney observed that if we provide a mode where the 1Hz fallback timer is removed, this will provide an environment where new code that relies on that tick will get punished, and we won't forgive such assumptions silently. This option also allows easy testing of nohz_full and task-isolation modes to determine what functionality needs to be implemented, and what possibly-spurious timer interrupts are scheduled when the basic 1Hz tick has been turned off. Signed-off-by: Chris Metcalf --- kernel/sched/core.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index b79f8e0aeffb..634d5c2ab08a 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2849,6 +2849,19 @@ void scheduler_tick(void) } #ifdef CONFIG_NO_HZ_FULL +/* + * Allow a boot-time option to debug running + * without the 1Hz minimum tick on nohz_full cores. + */ +static bool debug_1hz_tick; + +static __init int set_debug_1hz_tick(char *arg) +{ + debug_1hz_tick = true; + return 1; +} +__setup("debug_1hz_tick", set_debug_1hz_tick); + /** * scheduler_tick_max_deferment * @@ -2867,6 +2880,9 @@ u64 scheduler_tick_max_deferment(void) struct rq *rq = this_rq(); unsigned long next, now = READ_ONCE(jiffies); + if (debug_1hz_tick) + return KTIME_MAX; + next = rq->last_sched_tick + HZ; if (time_before_eq(next, now)) -- 2.1.2