Re: [tip:timers/core] kselftests: timers: set-timer-lat: Tweak reporting when timer fires early

From: Greg Hackmann
Date: Thu Sep 21 2017 - 15:40:17 EST


On 09/20/2017 04:38 PM, Shuah Khan wrote:
On 09/20/2017 06:31 AM, Prarit Bhargava wrote:
On 09/19/2017 11:36 PM, John Stultz wrote:
On Tue, Sep 19, 2017 at 6:02 PM, Shuah Khan <shuah@xxxxxxxxxx> wrote:
Hi Greg,

On 08/20/2017 03:56 AM, tip-bot for Greg Hackmann wrote:
Commit-ID: a524b1184b8e86141d689fa78ad150fbf2db9b4c
Gitweb: http://git.kernel.org/tip/a524b1184b8e86141d689fa78ad150fbf2db9b4c
Author: Greg Hackmann <ghackmann@xxxxxxxxxx>
AuthorDate: Tue, 25 Jul 2017 14:36:25 -0700
Committer: John Stultz <john.stultz@xxxxxxxxxx>
CommitDate: Thu, 17 Aug 2017 12:14:54 -0700

kselftests: timers: set-timer-lat: Tweak reporting when timer fires early

Rather than printing an error inside the alarm signal handler, set a
flag that we check later. This keeps the test from spamming the console
every time the alarm fires early. It also fixes the test exiting with
error code 0 if this was the only test failure.

Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Miroslav Lichvar <mlichvar@xxxxxxxxxx>
Cc: Richard Cochran <richardcochran@xxxxxxxxx>
Cc: Prarit Bhargava <prarit@xxxxxxxxxx>
Cc: Stephen Boyd <stephen.boyd@xxxxxxxxxx>
Cc: Shuah Khan <shuah@xxxxxxxxxx>
Cc: linux-kselftest@xxxxxxxxxxxxxxx
Signed-off-by: Greg Hackmann <ghackmann@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>

This commit is making the set-timer-lat hang. I reverted this commit
and there is no hang. Could you please take a look and see if this
commit should be reverted.

make kselftest as well as make -C tools/testing/selftests/timers run_tests
hang.

Do you have any specific details as to how the test hangs? (ie: Log
data, as in where it might be when it hangs? Any details about the
machine?)

I'm not seeing it so far in my testing.


I just ran it here and don't see any issues. I'll try on a few other boxes
to make sure.

# make -C tools/testing/selftests/timers run_tests

John/Prarit,

Thanks for getting back to me. I isolated the problem to redirecting
test output. If I redirect the output it hangs.

./set-timer-lat > /tmp/set-timer-lat 2>&1

it hangs. The reason I am seeing this is because there is a patch
that came in recently to redirect individual test output to a separate
file to make it easier to understand the test results.

Looks like Commits 28be3f8f48cfb3cf024860f042d424cd4824f5f7 and/or
a524b1184b8e86141d689fa78ad150fbf2db9b4c add dependency on stdin/out/err
to the test.

Anyway just an update. It can be reproduced easily. If we have tests
that can't tolerate redirecting output, I might end up dropping the
patch that is in linux-kselftest fixes

fbcab13d2e2511a858590846ac2e2d7cbd830591

So fat set-timer-lat is the only one I found.

thanks,
-- Shuah

I'm able to reproduce this locally, though I'm not sure it's a redirection issue. 28be3f8f48cf ("kselftests: timers: set-timer-lat: Add one-shot timer test cases") appears to have a regression where if timer_create() fails due to missing CAP_WAKE_ALARM, do_timer() will still try to run the test anyway.

Please revert 28be3f8f48cf and verify whether this fixes the problem for you. If so, I'll send a V2 as soon as possible that fixes the issue. (Basically, setup_timer() needs a discrete return value for unsupported test cases.)

Sorry for the confusion.