All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Shuah Khan <shuahkhan@gmail.com>, linux-kselftest@vger.kernel.org
Cc: shuah@kernel.org, "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	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>
Subject: Re: [PATCH for 4.14 2/3] membarrier: selftest: Test private expedited cmd
Date: Tue, 26 Sep 2017 19:55:17 +0000 (UTC)	[thread overview]
Message-ID: <1861482846.19234.1506455717905.JavaMail.zimbra@efficios.com> (raw)
In-Reply-To: <CAKocOOPtzm+P-hbUAGDwpPMbPdrbQSpkJH-ideDvsD4-uUZepw@mail.gmail.com>

----- 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.

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

  reply	other threads:[~2017-09-26 19:55 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 [this message]
2017-09-26 20:08       ` Shuah Khan
2017-09-26 20:15         ` Mathieu Desnoyers
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=1861482846.19234.1506455717905.JavaMail.zimbra@efficios.com \
    --to=mathieu.desnoyers@efficios.com \
    --cc=ahh@google.com \
    --cc=avi@scylladb.com \
    --cc=benh@kernel.crashing.org \
    --cc=boqun.feng@gmail.com \
    --cc=davejwatson@fb.com \
    --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=paulmck@linux.vnet.ibm.com \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.org \
    --cc=shuah@kernel.org \
    --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.