From: Dmitry Vyukov <dvyukov@google.com>
To: Oleg Nesterov <oleg@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
John Stultz <jstultz@google.com>, Marco Elver <elver@google.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
"Eric W. Biederman" <ebiederm@xmission.com>,
linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
kasan-dev@googlegroups.com, Edward Liaw <edliaw@google.com>,
Carlos Llamas <cmllamas@google.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [PATCH] selftests/timers/posix_timers: reimplement check_timer_distribution()
Date: Tue, 9 Apr 2024 13:45:24 +0200 [thread overview]
Message-ID: <CACT4Y+ZOn3n+NL=JH-=yNWOv8RWOg_idGqQz10fD-F-FW27M+g@mail.gmail.com> (raw)
In-Reply-To: <20240409111051.GB29396@redhat.com>
On Tue, 9 Apr 2024 at 13:12, Oleg Nesterov <oleg@redhat.com> wrote:
>
> On 04/09, Thomas Gleixner wrote:
> >
> > The discussion started about running new tests on older kernels. As this
> > is a feature and not a bug fix that obviously fails on older kernels.
>
> OK, I see... please see below.
>
> > So something like the uncompiled below should work.
>
> Hmm... this patch doesn't apply to Linus's tree...
>
> It seems that this is because in your tree check_timer_distribution() does
>
> if (timer_delete(id)) {
> ksft_perror("Can't delete timer");
> return 0;
> }
>
> while in Linus's tree it returns -1 if timer_delete() fails. Nevermind.
>
> Thomas, I am almost shy to continue this discussion and waste your time ;)
> But ...
>
> > +static bool check_kernel_version(unsigned int min_major, unsigned int min_minor)
> > +{
> > + unsigned int major, minor;
> > + struct utsname info;
> > +
> > + uname(&info);
> > + if (sscanf(info.release, "%u.%u.", &major, &minor) != 2)
> > + ksft_exit_fail();
> > + return major > min_major || (major == min_major && minor >= min_minor);
> > +}
>
> this looks useful regardless. Perhaps it should be moved into
> tools/testing/selftests/kselftest.h as ksft_ck_kernel_version() ?
>
> > +static int check_timer_distribution(void)
> > +{
> > + const char *errmsg;
> > +
> > + if (!check_kernel_version(6, 3)) {
> > + ksft_test_result_skip("check signal distribution (old kernel)\n");
> > return 0;
>
> ...
>
> > + ksft_test_result(!ctd_failed, "check signal distribution\n");
>
> Perhaps
>
> if (!ctd_failed)
> ksft_test_result_pass("check signal distribution\n");
> else if (check_kernel_version(6, 3))
> ksft_test_result_fail("check signal distribution\n");
> else
> ksft_test_result_skip("check signal distribution (old kernel)\n");
>
> makes more sense?
This looks even better!
> This way it can be used on the older kernels with bcb7ee79029d backported.
>
> Oleg.
>
next prev parent reply other threads:[~2024-04-09 11:45 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-16 12:30 [PATCH v6 1/2] posix-timers: Prefer delivery of signals to the current thread Marco Elver
2023-03-16 12:30 ` [PATCH v6 2/2] selftests/timers/posix_timers: Test delivery of signals across threads Marco Elver
2024-04-06 20:53 ` Muhammad Usama Anjum
2024-04-06 21:13 ` Oleg Nesterov
2024-04-06 21:32 ` Muhammad Usama Anjum
2023-03-30 10:19 ` [PATCH v6 1/2] posix-timers: Prefer delivery of signals to the current thread Marco Elver
2023-04-06 14:12 ` Marco Elver
2023-04-06 15:13 ` Frederic Weisbecker
2023-04-06 20:22 ` Peter Zijlstra
2024-04-01 20:17 ` John Stultz
2024-04-02 9:07 ` Dmitry Vyukov
2024-04-02 14:57 ` Thomas Gleixner
2024-04-02 17:23 ` John Stultz
2024-04-03 12:41 ` Thomas Gleixner
2024-04-03 15:03 ` Oleg Nesterov
2024-04-03 15:43 ` Thomas Gleixner
2024-04-03 16:32 ` Thomas Gleixner
2024-04-03 18:16 ` John Stultz
2024-04-03 19:09 ` Thomas Gleixner
2024-04-03 19:35 ` John Stultz
2024-04-03 22:24 ` Thomas Gleixner
2024-04-04 14:54 ` Oleg Nesterov
2024-04-04 18:08 ` Thomas Gleixner
2024-04-06 15:09 ` [PATCH] selftests/timers/posix_timers: reimplement check_timer_distribution() Oleg Nesterov
2024-04-06 15:10 ` Oleg Nesterov
2024-04-06 22:00 ` Thomas Gleixner
2024-04-08 8:30 ` Dmitry Vyukov
2024-04-08 10:01 ` Thomas Gleixner
2024-04-08 10:26 ` Oleg Nesterov
2024-04-08 18:49 ` Oleg Nesterov
2024-04-08 22:17 ` Thomas Gleixner
2024-04-09 11:10 ` Oleg Nesterov
2024-04-09 11:45 ` Dmitry Vyukov [this message]
2024-04-09 12:02 ` Thomas Gleixner
2024-04-09 13:38 ` [PATCH v2] " Oleg Nesterov
2024-04-10 22:21 ` John Stultz
2024-04-10 22:31 ` Thomas Gleixner
2024-04-10 22:33 ` John Stultz
2024-04-11 12:41 ` [PATCH] " Mark Brown
2024-04-11 15:33 ` John Stultz
2024-04-11 12:44 ` Mark Brown
2024-04-11 14:17 ` Thomas Gleixner
2024-04-11 15:50 ` Oleg Nesterov
2024-04-11 16:03 ` Mark Brown
2024-04-12 12:35 ` [PATCH] selftests: fix build failure with NOLIBC Oleg Nesterov
2024-04-14 7:42 ` Mark Brown
2024-04-04 8:55 ` [PATCH v6 1/2] posix-timers: Prefer delivery of signals to the current thread Dmitry Vyukov
2024-04-04 13:43 ` Oleg Nesterov
2024-04-04 15:10 ` Thomas Gleixner
2024-04-04 15:23 ` Oleg Nesterov
2024-04-05 4:28 ` Dmitry Vyukov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CACT4Y+ZOn3n+NL=JH-=yNWOv8RWOg_idGqQz10fD-F-FW27M+g@mail.gmail.com' \
--to=dvyukov@google.com \
--cc=cmllamas@google.com \
--cc=ebiederm@xmission.com \
--cc=edliaw@google.com \
--cc=elver@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=jstultz@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).