2020-06-02 14:39:19

by Marco Elver

[permalink] [raw]
Subject: [PATCH] kcsan: Prefer '__no_kcsan inline' in test

Instead of __no_kcsan_or_inline, prefer '__no_kcsan inline' in test --
this is in case we decide to remove __no_kcsan_or_inline.

Suggested-by: Peter Zijlstra <[email protected]>
Signed-off-by: Marco Elver <[email protected]>
---

Hi Paul,

This is to prepare eventual removal of __no_kcsan_or_inline, and avoid a
series that doesn't apply to anything other than -next (because some
bits are in -tip and the test only in -rcu; although this problem might
be solved in 2 weeks). This patch is to make sure in case the
__kcsan_or_inline series is based on -tip, integration in -next doesn't
cause problems.

This came up in
https://lkml.kernel.org/r/[email protected]

Thanks,
-- Marco

---
kernel/kcsan/kcsan-test.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/kcsan/kcsan-test.c b/kernel/kcsan/kcsan-test.c
index a8c11506dd2a..3af420ad6ee7 100644
--- a/kernel/kcsan/kcsan-test.c
+++ b/kernel/kcsan/kcsan-test.c
@@ -43,7 +43,7 @@ static struct {
};

/* Setup test checking loop. */
-static __no_kcsan_or_inline void
+static __no_kcsan inline void
begin_test_checks(void (*func1)(void), void (*func2)(void))
{
kcsan_disable_current();
@@ -60,7 +60,7 @@ begin_test_checks(void (*func1)(void), void (*func2)(void))
}

/* End test checking loop. */
-static __no_kcsan_or_inline bool
+static __no_kcsan inline bool
end_test_checks(bool stop)
{
if (!stop && time_before(jiffies, end_time)) {
--
2.27.0.rc2.251.g90737beb825-goog


2020-06-02 17:39:16

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH] kcsan: Prefer '__no_kcsan inline' in test

On Tue, Jun 02, 2020 at 04:36:33PM +0200, Marco Elver wrote:
> Instead of __no_kcsan_or_inline, prefer '__no_kcsan inline' in test --
> this is in case we decide to remove __no_kcsan_or_inline.
>
> Suggested-by: Peter Zijlstra <[email protected]>
> Signed-off-by: Marco Elver <[email protected]>
> ---
>
> Hi Paul,
>
> This is to prepare eventual removal of __no_kcsan_or_inline, and avoid a
> series that doesn't apply to anything other than -next (because some
> bits are in -tip and the test only in -rcu; although this problem might
> be solved in 2 weeks). This patch is to make sure in case the
> __kcsan_or_inline series is based on -tip, integration in -next doesn't
> cause problems.
>
> This came up in
> https://lkml.kernel.org/r/[email protected]

Thanks Marco!

I just sent the rest of that patch here:

https://lkml.kernel.org/r/[email protected]



2020-06-02 20:50:35

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH] kcsan: Prefer '__no_kcsan inline' in test

On Tue, Jun 02, 2020 at 04:36:33PM +0200, Marco Elver wrote:
> Instead of __no_kcsan_or_inline, prefer '__no_kcsan inline' in test --
> this is in case we decide to remove __no_kcsan_or_inline.
>
> Suggested-by: Peter Zijlstra <[email protected]>
> Signed-off-by: Marco Elver <[email protected]>
> ---
>
> Hi Paul,
>
> This is to prepare eventual removal of __no_kcsan_or_inline, and avoid a
> series that doesn't apply to anything other than -next (because some
> bits are in -tip and the test only in -rcu; although this problem might
> be solved in 2 weeks). This patch is to make sure in case the
> __kcsan_or_inline series is based on -tip, integration in -next doesn't
> cause problems.
>
> This came up in
> https://lkml.kernel.org/r/[email protected]

Applied and pushed, thank you!

Please note that unless you would like this pushed into the current
merge window, it will not be visible in -next until v5.8-rc1 comes out.
Which sounds like you are aware of already, just want to be sure. ;-)

Thanx, Paul

> Thanks,
> -- Marco
>
> ---
> kernel/kcsan/kcsan-test.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/kcsan/kcsan-test.c b/kernel/kcsan/kcsan-test.c
> index a8c11506dd2a..3af420ad6ee7 100644
> --- a/kernel/kcsan/kcsan-test.c
> +++ b/kernel/kcsan/kcsan-test.c
> @@ -43,7 +43,7 @@ static struct {
> };
>
> /* Setup test checking loop. */
> -static __no_kcsan_or_inline void
> +static __no_kcsan inline void
> begin_test_checks(void (*func1)(void), void (*func2)(void))
> {
> kcsan_disable_current();
> @@ -60,7 +60,7 @@ begin_test_checks(void (*func1)(void), void (*func2)(void))
> }
>
> /* End test checking loop. */
> -static __no_kcsan_or_inline bool
> +static __no_kcsan inline bool
> end_test_checks(bool stop)
> {
> if (!stop && time_before(jiffies, end_time)) {
> --
> 2.27.0.rc2.251.g90737beb825-goog
>

2020-06-03 07:58:46

by Marco Elver

[permalink] [raw]
Subject: Re: [PATCH] kcsan: Prefer '__no_kcsan inline' in test

On Tue, 2 Jun 2020 at 22:48, Paul E. McKenney <[email protected]> wrote:
>
> On Tue, Jun 02, 2020 at 04:36:33PM +0200, Marco Elver wrote:
> > Instead of __no_kcsan_or_inline, prefer '__no_kcsan inline' in test --
> > this is in case we decide to remove __no_kcsan_or_inline.
> >
> > Suggested-by: Peter Zijlstra <[email protected]>
> > Signed-off-by: Marco Elver <[email protected]>
> > ---
> >
> > Hi Paul,
> >
> > This is to prepare eventual removal of __no_kcsan_or_inline, and avoid a
> > series that doesn't apply to anything other than -next (because some
> > bits are in -tip and the test only in -rcu; although this problem might
> > be solved in 2 weeks). This patch is to make sure in case the
> > __kcsan_or_inline series is based on -tip, integration in -next doesn't
> > cause problems.
> >
> > This came up in
> > https://lkml.kernel.org/r/[email protected]
>
> Applied and pushed, thank you!
>
> Please note that unless you would like this pushed into the current
> merge window, it will not be visible in -next until v5.8-rc1 comes out.
> Which sounds like you are aware of already, just want to be sure. ;-)

Thank you! Yes, that's fine. The test and this patch I'd expect will
go into 5.9 earliest.

Thanks,
-- Marco