From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757171AbcILRey (ORCPT ); Mon, 12 Sep 2016 13:34:54 -0400 Received: from mail-db5eur01on0080.outbound.protection.outlook.com ([104.47.2.80]:49712 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757070AbcILRep (ORCPT ); Mon, 12 Sep 2016 13:34:45 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=mellanox.com; Subject: Re: Ping: [PATCH v15 00/13] support "task_isolation" mode To: Francis Giraldeau , 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 , Daniel Lezcano , , , References: <1471382376-5443-1-git-send-email-cmetcalf@mellanox.com> <057a958c-4491-b449-ae59-7d331afc872d@gmail.com> From: Chris Metcalf Message-ID: <909484ad-534d-524a-51db-19b7d013f73e@mellanox.com> Date: Mon, 12 Sep 2016 12:01:58 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <057a958c-4491-b449-ae59-7d331afc872d@gmail.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [12.216.194.146] X-ClientProxiedBy: DM5PR08CA0014.namprd08.prod.outlook.com (10.175.218.24) To DB6PR0501MB2760.eurprd05.prod.outlook.com (10.172.226.12) X-MS-Office365-Filtering-Correlation-Id: 2266430f-4c2a-4d58-b536-08d3db26290b X-Microsoft-Exchange-Diagnostics: 1;DB6PR0501MB2760;2:7D9bvde063dAQNtTTTxRmH/l7D+FUWAYjceNAlIcMLxdTDwaABEmYIphgXKY1/kefnyL2Y9ZDxjOEGRt8LhiUPFJv4AFS7jkDRNLkSlT2ekF736V9A116jfcJ4djbPZycJJccBy6cy7X7tYXiNCnuRu5nXWUg4yyGmbBe/q9AVgWetiT2gyKIb58tH6dLn6P;3:KJVPVqSGlbWu1b6zO7XMC0LVJeBqaHhply7gWCY4Fd4AkQzFw51QknuSPiDy1lSnRMEzSdWJugewGirHB2dkSFBI9IvYM9CT9GdqGj6dJq3ynE3TBqRB96mV92HchjWM;25:DU3VjA43AhNGDmzmK9Y75xX3oKyAAEGyG360c2fuf+BPw9tiMGX1EFSXUst7zLDo1TtkyI62XWfuA5ir0pWPSseRU2QH/lnVgRLVuYQRayzv2T9kE6TXHry2mehym5+LodttkvrO/9hKyyTS5frCEwjlzJFWJMCwl5hAhHumZuXL0GM7oqYshGT/Nzy/cZFJ/8F07quEiV+89HaXGZp87bSSHX9HJKvaq4+kq0MlqRnYlhQA7N0FMSGy8r9GYz0kYXdm4JmMPwmT/kSw4xvJyVgWJL1qSlWgIVMNJLGSUYpP5keWogSx1LyMYXlLfjMvUApTOzijnxxAhKqaIfaKcPDeZHYaHgr51eXqkYPYHqn0om4aybxUp0BmalSLS9qT5jBrAVeVia5fSzjYnk6upGFRS6efQolMtCdLwy6vI5g= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0501MB2760; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0501MB2760;31:hI5LtYLv2WpUwWQ64QLLnPaSqnohGb57PL2Yho4b5G6grcvGBjCFGqkHcIGNFFj0QfJ4E2Xxeui13v2TFnE60/5ol++4mg8mk87ne+x56hslIcldEPrililCcvk4I042ZdgpMJ3zi6xK9NBk3Kc4Y2khziKIpe4pzmvlAXq43/6ZPS+vpJEMUXgV8R2usYhZ9f8CCR49exEpf6UesLoiGxnHxu6PCDgF4hNLXrXb0Y8=;20:tPCjA+GTCYDOOKG7Mr7Pf8gUYIcQ7bixdTXZ4whkVeUZl+tEod4fdr1+J0Z8pDDRVuEsrAz146OJTn+giTlRhrjdPUIhNi/4SCYmQtK0r3dUHu0Nvr1PlVFQz7Zzy1FMTbBJEaSwJNq/BR/3IPXrgO3IiZyK/cJkze63eT++PLCfBwbCZAeaM8nr1Eh2993xgrF+nQ1TV7E1H+9V6eHxREESY86X5ISByeo51grChIcYFlSuafBUlDn/bnCnKBJIfnOxPs7CLeTzaAjlmbP4ijMtPbJjV8I20Uxoo1jCa8x+UPs9/cBZEJO+/Q6uyuRW2+g8r9hMoWv0S53Hy/TMDfOK8aYT6OQ8w0K1s4eOuRd4RFGrOW6IUw4bsKJB+cwmwtmMOAfKhXv9YeSSDpredJ17PqB9jKen0AeLctQxaBPcnaSxu2Qt+kZ6S9QJzuYr9bPj4JwYuObXqRd1h5zzmpV26CojLadDsDh0Rc1OhuQGp6MLE2jlTZxIGF40XAUn X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(171992500451332); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:DB6PR0501MB2760;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0501MB2760; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0501MB2760;4:Y82oInEnGL39gwFEf96WGnlBk2YVi2RxXg2Pxlrxy4P0cgLaMmpi2+JX8T2/EEwcolt/NgwWHd2XpPCH/anQ5b51CJYNy917el88ijPMoDjprJpQcGMb2EW7TlFRiiDEKMw0/2uTSb57JEYGYqayXMI0QFrxCOD8SiP+iG29Fsm/HvMcOl6mqJcXAQKiOw2w531gYGq5h69ioETHYFKx/ahwotP9+ktOONqJJ73grEuiF6pMxYc71RAvonmZDAFKDpu27AaMP0uXxJFuEVIiDYVD9Cn0K2OOLj9ssehGpiEBVIShLkmCUxhLWk0TuE/WcTZ6goUVIuaHOhEDiLxzfIo5YUdO8bynjifNxC4I6KXQjrR1qT6gIZnQtgcLgx2PzdsP+M6zXMg5lcAvj7kZIiJQZQkUm4+HGTYNNHQ5SMGp+nviUlPbN6NCOIAnDa6DSM1xnEsRUn9GLIQ4ITGtJMm96u2QWK6lXJfD8vLa+sY= X-Forefront-PRVS: 006339698F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(7916002)(24454002)(377424004)(377454003)(81166006)(5660300001)(305945005)(8676002)(31696002)(36756003)(77096005)(2950100001)(83506001)(65826007)(15975445007)(7416002)(2906002)(19580395003)(107886002)(5004840100003)(7846002)(7736002)(87386001)(66066001)(65806001)(230700001)(42186005)(33646002)(5001770100001)(189998001)(4001350100001)(23676002)(4001520100001)(92566002)(54356999)(3846002)(47776003)(50986999)(76176999)(6116002)(64126003)(50466002)(586003)(2201001)(31686004)(86362001)(65956001)(921003)(1121003)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0501MB2760;H:[10.15.7.181];FPR:;SPF:None;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjZQUjA1MDFNQjI3NjA7MjM6bjFwL0lmUjN6UHZFMmhUclNvWFhoMENM?= =?utf-8?B?WkVJVFhySDNyQXVRQTFvK0FSYkpidEJLTFZ6L3ltdWE1Nk1iVU53cTVDQ2ho?= =?utf-8?B?dlJmaExwb0Q0Qm1tVFVaYmxCeEdOWmdoOEl1dmJBbVpsNlZmR0szVDdObzdC?= =?utf-8?B?T204LzNueEQvS01SYXBpb0l2RzhjcE14TjBJaFY3d0JqUXdNZTE3TEZZUXVi?= =?utf-8?B?MmYyY0x5eVpBekhZeldGNjJiVzc3SHdpclhUL3ZuV1hZamJWK25obDE5QUl5?= =?utf-8?B?UlV0dlpGV3k2L0hnRzJUTGVxRVR0eER3N0xpa0lvRUpaMnlGWTlUQ0ROd1NL?= =?utf-8?B?eXczUVRXWjI1TGlmSGJocDJ3cDFYQzBpYWtyRUI3ZVFhZHpheWV1bXU2OElY?= =?utf-8?B?VlR2SHRkbzVMWndZVlVad1VaYUhkemhUYW5ORW9tZzZjeEdtekZrZ05uMUg2?= =?utf-8?B?cmFYNDNwZU5LK2I5d1REb0F4NGNCV2FKSjgybUNSbjVWNk12MFNRMnlKZmsr?= =?utf-8?B?ejNSWmNlVHpPaERhUjBhaDRMOW92ZFo3My8zZzdDbnRxeVllb041Y0xHYW5S?= =?utf-8?B?eG9kNFMrYnFmQzlLSnNXSHc4L3NSTStmVmtuTVk1eE5sNlNGMVJhalNGQTFi?= =?utf-8?B?U25uYjA2QkxYdFFPMXhCKytzUDhXcXNVMWNJNmU3b3E5ODluNlNvbkg2a1BQ?= =?utf-8?B?eFdqalh0eUVIbFlPT3RPaXdNVmlwUzBWNHdlVmxtTmx4S1NzWlUzeHpwNzYz?= =?utf-8?B?d0c1aFZIWWo4TG9xM015d1Z0WjN3UFBoNnhuRXdaTi9UdWw4QzRtM3lRRE11?= =?utf-8?B?L3JHVkVCVVU5WXUrVGE0ZG1ndkdaOWRtVTBTT1duQlBTbG16dWJ5dlA3QVJH?= =?utf-8?B?ODRabHA3WXo2bE9xUytMdXREY0p6dGttZTRkWUQ2SEc0ZEVyQkFuNkUxeFFD?= =?utf-8?B?QjQzak5VbW9Gamt4YXk0Z1VndlJFOVZWaS9sU1JTWFZGL0JBY2JtS2w2OWpB?= =?utf-8?B?NHg4Q0U2ZHhDRmhoSjZ5ck1qSER6TFNIWG9XVVRPd2VyTEZHNllyL3BubVFO?= =?utf-8?B?MzlZc3JIUU5TNFlaSzZMNk5RVEVmK0pFRXZ1bTNWMnprTi9PTVhTUUczamlN?= =?utf-8?B?V29YSkM3ZDh3VXNIb2JOTVBjdzdTY0szdFpDUWxMTHZrVXpWZFQxNGJwWXZk?= =?utf-8?B?T1B0WnM0d0ZJRzhBT0plaEE3K0ZXR1hvWGZHeEl0aW9BWDZIY015SzBGN2xW?= =?utf-8?B?YUxWMURXemgzUWx6aGQweTFBVWY2UVN5N3dEQjE5N0krN0Y1Tkp5RnU0dGRj?= =?utf-8?B?UXMxeElORTVvVVdrSVBwcWU2eFNTUDUya21wczJrR2t4Rm9jM09VamtaUTJv?= =?utf-8?B?eVI4cDNHeVI2L1VzQjhnRkZwSDBPZGtHdFpCaFYxVUk0UnNEdmJHV0hSR1FY?= =?utf-8?B?MTYzS05vRytPdmlmRjNUQW9JZkhCUFhuc2E4c0swMDlvZzF2bXVhUXlrZXNG?= =?utf-8?B?ZHFFYjc5RkovaUQ2UXBrQmxrNUIraUtrQjBZMlh0VmZmV2k3OHI5SnBCNmU0?= =?utf-8?B?bzA3NnNBWFFFanNjYUF3cVZ1WS8vZVV1a2NERCtzOHRCQTVmcCt6YVUyZ0JJ?= =?utf-8?B?VlJUYUtpQWR1QzA0YnZFQ1dmYTlCVFR6Q0lnY1dLbDQ2VG9qbHQ2RGY1Sy9k?= =?utf-8?B?UVB6Q25FblQ2L3Y3bHJxNW5PN3NKWVA5Y3d3NTA1bjhlQnF4UXJNbmdtN0lZ?= =?utf-8?B?REtiNmJ0NzFVWlQwaHZMOGtnOG41L1Q4SjFiMDlNU1hBMVp1U3hQaDBnTUkr?= =?utf-8?B?K0xJRnJ5VERRd09FS3hES3lGck1rRTZZQWZ3Sk82VlBLa2xNUT09?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0501MB2760;6:KQeM3Q7AG6lyDWVrG5o3rfNPh6Va1SH1IYkojKp6X275Uc19OezvWrRCOEqkcTwZpwhlUpx3YoL5sYrzYBgzGHUTE5ajP/QWbFPSYMmYHYG2Iv/JGUi6aVYNGWSDX96DEIFtf1wVT2y2l18//EbMxiZZesNlxGApUmdMnd4DxVNduhXM2pFu4jh48e1lpx5Yi7L6yT1HYGUOwz4yxKwHdf/L36yIH8GQ4LxphSWsWwB4q7TFgekFDHuk3U99VoYfJY3R/Cy8r9koG7VOtBLKoLdhYXfXQolTPSWucCI2d0L+WIRuO5nxRJbfv6TZeq0y7S9D9FQCVvB6swO2y6a0yQ==;5:a5QnhKWgiCoYFZcd0VYYxSqgMZ2w7Uf6/nHEKEOuImQURKfD4FZvkYr/sDyxyDJpnFRmKRxzSYAFDt+em6NXoK/TKbpG9hLxNoarAg0S60euY3do7zAv/CeGoCwc4/JXyObNopkdruGu3dUM9U3zlw==;24:7M1jM9rl6aICM4mJtLJMe2kZdb0tAEDpelK7XIMvbv+bCpr0r5WXeFH0cT9fs8UlVy/bFT2WW+/W+xU73WmkKTaXjDHEHLRpFrTR9O/i/vY=;7:1tpDCC4nlI8CswBHoSFpW3pwo6gC8o9+V3Drou7zUv+jgLbDR6etD4iw9H6ONxnMbPcLL4lOS6JuywGH6BIesXGUJy/2Nj2mwpNF2xHLdbaDjejA0hiFLXsP0sZxm+561fIhA73uKETCiPjXSXUPWH2K8TFuuwK/T50Go191U90hHq7ok/5P0A5qakzlI7EDxxEpOHsUkoVewP+cvqGRo/xT4Kr/UDQutXXAKqw+buBfbfiRgI+xx8zcGh612tOx SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2016 16:02:09.7105 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2760 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 9/7/2016 5:11 PM, Francis Giraldeau wrote: > On 2016-08-29 12:27 PM, Chris Metcalf wrote: >> On 8/16/2016 5:19 PM, Chris Metcalf wrote: >>> Here is a respin of the task-isolation patch set. >> No concerns have been raised yet with the v15 version of the patch series >> in the two weeks since I posted it, and I think I have addressed all >> previously-raised concerns (or perhaps people have just given up arguing >> with me). > There is a cycle with header include in the v15 patch set on x86_64 that cause a compilation error. You will find the patch (and other fixes) in the following branch: > > https://github.com/giraldeau/linux/commits/dataplane-x86-fix-inc Thanks, I fixed the header inclusion loop by converting task_isolation_set_flags() to a macro, removing the unnecessary include of , and replacing the include of with a "struct task_struct;" declaration. That avoids having to dump too much isolation-related stuff into the apic.h header (note that you'd also need to include the empty #define for when isolation is configured off). > In the test file, it is indicated to change timer-tick.c to disable the 1Hz tick, is there a reason why the change is not in the patch set? I added this trivial change in the branch dataplane-x86-fix-inc above. Yes, Frederic prefers that we not allow any way of automatically disabling the tick for now. Hopefully we will clean up the last few things that are requiring it to keep ticking shortly. But for now it's on a parallel track to the task isolation stuff. > The syscall test fails on x86: > > $ sudo ./isolation > [...] > test_syscall: FAIL (0x100) > test_syscall (SIGUSR1): FAIL (0x100) Your next email suggested adding TIF_TASK_ISOLATION to the set of flags in _TIF_WORK_SYSCALL_ENTRY. I'm happy to make this change regardless (it's consistent with Andy's request to add the task isolation flag to _TIF_ALLWORK_MASK), but I'm puzzled: as far as I know there is no way for TIF_TASK_ISOLATION to be set unless TIF_NOHZ is also set. The context_tracking_init() code forces TIF_NOHZ on for every task during boot up, and nothing ever clears it, so... > I wanted to debug this problem with gdb and a KVM virtual machine. However, the TSC clock source is detected as non reliable, even with the boot parameter tsc=reliable, and therefore prctl(PR_SET_TASK_ISOLATION, PR_TASK_ISOLATION_ENABLE) always returns EAGAIN. Is there a trick to run task isolation in a VM (at least for debugging purposes)? > > BTW, this was causing the test to enter an infinite loop. If the clock source is not reliable, maybe a different error code should be returned, because this situation not transient. That's a good idea - do you know what the check should be in that case? We can just return EINVAL, as you suggest. > In the mean time, I added a check for 100 max retries in the test (prctl_safe()). Thanks, that's a good idea. I'll add your changes to the selftest code for the next release. > When running only the test_jitter(), the isolation mode is lost: > > [ 6741.566048] isolation/9515: task_isolation mode lost due to irq_work > > With ftrace (events/workqueue/workqueue_execute_start), I get a bit more info: > > kworker/1:1-676 [001] .... 6610.097128: workqueue_execute_start: work struct ffff8801a784ca20: function dbs_work_handler > > The governor was ondemand, so I tried to set the frequency scaling governor to performance, but that does not solve the issue. Is there a way to suppress this irq_work? Should we run the isolated task with high real-time priority, such that it never get preempted? On the tile platform we don't have the frequency scaling stuff to contend with, so I don't know much about it. I'd be very curious to know what you can figure out on this front. Thanks a lot for your help! -- Chris Metcalf, Mellanox Technologies http://www.mellanox.com