From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751499AbbEARMe (ORCPT ); Fri, 1 May 2015 13:12:34 -0400 Received: from mail-wi0-f170.google.com ([209.85.212.170]:36995 "EHLO mail-wi0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750862AbbEARMb (ORCPT ); Fri, 1 May 2015 13:12:31 -0400 Date: Fri, 1 May 2015 19:12:24 +0200 From: Ingo Molnar To: Rik van Riel Cc: Andy Lutomirski , "linux-kernel@vger.kernel.org" , X86 ML , williams@redhat.com, Andrew Lutomirski , fweisbec@redhat.com, Peter Zijlstra , Heiko Carstens , Thomas Gleixner , Ingo Molnar , Paolo Bonzini Subject: Re: [PATCH 3/3] context_tracking,x86: remove extraneous irq disable & enable from context tracking on syscall entry Message-ID: <20150501171224.GC1657@gmail.com> References: <1430429035-25563-4-git-send-email-riel@redhat.com> <20150501064044.GA18957@gmail.com> <554399D1.6010405@redhat.com> <20150501155912.GA451@gmail.com> <20150501162109.GA1091@gmail.com> <20150501163709.GC1327@gmail.com> <5543AC7E.5060602@redhat.com> <20150501164526.GB1548@gmail.com> <5543AFDC.6010204@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5543AFDC.6010204@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Rik van Riel wrote: > On 05/01/2015 12:45 PM, Ingo Molnar wrote: > > > > * Rik van Riel wrote: > > > >> On 05/01/2015 12:37 PM, Ingo Molnar wrote: > >> > >>> Also note that this bit in context_tracking_enter(): > >>> > >>> if (state == CONTEXT_USER) { > >>> trace_user_enter(0); > >>> vtime_user_enter(current); > >>> } > >>> > >>> > >>> is related to precise time measurement of user/kernel execution > >>> times, it's not needed by the scheduler at all, it's just exported > >>> to tooling. It's not fundamental to the scheduler. > >> > >> Any objections to the idea from the other thread to simply keep the > >> time accumulating in buffers in local_clock() units, and only update > >> the task vtime once a second or so? > > > > So I really think per syscall overhead is the wrong thing to do for > > anything that a common distro enables. > > > > I see very little use for such precise, high-freq measurements on > > normal systems - and abnormal systems could enable it dynamically just > > like they can enable syscall auditing. > > > > I.e. I don't mind the occasional crazy piece of code, as long as it > > does not hurt the innocent. > > Then how should/could we keep a rough idea of user / system / guest > time when running without a periodic timer tick? So I'd split the timer tick into two parts: just the constant-work sampling bit that doesn't do much, and the variable-work part which gets essentially shut off when the timeout is far into the future. Then we could do IRQ driven sampling without introducing variable amount jitter into hard-RT execution time. I.e. much of what we do today, except that we could skip variable work such as the scheduler tick or (unforced) RCU processing like the RCU softirq work. Thanks, Ingo