2006-12-01 03:10:41

by Josh Triplett

[permalink] [raw]
Subject: [PATCH] Add Sparse annotations to SRCU wrapper functions in rcutorture

The SRCU wrapper functions srcu_torture_read_lock and srcu_torture_read_unlock
in rcutorture intentionally change the SRCU context; annotate them
accordingly, to avoid a warning.

Signed-off-by: Josh Triplett <[email protected]>
---
kernel/rcutorture.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
index cd27547..ddafbbf 100644
--- a/kernel/rcutorture.c
+++ b/kernel/rcutorture.c
@@ -401,7 +401,7 @@ static void srcu_torture_cleanup(void)
cleanup_srcu_struct(&srcu_ctl);
}

-static int srcu_torture_read_lock(void)
+static int srcu_torture_read_lock(void) __acquires(&srcu_ctl)
{
return srcu_read_lock(&srcu_ctl);
}
@@ -419,7 +419,7 @@ static void srcu_read_delay(struct rcu_random_state *rrsp)
schedule_timeout_interruptible(longdelay);
}

-static void srcu_torture_read_unlock(int idx)
+static void srcu_torture_read_unlock(int idx) __releases(&srcu_ctl)
{
srcu_read_unlock(&srcu_ctl, idx);
}
--
1.4.4.1



Attachments:
signature.asc (252.00 B)
OpenPGP digital signature

2006-12-01 15:22:59

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH] Add Sparse annotations to SRCU wrapper functions in rcutorture

On Thu, Nov 30, 2006 at 07:10:37PM -0800, Josh Triplett wrote:
> The SRCU wrapper functions srcu_torture_read_lock and srcu_torture_read_unlock
> in rcutorture intentionally change the SRCU context; annotate them
> accordingly, to avoid a warning.

Acked-by: Paul E. McKenney <[email protected]>

> Signed-off-by: Josh Triplett <[email protected]>
> ---
> kernel/rcutorture.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
> index cd27547..ddafbbf 100644
> --- a/kernel/rcutorture.c
> +++ b/kernel/rcutorture.c
> @@ -401,7 +401,7 @@ static void srcu_torture_cleanup(void)
> cleanup_srcu_struct(&srcu_ctl);
> }
>
> -static int srcu_torture_read_lock(void)
> +static int srcu_torture_read_lock(void) __acquires(&srcu_ctl)
> {
> return srcu_read_lock(&srcu_ctl);
> }
> @@ -419,7 +419,7 @@ static void srcu_read_delay(struct rcu_random_state *rrsp)
> schedule_timeout_interruptible(longdelay);
> }
>
> -static void srcu_torture_read_unlock(int idx)
> +static void srcu_torture_read_unlock(int idx) __releases(&srcu_ctl)
> {
> srcu_read_unlock(&srcu_ctl, idx);
> }
> --
> 1.4.4.1
>
>