From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Shuah Khan <shuahkhan@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Alice Ferrazzi <alice.ferrazzi@gmail.com>,
Paul Elder <paul.elder@pitt.edu>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: linux-kselftest <linux-kselftest@vger.kernel.org>,
shuah <shuah@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Boqun Feng <boqun.feng@gmail.com>, Andrew Hunter <ahh@google.com>,
maged michael <maged.michael@gmail.com>,
gromer <gromer@google.com>, Avi Kivity <avi@scylladb.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Michael Ellerman <mpe@ellerman.id.au>,
Dave Watson <davejwatson@fb.com>,
Alan Stern <stern@rowland.harvard.edu>,
Will Deacon <will.deacon@arm.com>,
Andy Lutomirski <luto@kernel.org>,
linux-arch <linux-arch@vger.kernel.org>,
Shuah Khan <shuahkh@osg.samsung.com>
Subject: Re: [PATCH for 4.14 2/3] membarrier: selftest: Test private expedited cmd
Date: Tue, 26 Sep 2017 20:15:25 +0000 (UTC) [thread overview]
Message-ID: <998801080.19251.1506456925340.JavaMail.zimbra@efficios.com> (raw)
In-Reply-To: <CAKocOOMQ6Nk=Oytay2T12L0jT_3vnPgX5CEt=9+_kmTnFTfigg@mail.gmail.com>
----- On Sep 26, 2017, at 4:08 PM, Shuah Khan shuahkhan@gmail.com wrote:
> On Tue, Sep 26, 2017 at 1:55 PM, Mathieu Desnoyers
> <mathieu.desnoyers@efficios.com> wrote:
>> ----- On Sep 26, 2017, at 3:41 PM, Shuah Khan shuahkhan@gmail.com wrote:
>>
>>> Hi Mathew,
>>>
>>> On Tue, Sep 26, 2017 at 11:51 AM, Mathieu Desnoyers
>>> <mathieu.desnoyers@efficios.com> wrote:
>>>> Test the new MEMBARRIER_CMD_PRIVATE_EXPEDITED and
>>>> MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED commands.
>>>>
>>>> Add checks expecting specific error values on system calls expected to
>>>> fail.
>>>>
>>>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
>>>> CC: Peter Zijlstra <peterz@infradead.org>
>>>> CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
>>>> CC: Boqun Feng <boqun.feng@gmail.com>
>>>> CC: Andrew Hunter <ahh@google.com>
>>>> CC: Maged Michael <maged.michael@gmail.com>
>>>> CC: gromer@google.com
>>>> CC: Avi Kivity <avi@scylladb.com>
>>>> CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>>>> CC: Paul Mackerras <paulus@samba.org>
>>>> CC: Michael Ellerman <mpe@ellerman.id.au>
>>>> CC: Dave Watson <davejwatson@fb.com>
>>>> CC: Alan Stern <stern@rowland.harvard.edu>
>>>> CC: Will Deacon <will.deacon@arm.com>
>>>> CC: Andy Lutomirski <luto@kernel.org>
>>>> CC: linux-arch@vger.kernel.org
>>>> ---
>>>> .../testing/selftests/membarrier/membarrier_test.c | 109
>>>
>>> Did you run get_maintainers script on this patch? I am curious why
>>> get_maintainers didn't include linux-kselftest@vger.kernel.org and
>>> shuah@kernel.org
>>
>> My mistake. I'll add this script to my checklist before I send out
>> patches.
>>
>> If OK with you, I can just add the ML in CC here.
>>
>
> Please add everybody get_maintainers suggest for this patch as well.
> If this patch is going through linux-kselftest, you will have to resend the
> patch to me at some point, so I can pull it in.
>
> I am guessing this has dependency on the other patches in the series
> and will go through the primary tree. In that case CC is just fine and I will
> review it and Ack it.
Indeed, it has a dependency on another patch part of this
series, which is aimed to go through Paul E. McKenney's tree.
Adding Greg, Alice, and Paul Elder in CC as suggested by get_maintainers.
Do you need me to re-send the series, or is this thread ok ?
Thanks,
Mathieu
>
> thanks,
> -- Shuah
>>>
>>> Please make sure you send the patches to
>>> ++++++++++++++++++---
>>>> 1 file changed, 94 insertions(+), 15 deletions(-)
>>>>
>>>> diff --git a/tools/testing/selftests/membarrier/membarrier_test.c
>>>> b/tools/testing/selftests/membarrier/membarrier_test.c
>>>> index 21399fcf1a59..f85657374b59 100644
>>>> --- a/tools/testing/selftests/membarrier/membarrier_test.c
>>>> +++ b/tools/testing/selftests/membarrier/membarrier_test.c
>>>> @@ -15,49 +15,119 @@ static int sys_membarrier(int cmd, int flags)
>>>> static int test_membarrier_cmd_fail(void)
>>>> {
>>>> int cmd = -1, flags = 0;
>>>> + const char *test_name = "sys membarrier invalid command";
>>>>
>>>> if (sys_membarrier(cmd, flags) != -1) {
>>>> ksft_exit_fail_msg(
>>>> - "sys membarrier invalid command test: command = %d,
>>>> flags = %d. Should fail, but passed\n",
>>>> - cmd, flags);
>>>> + "%s test: command = %d, flags = %d. Should fail, but
>>>> passed\n",
>>>> + test_name, cmd, flags);
>>>> + }
>>>> + if (errno != EINVAL) {
>>>> + ksft_exit_fail_msg(
>>>> + "%s test: flags = %d. Should return (%d: \"%s\"), but
>>>> returned (%d: \"%s\").\n",
>>>> + test_name, flags, EINVAL, strerror(EINVAL),
>>>> + errno, strerror(errno));
>>>> }
>>>>
>>>> ksft_test_result_pass(
>>>> - "sys membarrier invalid command test: command = %d, flags = %d.
>>>> Failed as expected\n",
>>>> - cmd, flags);
>>>> + "%s test: command = %d, flags = %d, errno = %d. Failed as
>>>> expected\n",
>>>> + test_name, cmd, flags, errno);
>>>> return 0;
>>>> }
>>>>
>>>> static int test_membarrier_flags_fail(void)
>>>> {
>>>> int cmd = MEMBARRIER_CMD_QUERY, flags = 1;
>>>> + const char *test_name = "sys membarrier MEMBARRIER_CMD_QUERY invalid
>>>> flags";
>>>>
>>>> if (sys_membarrier(cmd, flags) != -1) {
>>>> ksft_exit_fail_msg(
>>>> - "sys membarrier MEMBARRIER_CMD_QUERY invalid flags test:
>>>> flags = %d. Should fail, but passed\n",
>>>> - flags);
>>>> + "%s test: flags = %d. Should fail, but passed\n",
>>>> + test_name, flags);
>>>> + }
>>>> + if (errno != EINVAL) {
>>>> + ksft_exit_fail_msg(
>>>> + "%s test: flags = %d. Should return (%d: \"%s\"), but
>>>> returned (%d: \"%s\").\n",
>>>> + test_name, flags, EINVAL, strerror(EINVAL),
>>>> + errno, strerror(errno));
>>>> }
>>>>
>>>> ksft_test_result_pass(
>>>> - "sys membarrier MEMBARRIER_CMD_QUERY invalid flags test: flags =
>>>> %d. Failed as expected\n",
>>>> - flags);
>>>> + "%s test: flags = %d, errno = %d. Failed as expected\n",
>>>> + test_name, flags, errno);
>>>> return 0;
>>>> }
>>>>
>>>> -static int test_membarrier_success(void)
>>>> +static int test_membarrier_shared_success(void)
>>>> {
>>>> int cmd = MEMBARRIER_CMD_SHARED, flags = 0;
>>>> - const char *test_name = "sys membarrier MEMBARRIER_CMD_SHARED\n";
>>>> + const char *test_name = "sys membarrier MEMBARRIER_CMD_SHARED";
>>>> +
>>>> + if (sys_membarrier(cmd, flags) != 0) {
>>>> + ksft_exit_fail_msg(
>>>> + "%s test: flags = %d, errno = %d\n",
>>>> + test_name, flags, errno);
>>>> + }
>>>> +
>>>> + ksft_test_result_pass(
>>>> + "%s test: flags = %d\n", test_name, flags);
>>>> + return 0;
>>>> +}
>>>> +
>>>> +static int test_membarrier_private_expedited_fail(void)
>>>> +{
>>>> + int cmd = MEMBARRIER_CMD_PRIVATE_EXPEDITED, flags = 0;
>>>> + const char *test_name = "sys membarrier MEMBARRIER_CMD_PRIVATE_EXPEDITED
>>>> not registered failure";
>>>> +
>>>> + if (sys_membarrier(cmd, flags) != -1) {
>>>> + ksft_exit_fail_msg(
>>>> + "%s test: flags = %d. Should fail, but passed\n",
>>>> + test_name, flags);
>>>> + }
>>>> + if (errno != EPERM) {
>>>> + ksft_exit_fail_msg(
>>>> + "%s test: flags = %d. Should return (%d: \"%s\"), but
>>>> returned (%d: \"%s\").\n",
>>>> + test_name, flags, EPERM, strerror(EPERM),
>>>> + errno, strerror(errno));
>>>> + }
>>>> +
>>>> + ksft_test_result_pass(
>>>> + "%s test: flags = %d, errno = %d\n",
>>>> + test_name, flags, errno);
>>>> + return 0;
>>>> +}
>>>> +
>>>> +static int test_membarrier_register_private_expedited_success(void)
>>>> +{
>>>> + int cmd = MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED, flags = 0;
>>>> + const char *test_name = "sys membarrier
>>>> MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED";
>>>>
>>>> if (sys_membarrier(cmd, flags) != 0) {
>>>> ksft_exit_fail_msg(
>>>> - "sys membarrier MEMBARRIER_CMD_SHARED test: flags =
>>>> %d\n",
>>>> - flags);
>>>> + "%s test: flags = %d, errno = %d\n",
>>>> + test_name, flags, errno);
>>>> }
>>>>
>>>> ksft_test_result_pass(
>>>> - "sys membarrier MEMBARRIER_CMD_SHARED test: flags = %d\n",
>>>> - flags);
>>>> + "%s test: flags = %d\n",
>>>> + test_name, flags);
>>>> + return 0;
>>>> +}
>>>> +
>>>> +static int test_membarrier_private_expedited_success(void)
>>>> +{
>>>> + int cmd = MEMBARRIER_CMD_PRIVATE_EXPEDITED, flags = 0;
>>>> + const char *test_name = "sys membarrier
>>>> MEMBARRIER_CMD_PRIVATE_EXPEDITED";
>>>> +
>>>> + if (sys_membarrier(cmd, flags) != 0) {
>>>> + ksft_exit_fail_msg(
>>>> + "%s test: flags = %d, errno = %d\n",
>>>> + test_name, flags, errno);
>>>> + }
>>>> +
>>>> + ksft_test_result_pass(
>>>> + "%s test: flags = %d\n",
>>>> + test_name, flags);
>>>> return 0;
>>>> }
>>>>
>>>> @@ -71,7 +141,16 @@ static int test_membarrier(void)
>>>> status = test_membarrier_flags_fail();
>>>> if (status)
>>>> return status;
>>>> - status = test_membarrier_success();
>>>> + status = test_membarrier_shared_success();
>>>> + if (status)
>>>> + return status;
>>>> + status = test_membarrier_private_expedited_fail();
>>>> + if (status)
>>>> + return status;
>>>> + status = test_membarrier_register_private_expedited_success();
>>>> + if (status)
>>>> + return status;
>>>> + status = test_membarrier_private_expedited_success();
>>>> if (status)
>>>> return status;
>>>> return 0;
>>>> --
>>>> 2.11.0
>>
>> --
>> Mathieu Desnoyers
>> EfficiOS Inc.
> > http://www.efficios.com
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
next prev parent reply other threads:[~2017-09-26 20:15 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-26 17:51 [PATCH v4 for 4.14 1/3] membarrier: Provide register expedited private command Mathieu Desnoyers
2017-09-26 17:51 ` [PATCH for 4.14 2/3] membarrier: selftest: Test private expedited cmd Mathieu Desnoyers
2017-09-26 19:41 ` Shuah Khan
2017-09-26 19:55 ` Mathieu Desnoyers
2017-09-26 20:08 ` Shuah Khan
2017-09-26 20:15 ` Mathieu Desnoyers [this message]
2017-09-26 20:34 ` Shuah Khan
2017-09-26 21:15 ` Greg Kroah-Hartman
2017-09-26 21:15 ` Greg Kroah-Hartman
2017-09-26 17:51 ` [PATCH v4 for 4.14 3/3] membarrier: Document scheduler barrier requirements Mathieu Desnoyers
2017-09-26 20:46 ` Mathieu Desnoyers
2017-09-26 20:43 ` [PATCH v4 for 4.14 1/3] membarrier: Provide register expedited private command Mathieu Desnoyers
2017-09-27 13:04 ` Nicholas Piggin
2017-09-28 13:31 ` Mathieu Desnoyers
2017-09-28 15:01 ` Nicholas Piggin
2017-09-28 15:29 ` Mathieu Desnoyers
2017-09-28 16:16 ` Nicholas Piggin
2017-09-28 18:28 ` Mathieu Desnoyers
2017-09-28 15:51 ` Peter Zijlstra
2017-09-28 16:27 ` Nicholas Piggin
2017-09-29 10:31 ` Peter Zijlstra
2017-09-29 11:38 ` Nicholas Piggin
2017-09-29 11:45 ` Peter Zijlstra
-- strict thread matches above, loose matches on Subject: below --
2017-09-29 17:47 [PATCH v5 " Mathieu Desnoyers
2017-09-29 17:47 ` [PATCH for 4.14 2/3] membarrier: selftest: Test private expedited cmd Mathieu Desnoyers
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=998801080.19251.1506456925340.JavaMail.zimbra@efficios.com \
--to=mathieu.desnoyers@efficios.com \
--cc=ahh@google.com \
--cc=alice.ferrazzi@gmail.com \
--cc=avi@scylladb.com \
--cc=benh@kernel.crashing.org \
--cc=boqun.feng@gmail.com \
--cc=davejwatson@fb.com \
--cc=gregkh@linuxfoundation.org \
--cc=gromer@google.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=luto@kernel.org \
--cc=maged.michael@gmail.com \
--cc=mpe@ellerman.id.au \
--cc=paul.elder@pitt.edu \
--cc=paulmck@linux.vnet.ibm.com \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=shuah@kernel.org \
--cc=shuahkh@osg.samsung.com \
--cc=shuahkhan@gmail.com \
--cc=stern@rowland.harvard.edu \
--cc=will.deacon@arm.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.