Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751423AbdGQV65 (ORCPT ); Mon, 17 Jul 2017 17:58:57 -0400 Received: from mx0a-00010702.pphosted.com ([148.163.156.75]:41560 "EHLO mx0b-00010702.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751318AbdGQV6x (ORCPT ); Mon, 17 Jul 2017 17:58:53 -0400 Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ni.com; Subject: Re: [PATCH] Revert "timers: Don't wake ktimersoftd on every tick" To: Thomas Gleixner Cc: Anna-Maria Gleixner , Sebastian Andrzej Siewior , linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org, julia.cartwright@ni.com, gratian.crisan@ni.com, harisokn@gmail.com References: <20170203165151.qbpjothhaqctuzx5@linutronix.de> <20170203182112.18053-1-haris.okanovic@ni.com> <20170210170207.3kzfqyfa4ueh7mih@linutronix.de> <4b4df775-53b8-cdeb-381b-af8cabb364a8@ni.com> From: Haris Okanovic Message-ID: Date: Mon, 17 Jul 2017 16:58:42 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [130.164.62.171] X-ClientProxiedBy: BN6PR17CA0021.namprd17.prod.outlook.com (10.173.147.31) To BN6PR04MB0691.namprd04.prod.outlook.com (10.172.198.12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5f2e7427-14f3-4202-2f62-08d4cd5eff25 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:BN6PR04MB0691; X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0691;3:IfJbGwzxf3rTmj3VPS7tbVpW1SNg656vxsQ9y7s0Yv/iBJ+elXLMPOfPKOSNxAC8/iIL/ED8Bfai0iV6R0V+SmLU3PaFduOAB35lvslKBjKvfWE0giUmAiaahvEQTLCLv2eWb5/Za2A6yFp4QE+twglbn5z1WrK5hz4fw4c31aoNnL2CpA8mlZvq7vf+hUpiLZvJCBnY1Onjn7ZcOq6JSjpAGVqlynHS8I/SBZtLJ9MTNTWkqIrRPb2PsJLEEFhsrH90TIxDsJGw91p2HovlUeHIcfwq/mrsrNKTCLbF7iAAf5/OQ1hggmZNYARLTroLFdRSa2cEiabxKxdL1i0w0jx2zXPefJbTqLKWXggAKkXK2WrbsWy0AzPOm3tK6f3ZDZJYiiMiAcnL3+wkq6rSP7S5BgXFW8lZ50vw7KaOnVAjWxIV0vrx+awFMiWgAaBZM7IXQpa6swxdlqPg0gkCzGHasE8C9l0YQ4h/vj6vqxGUhSk3IC4iQWPwYfSGA4JiNDi08uFhsJuRUH0iJbCGQHxh8VFoOUzvRTyAtZCEIFp/hZRkYJVlF14rEBS6vaMWGW/wYEyXUwn3HqLj1by4E2Oh6zyQYnJ7clVQWePHeRfQD+u8rMc1zRooocrymLQbTD2FePNgXMUfler2HgnLyr/LY8P1aWCi8WQy0WUNtKLK+henxjT4Izr4k092C48vKPIU4kNHP/QYKfpcwr8vV3j9MJt/Ftlc+/2j7j2P6sQ= X-MS-TrafficTypeDiagnostic: BN6PR04MB0691: X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0691;25:rYPj6IA9hSffDYeQFtzyg+CYKHavkW+jMOjEzOlRpmNLy1/t7K2Ni/LXuWreubQ/i0UKQB3ihlfQjQpXQg0olzb+7bisCsxNwzEGWGnV9NLPsk2WFsetCIZqLpJF8DMC4VoZy0K0RYYMXlQUu+y0WvKCsUM4R9GogIuAgMEfr7Ox8vgtQmolINZLzG+6O8rOHyQ0YdVUnhzkYnFSqW4aRo6bRrwrM68kPnvVe5OEV0tT/ivuIE7bAHAWKD1cpabHpTIhB9Af09QhQkqE2iBM5T/ND+5WqKoGmNcp1hPQdsKO5rnQv0Mct8NjnEDk4eUaqU33SP3AoFd9n1W5yq1CZItppxFehnGVp5JUaLIRvrGHfLcKkPtsVVErT9n8cw83V9PZSGA0Rp4ZbiucLtYr7zdW/Jld0YnXSSxyhJRruHfMXXAiifNXoskrlBwq41yPumZDiJR44J1uIsbxvSD4lo4dGtj16ScixzNQShhXBlMevpZeo/5PDlqUjq55n1ohUmoLCshbIlZU1yvO7imA4Ig5610V6aw1o9iiBoYF86coDjODi0XJuN6r1ZfSNEjW8l0SedBnfLTuBI2XDz4lYpo8TAcQmJVYL5oftfGZULKdmHY+B7dJUVmhLPaUCYcblOvv8kX+nhEGxwSJjT5Cz/Wlb5nFVwxhc4xtaxGox7uvI7Jo/QXXeNT6/hcTkpDJlRpZ9hrPyQvglV+C5YIQwc68DbPyhUqsBuZ1jCrxu9u4mflChN8vbXaieMPPE9bYNbCJ4HuVUhGyEH/6zJXsNl+NySW5Hisc1E1WHOimXWoPaRHWMACFW/OmGlccRnQpKDgAjbAAPgcTL7ACdgSG2PjGF8M5XkqQkeY6liyf8INd0VYFFoOYSWo3CwegL1jPqP8xsH9evZMG6BCYwe2q9TwfCXrIn8YwAn1miebqMQI= X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0691;31:CHWWUkWhdqEJzDbfeA7e/ahAHOFdMjGbU87JUQAR7HfK00dWJW/cTgGcqzNAAWq5/nS6wsng5nHUuBBWfs7cC0PpszwbFapXK9ZVm/6tEjZZWmsoWKo3WZ355JsUIkK+xr5Ic1QTZB9OU5YZDd9kJCTogK54PFH1gXkmrP1LjQbUtEMW+Y+9bG7G/DJnwqqhgsXA+SW8g+LaI/z+tlutdutCuJHe/+Rmw2m6g+5bu3guR0BOWmvxqKTZoItyLQqzo71riSaOqEPEjL+m3SomzuSEUpkCNetgrOI9lmzsUzgZbj60A538PuGgfHJKzNiNR/Ga+8aAvcb0ch3V2fHILDq1/Ay5g73TFsU/1cBX8gHAvnL/WUQGDypDk4n0CO/YcbbAgHcw6YGixuzkH1QQugQzX5UBPTjeJDpcXkGVY7Ufotw96nlHYBjzcb0nFHDj00ff/R6DYMi8ExCEGxTmnMu83wxecKGpAJB86TIDydaEF1atpkwYdYK8yzlVGAjz/YO6I5jYpe0ULwKLjt3J4lgoOHE28/eQ4zuhRnyiWakZm4hnJ9if1yca5S7Th63iKOBOgwGKZvolE5a/7GnR3MSYeghQYfEUa2oK/sqGdANVdWUKS8cYdnUrmbHgjhYUXTo5rRAMx88SeRKStiNDAI1CP0u8FAPzuLbok3MUDJo= X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0691;20:bqbn6XriM7O9RDiBmSB3GX8Hh7ZjjsMXF5/zBeGg2JtAHSDFHxZKVd2KAo0wB+97GobqPtaZ8vQCS9ppxJCsi/aX0FwQY1qEabETGYWPSqPv+UmHwTEPeR/UsjMxIfrCFDSc3BaVPu06a1Ysb313KwaVCqpdRcERDZ2NSCkCnNA1B2y/bNcOtpHMsopaIaTfJxegn873B31HjvXV+AUeffGw60ZtyqJC9Aq8BQcOaOX+X6gLZUEfG3xT6RgWo64diMpN8SBAMwA9UtaGrgqF2twN+7+828V478QRgnS4rYSnTsomczlD1C/Ui3Jw9LqwjQZt0GI4Yw3gVWdnkw31VLpVAgZxIt7zF2ywBOG+Vi5gTqFyHfgRCe0ruOb5tQcP5xhA2qJUwFnlWz6mYiPkIwUpMIt1oFxBPJ+nKu0bwnp1XfOIcvwls1LyjUC2kTJms2A+DZZcy3cL2YSdZ385abelF14z3RmDYCF9YDyxYdqZPsCrfMvD3JPUWZPMhOUqU7FFfd7si9qcYibHuqiy/fDYYZ2ZbaW5cG6GcsWyW+H9CrO6RUSzlkEzM8YXiVz+UjfBf99G+N+VoHylaB59oJOdnO7uppmY4aDQJ8lsbTA= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(48057245064654)(167848164394848); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(2017060910075)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BN6PR04MB0691;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BN6PR04MB0691; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjA0TUIwNjkxOzQ6bzdrZjBtL2tyNmxKcGpra1l4V2lGYnpXWUNs?= =?utf-8?B?T2s0MmJaeEdnY2lGTlltR09xQjhjQnl6SG43U2dnVG5FL1RxRVlaNk0yMmha?= =?utf-8?B?cGJiM3lFUWNLSjdia2JvcGhRTXN2djR3SVRGUjcvWExOdmRhZTlRamR0VFE0?= =?utf-8?B?T1FYUk14WldXMVRhZUxzM0F3L1FxVlNlcktoL1BWTkRUUjBRUit5RUloU1hB?= =?utf-8?B?bU96N2Y1N1lVOTlRU2hScDVncGhMbmpqYUg1TGIwK1cwdDNQeHNnRnVBaHph?= =?utf-8?B?Nk13VWh0eGZ5OEV0aTNMM2dZZW5abUcxUUhYejQxbEJFclRDMUtkN1FGRyth?= =?utf-8?B?MEtCMmVENStUUEpWQ2ZMV0poL1B2MDFia1hrTlp1MFprUzZpM0kwYW9jY21x?= =?utf-8?B?SmU5N2NWci9Dd0x0bEhIaTVNaE14ZWQrOWp0THZPU3hNY3JTUnVTQlNhMXAr?= =?utf-8?B?RjZyekQ1V0ZMQTZPemJ1NktiRlRuZDlpZWMyTTFGeUJMMTFNMmpCQkg4M25F?= =?utf-8?B?eWZUdlB3ZjFzMG1EMFBhdlllNWdzU3Q2Tkl4ZTR3dVhxQlFTWWptNlJrZDZY?= =?utf-8?B?eXpxR1VkNW1zT3cvS0Zrc0xVblg3RW9MVFUvK2tVNjRzVnIrc1lmT2plMkhS?= =?utf-8?B?dmtqZVQwTkQ0Lzg1Q1BmYjl4REpxUWNGMUllNEc5MWxhSE96ZXNzTk00Q3J2?= =?utf-8?B?dlFKNkwwR3VWcFBnWGY2ME5YSGNWM3RCZDBKRkoxVkVuRVpVdXFFTlJLbm55?= =?utf-8?B?bkYrVGV5MmxLYjZxMWRVUVVHZVRlVDdSY2FONnlhc2RteDJTNkd4R0x3M0Q0?= =?utf-8?B?UnFqLytlb1N2OXQwSXFsbWdPTDRVb2RDcDlYUFBnKzFOL1ZkdTA1c2tKaE1h?= =?utf-8?B?Y1gyZlJ6SUtSa3NlbmRaZHRRU1ZKYmo1WkxmamtqQldFZEV5OVdaTDlQdGN5?= =?utf-8?B?Q3lGNXBvRVh4bWYrQzNxTWZSaHdOdFRCN3dNaVkvaXJWVWo1cU5UdFU2YmFw?= =?utf-8?B?N0wrTi83Q1ZhVGZKdGtnSkFocE82ZURWeGsyYTM3K3BtVVczS0V3NDNYTEZM?= =?utf-8?B?MzRwUlIrVWJHck1xZ01XUktwQkd1aVE2dE9ERkpYck4wdFFJVVY3N2lDbVpp?= =?utf-8?B?U1Bab0pzMFdXTVNzMGM4d1BGeXgwWUVBa1B6WmIraUNWTTBGZmdSR21QSUlu?= =?utf-8?B?SUNaMTQwOFBFNEFaZEFwaGtwZWF3blp4RGVHWUM2S2xyQ24wUjd4U3lVMzY1?= =?utf-8?B?bnkvYVdKMGZHQVJXbTdFbHMxUUVmUjAvT1ZJd2c0bHVNczNtMzBZbHRzcmt2?= =?utf-8?B?RnVFUllKSWMxNWpqY1BaeGRCdEJmVkhqZklFemRsNEhNVTBVRnRCSHFoWnFq?= =?utf-8?B?Y0pGTWlxQ2pTWlNIaEJzby9xWmJBblZFOU1WMWVRTGV3RnkwLzAxemdvWiti?= =?utf-8?B?OGdhazlvYVhaM2ViOUVEektQZFgvTUlhR25FZHNJdmlSTWpqNVVpV05VbDJB?= =?utf-8?B?TXFTalZ2bUhqV016cHl3bHUzSXVSbjhNN0dnZzFPMlZmTEU5V2FSc0RwbEc1?= =?utf-8?B?YzcwenZFd2R0MUk2RVV2Nno0SldNVHV3eGxmK2R1N0pkbXhjWkRvMFR1dkpB?= =?utf-8?B?em45Ny9PbCt2V0srRjBYU0Q0Uml2U080aEt1cFJkRWtDbG5zclBISmx6cmdv?= =?utf-8?B?bFZqckpxSC9CNEpIMUpBOGxYejRCWnJLVnpId2V2Tjd5L3BLVWV6MkhBKzdv?= =?utf-8?B?d3VlWFZUcVFuRHJPd3hRPT0=?= X-Forefront-PRVS: 0371762FE7 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6009001)(39450400003)(39850400002)(39840400002)(39410400002)(39400400002)(377454003)(24454002)(86362001)(7736002)(31696002)(53936002)(65806001)(54906002)(93886004)(6512007)(3846002)(6116002)(23676002)(6506006)(64126003)(478600001)(2906002)(83506001)(50466002)(66066001)(229853002)(7350300001)(50986999)(36756003)(305945005)(81166006)(65826007)(25786009)(6916009)(5660300001)(53546010)(6486002)(230700001)(189998001)(42186005)(8676002)(54356999)(4326008)(2950100002)(76176999)(31686004)(33646002)(6666003)(4001350100001)(110136004)(47776003)(6246003)(38730400002);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR04MB0691;H:harisdt.amer.corp.natinst.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjA0TUIwNjkxOzIzOlk0THB5dGdVZ3cyaXhXeEZuNGNka2RTaytI?= =?utf-8?B?QXQxUERpK0pYYUowMVMyTVVKOURaZUs0UnNIUlA3NTdVZjdpbU83RlFUUFlX?= =?utf-8?B?dkVBcUM5YjVJQW9YUUtQemFJWFl2ZHZFRnNtcEVSQ3RQY3o1cHdQb1dCelhP?= =?utf-8?B?MU00UVJCL0FiRkMyWU9KYk8wQWx2cHlSenFsN3JDNkFMbGVacGozVGJnSFBY?= =?utf-8?B?bVV3YXJEMGsxQWxZQU5FT0JmWjNEUFkzN0kzRmN4NjVqTm5sTDhOSi9LSmJm?= =?utf-8?B?SzhXRjkrTGswSzRWT3Zqazc3SCtMQ004STluZmE3V3NacjBIZXB3RHlGaXNi?= =?utf-8?B?cjVLeGtzYjNQY2tJaFF4N3pmSXpBYzlrNGVVSHhiTkZ3WmlQTW1GYjhOZ1pv?= =?utf-8?B?cjNya2JOUXlFWnNPT0YyaVRVYkV6Z2Z5d1E3TkExVTE1emxUbys3SXdlZTl2?= =?utf-8?B?V0VUcCsyZVdCa05vLzdsMVZuNUp0L2svVTQ4bzhZMTgvbnNmYkpFNWs3TFpu?= =?utf-8?B?SldFNW9rdnFqOVJFMmtXMEFOTXNqamlacmhJb2Rpd04rRzU1K1NYdERPUkM1?= =?utf-8?B?Wk9WQnlSQStGaGlFaGxJSldLNy9zeHJPSWp3eFRYdWtLdnFMWHp2WEw1Nkxs?= =?utf-8?B?R0tMYnBVL04ybGJYZ3BNeE1LVDAyNllLL3JaNFJ6VG80bVRXUzliMTZINUNQ?= =?utf-8?B?VWk5ZDV0TCt2NURLOE50cHFEYWpWKzR0RGlWaEJSTmtGejFDRTArZTdBdDlT?= =?utf-8?B?OFJXZGhockRINVQrU3k2L0RaS2lONmtaRjgxRDg4UHBGTEl3ZUFDSm5sT0FT?= =?utf-8?B?YmpaenJob3FsQVI1MkZqZGpmd2l3RmtvTGRZanFJSFR2OGlTVEQ2TnpZazNQ?= =?utf-8?B?NW1YcnozY1o2ZEFPZ0FvVlZBTGdGRVlVamlMVElxRmZqOWtMOFIzY2Y2dE95?= =?utf-8?B?TjFpMndqS2p1dFBaWXpVbnpOcjlCYzdpcFlGQXdrRW9KR0VZWGVRSTFZUEEw?= =?utf-8?B?L2lIUTFIRFJ4eEZYektweUhrRDlHN3IxUzhVV3JRZlVmWm9zc1BhUTA2RXl4?= =?utf-8?B?Wm96cHJtS0xaWmxzeGc0NG9mYzFZYW5QbXpSZWxEekNMYzNUMHdwRTE4aHNJ?= =?utf-8?B?RjNqVDBpT1IwT2o4OWQ1d2dxUGRwZ0Y0dmw0NjlSZmw1SUxYVUdSeE5YcldE?= =?utf-8?B?Sm0xWktLYUFsYjE5NWsvbGMwLy91YXpQTUxEa2VIVzdJRFZYeGpRZHhZVW5w?= =?utf-8?B?dFcrTnhKcnQxSjdvSnNuc2xOLzUvTjVJMzJELzd0Z2xaMzlXdFlHN3VRZGJB?= =?utf-8?B?bTMxZzhkTklFbTRwM2g1TnQ2OUx6MjN3c1oxUmMwOGRVV2hSMjdEcjJXMW1W?= =?utf-8?B?VnllRWdzaXczMnpTL3RwOUFPNXRuYlliQmFydkpXT1ZKRTFvOERZQjNNNEZ2?= =?utf-8?B?TG9aNHFWb1gwemRUdnlsbUhVZTFYQjNHRVJiTHdGTmZMNE1ydGpwSHJrdTFB?= =?utf-8?B?RDVHZTIxMGc0cjJoNmJ3UTRZL3M5eXBXQXVjUUxieXExYWVsRFlxTWdxMDk4?= =?utf-8?B?bDlFbkNxY2tjYkk3VkZwVnEzdEprVDFKLzNjeS9VTndsVVFrRnFrZEtHUHJK?= =?utf-8?B?SGJPZ2ZJUHV3c0FUcjdZby80eGVlSE1LYUdQQ2xqeS9MUVpSUmZJSzVMWjk2?= =?utf-8?B?SkNsaUNsMjMza0hoRnhxQUVkS3FNVnZpSDRTYjhZY3Q2M044NWsyMHVRYzIy?= =?utf-8?B?TkZMeElmR0o3K241RS9YWC9HREJBbkM3aVUyOWZnN3FVK1BEWXFpeHZ2bXA1?= =?utf-8?B?MlNjQlZRUXdVblpjZmQ2eXo4TUR2MlNMQ3dMV2V5WnlhZVN5aFRsTjhrb0lx?= =?utf-8?Q?Tf9Ph+V82fo=3D?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjA0TUIwNjkxOzY6M2pFVmNGOFo2Nmk0TGIxNXNhSW05bDNLK3Nn?= =?utf-8?B?Z3VmYW1lTCtEVTZPUVVuUVE3b1FEcUVlODQxc2JqSXpjYjR3YXlpQ3RMR2tj?= =?utf-8?B?cGZvdndWTHdIelpqais0Z0c0STFONXZwMVlkRmp5am9kTTM2U0xoQXdZMjF3?= =?utf-8?B?VHduQUxaeEZCeUNkSkhYeVV3ck5jd0xkV0RBTmtmSzB4WnhqNWFWb1dVOE16?= =?utf-8?B?R3Y2RFlZQnRsWWpnTks5ZE5mUXdZZGNOMHVQYmZZNzI2ZTlqQVBYb2tLQkhq?= =?utf-8?B?dDhud1d1QjEzMk9xUGQ1clpGZWRWZWdSWGE3cElnTExHc3R3YVQ3U1k4cjRo?= =?utf-8?B?M214MlhVMUNFaVIzSFI1T3ZuYkl2elZsaHR0Y3dHNEJnWTIxbUE2dHJRd1Rt?= =?utf-8?B?c0Z3WXEwZFNzMS9IZmlJMXVYTTZiZWx5a0lmVWxuVGJzWFBHQnhqcitLRDhC?= =?utf-8?B?dVo1R3BzOGFnazhFelNTR1o0d1BObHhOQXYrTmlhQldLY1F0UW5wRTlSdFpk?= =?utf-8?B?dU81a2U1aU5ia09DZW5IOU5sR2RQUkQ2TkNobDdRVGdRM2RrL2lsdktCVzNa?= =?utf-8?B?SUhzdUxoT09BR01VOUZibjR6bENVdStUUnJOQXF6d2JXbXBpRDdVTzFVUExM?= =?utf-8?B?UkhNNklYMmRQNlBzd0xkVHhDNDBzalV2YTZOQzcvd0N1a3pXU1c5N3ZXWmN5?= =?utf-8?B?blQ2WWR0NnhnaFRjdFRNZXhrb3MvQ3RyalhNZ2ZRbW9PWmJvYzY2L3VJSHlP?= =?utf-8?B?ZThaTEpjbjBMNE03OXFxU3M5ZHdFdTJ0MG01U2hXazRpeTRlQ0pDZnVackFD?= =?utf-8?B?ajhjZnhaZWNJWlV0WU4xQ0NtamZlRHFGUEwyQjU5b3o1Qi9RejdlUTN4aXFU?= =?utf-8?B?a3luZHRLTnYzUjRkQkVKaEZpRmd4QzVQcG9mY1B5U0tQNGRKNXR5OHN3TjI5?= =?utf-8?B?TDJ6bGI1L28yMW94VnlQTXFNMkNheTlwRXdzL2RtZk16WXhuTmxwQVozL2Nx?= =?utf-8?B?aWdiQ3creW1HUXFZelVWNG1Qa0czWjZOd2V0ZTZqbkh3Rkx1ekl0NjZ5cVpX?= =?utf-8?B?NDR5Zkk1VmNQeXcrdDJtU2JFamFsclA2RmRxVlArZXlqTXZ3Znc5RFZpajFX?= =?utf-8?B?Tzd4OGZGSTl0c3pmY09rVTUxTkkyWHRkRUVDTUlDQm9Cc2EvdnFmb1BRMy8v?= =?utf-8?B?M1p1QjUxR1c1Y2NNTUNDcmY1ZkpXT0ZaVVgxMUxuYm1MRU90eHJibTdtVmhR?= =?utf-8?B?K1dZUEthVm5lYld1elNoSVZyUFRXeXVVdHhPMVgydFpLcm9EeDFHUGhKV2JE?= =?utf-8?Q?OlJhh9c90K9FZJSuVQDp3m7we3KGFpU=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0691;5:HDHCr4oBEcgvK/TSC/hxZj0YX3TRrT+cOwci/umJWzFd2VF5zdikCjcq7LgnlDattANI/nQS6Sss4Ut8JTz4YCPEneBzNxsAZ5ILRan13zcsqth1eNZNoGiG7q7cF81NAihMMW95DlQ9DsPfiUIR3I9HvmRHjEppxye/Km5KGqcNd6DdcG7zP+GrTygZ4AGXl5zrdzsG8PL941B+8eYnEMVPRB3+FanC4+/fxxjfaJyv75Z5QqrM3D3XWjWMzB+s578bwFynTImseUb0bCqKpAwtRG8y3sdeW8QQPy0lg/zbO9l/01C2B6SAkqER7fgq7eQd/umWHp+OBysnRvTSsf2bYpE0S6qbcECr9SmWQ9QFVUAR7xAcyxeTuIbk0DH9cReodheMmWj44iA8BoMugL0H0AKDLgU7O1g086tQK00y7Zqe80glwhno1ibhIAhD5RncNx6WI3GE4htp7yObzbHDC/YlP5Xb4sfmXCc23ImzucpxgCMNoO9g8gEA+7vN;24:5wBMEHxNXwgcbH5oT8xKChn/fbmhHxy2LH0fUoV2bmrPKs+dTSoB6jWNna4RDyUGhODFG5W7Pq//QLztir0Sr7/ecDx7teTanx7Rl0futgg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR04MB0691;7:/crJb6gXvswfmlNwz2KNf+L2lZT7KozC2oX8GNHqE0WHgHbHWikmvQRlckhxWg7x1ICeLBOWldxnYtBLZO9EzIcpWDsxnTBT3pORxaXNzUuNpBR9vO3xo4TcBy290YrpVw8pyyljqKcwjHuw54giv88fU8SOOYbo32MVmJb+j5QABuFWGGB0LB5JgdNnHUsN2xs0kwmKD59wv6A7HnJV5zNOB/NVyQ84+mplJDskC5NmXoZZTaPl2gErftgObpj8z/sGmtlAKMLNulBHsOxb/MB91GmMV4nP5AI/WaHjxku7dDwXC1AWqQgVwJa+uLpu4W0FZn0bYwBws8dsdaR+hyelRkFyo5qyRu5KDmb0NNz5mPL9jGS7+oT9aW5R6zkrqP6n5YCz6vB5EYfPYI57kea+udX7xBb6cxLKRT9SPy1kgMs3mjIIzuywcqPkmuY8CIMfTS0sojinC1HLagfw6IBYe3HZcQdLutknb6DEZLp0DwdgzSYMM/8H2LpIi/WpGa2WFMkmGmSLx1sEbdgSkC4VmiIv5FFfbMgpSPz8O9xdz2OKM8PwdnrqTw2Nle20a1mFfHzl4dtqfXVZKdI9geYFRs+n0IO+JO6llMhtKXwfchkX0tSi/xloxq6CbgrrVU7S7WrS1W3atJeASFK6tHXnXzE5AW5d+tYcL8wom+VmFIF3Gm/kkSrcr9uw68djR3prPbJdATaFpTsZerYMnb0Yw+MZbiSIP5QYLNRbdNKQ9b1yTQpWtRVAi8wCFNbEQ5hfboIdzWSpSkzmVgrN5BXdSy59xuGCo0WELA5iwH8= X-OriginatorOrg: ni.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2017 21:58:45.3145 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR04MB0691 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-07-17_17:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=30 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=30 reason=mlx scancount=1 engine=8.0.1-1706020000 definitions=main-1707170354 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3225 Lines: 111 On 06/04/2017 09:17 AM, Thomas Gleixner wrote: > On Fri, 2 Jun 2017, Haris Okanovic wrote: >> On 05/26/2017 03:50 PM, Thomas Gleixner wrote: >>>>> static void expire_timers(struct timer_base *base) >>>>> { >>>>> struct hlist_head *head; >>>>> + int expCount = base->expired_count; >>> >>> No camel case for heavens sake! >>> >>> And this requires: >>> >>> cnt = READ_ONCE(base->expired_count); >>> >>>>> - while (base->expired_count--) { >>>>> - head = base->expired_lists + base->expired_count; >>>>> + while (expCount--) { >>>>> + head = base->expired_lists + expCount; >>>>> __expire_timers(base, head); >>>>> } >>> >>> Plus a comment. >> >> Fixed, thanks. >> >> Are your recommending READ_ONCE() purely for documentation purposes? > > Yes. > >>> The other thing I noticed was this weird condition which does not do the >>> look ahead when base->clk is back for some time. >> >> The soft interrupt fires unconditionally if base->clk hasn't advanced in some >> time to limit how long cpu spends in hard interrupt context. > > That makes no sense. > I wrote this part out of an abundance of caution: I didn't want a potentially unbounded operation to run in hardirq context. This logic forces both the update to timer bases & firing of timers into softirq context if the clock advances by a lot (some arbitrary large number of ticks, HZ in this case). However, I think you're right that this is unneeded since run_local_timers() is called per tick, and thus would never exercise this case. Removed this case. >>> Why don't you use the >>> existing optimization which uses the bitmap for fast forward? >>> >> >> Are you referring to forward_timer_base()/base->next_expiry? I think it's only >> updated in the nohz case. Can you share function name/line number(s) if you're >> thinking of something else. > > I think just using collect_expired_timers() should be enough. In the !NOHZ > case the base shouldn't be that far back, right? > Refactored. >>> The other issue I have is that this can race at all. If you raised the >>> softirq in the look ahead then you should not go into that function until >>> the softirq has actually completed. There is no point in wasting time in >>> the hrtimer interrupt if the softirq is running anyway. >>> >> >> Makes sense. Skipping the large `if` block in run_local_timers() when >> `local_softirq_pending() & TIMER_SOFTIRQ`. > > No. You need your own state tracking. The TIMER_SOFTIRQ bit is cleared when > the softirq is invoked, but that does not mean that it finished running. > > run_local_timers() > { > lock(base->lock); > if (!base->softirq_activated) > if (base_has_timers_to_expire()) { > base->softirq_activated = true; > raise_softirq(TIMER_SOFTIRQ); > } > } > unlock(base->lock); > } > > timer_softirq() > { > lock(base->lock); > expire_timers(); > base->softirq_activated = false; > unlock(base->lock); > } > > That way you avoid any operation in the tick interrupt as long as the soft > interrupt processing has not completed. Added a per-cpu block_softirq boolean. > > Thanks, > > tglx > I'll post a v2 patch shortly. Thanks, Haris