From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752389AbbCZQUp (ORCPT ); Thu, 26 Mar 2015 12:20:45 -0400 Received: from mail-ig0-f170.google.com ([209.85.213.170]:36326 "EHLO mail-ig0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751018AbbCZQUn (ORCPT ); Thu, 26 Mar 2015 12:20:43 -0400 MIME-Version: 1.0 In-Reply-To: <5513EE54.5090203@redhat.com> References: <1427327073-19011-1-git-send-email-john.stultz@linaro.org> <1427327073-19011-2-git-send-email-john.stultz@linaro.org> <5513EE54.5090203@redhat.com> Date: Thu, 26 Mar 2015 09:20:42 -0700 Message-ID: Subject: Re: [PATCH 2/2] kselftests: timers: Reduce default runtime on inconsistency-check and set-timer-lat From: John Stultz To: Prarit Bhargava Cc: lkml , Shuah Khan , Thomas Gleixner , Richard Cochran Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 26, 2015 at 4:32 AM, Prarit Bhargava wrote: > On 03/25/2015 07:44 PM, John Stultz wrote: >> For the default run_timers target, the timers tests takes the >> majority of kselftests runtime. >> >> So this patch reduces the default runtime for inconsistentcy-check >> and set-timer-lat, which reduced the runtime almost in half. >> >> Before: 11m48.629s >> After: 6m47.723s >> >> Cc: Shuah Khan >> Cc: Prarit Bhargava >> Cc: Thomas Gleixner >> Cc: Richard Cochran >> Signed-off-by: John Stultz >> Signed-off-by: John Stultz >> --- >> tools/testing/selftests/timers/inconsistency-check.c | 2 +- >> tools/testing/selftests/timers/set-timer-lat.c | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/tools/testing/selftests/timers/inconsistency-check.c b/tools/testing/selftests/timers/inconsistency-check.c >> index 578e423a..caf1bc9 100644 >> --- a/tools/testing/selftests/timers/inconsistency-check.c >> +++ b/tools/testing/selftests/timers/inconsistency-check.c >> @@ -166,7 +166,7 @@ int main(int argc, char *argv[]) >> int clockid, opt; >> int userclock = CLOCK_REALTIME; >> int maxclocks = NR_CLOCKIDS; >> - int runtime = 30; >> + int runtime = 10; >> struct timespec ts; >> > > Oops ... left everyone off :) > > What was the reason that this was originally 30? Or was that overkill? So time inconsistencies (when they manifest, which ideally is never) can be fairly rare events. In the past we've seen them due to cpu TSC skew and drift, which requires enough scheduler noise to pop the process around between cores enough to notice, and enough system runtime for the TSCs to drift far enough apart.. Or we've had tiny accumulation bugs in update_wall_time which requires the right phase in the error accumulation to align with an irq. So the consistency test has always been a long running test (originally I'd run it overnight), and the 30sec interval here was added just so there was some "long enough" interval that wasn't too painful for me to test submitted patches with. Now that more folks are using it (and they likely care less), we can cut it down further to avoid making test runs too onerous. Now, a patch might badly break things and it would be immediately obvious to the test that something is wrong, so a quick check isn't worthless, but it just doesn't instill that much confidence from me. I think as the kselftests grow, we'll have more "types" of test targets to run (quick, long, stress, etc), and we can scale the time in those tests accordingly. But the default should probably lean towards the short side. thanks -john