diff mbox series

[2/2] maple_tree: remove sanity check from mas_wr_slot_store()

Message ID 20241016002221.32428-3-richard.weiyang@gmail.com (mailing list archive)
State New
Headers show
Series Following cleanup after introduce mas_wr_store_type() | expand

Commit Message

Wei Yang Oct. 16, 2024, 12:22 a.m. UTC
After commit 5d659bbb52a2 ("maple_tree: introduce mas_wr_store_type()"),
the check here is redundant.

Let's remove it.

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
CC: Liam R. Howlett <Liam.Howlett@Oracle.com>
CC: Sidhartha Kumar <sidhartha.kumar@oracle.com>
CC: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
---
 lib/maple_tree.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Sidhartha Kumar Oct. 16, 2024, 2:41 p.m. UTC | #1
On 10/15/24 8:22 PM, Wei Yang wrote:
> After commit 5d659bbb52a2 ("maple_tree: introduce mas_wr_store_type()"),
> the check here is redundant.
>
> Let's remove it.
>
> Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
> CC: Liam R. Howlett <Liam.Howlett@Oracle.com>
> CC: Sidhartha Kumar <sidhartha.kumar@oracle.com>
> CC: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
> ---
>   lib/maple_tree.c | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index f2628e3f3efc..5dfc589a8cde 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -3810,7 +3810,7 @@ static inline void mas_wr_slot_store(struct ma_wr_state *wr_mas)
>   			wr_mas->pivots[offset] = mas->index - 1;
>   			mas->offset++; /* Keep mas accurate. */
>   		}
> -	} else if (!mt_in_rcu(mas->tree)) {


This means ((new_end == mas->end) && (!mt_in_rcu(mas->tree)) must be 
true so we know we are not in rcu mode at this point. So this makes sense

> +	} else {
>   		/*
>   		 * Expand the range, only partially overwriting the previous and
>   		 * next ranges
> @@ -3820,8 +3820,6 @@ static inline void mas_wr_slot_store(struct ma_wr_state *wr_mas)
>   		wr_mas->pivots[offset] = mas->index - 1;
>   		wr_mas->pivots[offset + 1] = mas->last;
>   		mas->offset++; /* Keep mas accurate. */
> -	} else {
> -		return;
>   	}
>   
>   	trace_ma_write(__func__, mas, 0, wr_mas->entry);

Reviewed-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Liam R. Howlett Oct. 16, 2024, 3:06 p.m. UTC | #2
* Wei Yang <richard.weiyang@gmail.com> [241015 20:22]:
> After commit 5d659bbb52a2 ("maple_tree: introduce mas_wr_store_type()"),
> the check here is redundant.
> 
> Let's remove it.
> 
> Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
> CC: Liam R. Howlett <Liam.Howlett@Oracle.com>
> CC: Sidhartha Kumar <sidhartha.kumar@oracle.com>
> CC: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
> ---
>  lib/maple_tree.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index f2628e3f3efc..5dfc589a8cde 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -3810,7 +3810,7 @@ static inline void mas_wr_slot_store(struct ma_wr_state *wr_mas)
>  			wr_mas->pivots[offset] = mas->index - 1;
>  			mas->offset++; /* Keep mas accurate. */
>  		}
> -	} else if (!mt_in_rcu(mas->tree)) {
> +	} else {

It would be worth adding a WARN_ON_ONCE() in here in case something
changes in the code paths.

>  		/*
>  		 * Expand the range, only partially overwriting the previous and
>  		 * next ranges
> @@ -3820,8 +3820,6 @@ static inline void mas_wr_slot_store(struct ma_wr_state *wr_mas)
>  		wr_mas->pivots[offset] = mas->index - 1;
>  		wr_mas->pivots[offset + 1] = mas->last;
>  		mas->offset++; /* Keep mas accurate. */
> -	} else {
> -		return;
>  	}
>  
>  	trace_ma_write(__func__, mas, 0, wr_mas->entry);
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index f2628e3f3efc..5dfc589a8cde 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -3810,7 +3810,7 @@  static inline void mas_wr_slot_store(struct ma_wr_state *wr_mas)
 			wr_mas->pivots[offset] = mas->index - 1;
 			mas->offset++; /* Keep mas accurate. */
 		}
-	} else if (!mt_in_rcu(mas->tree)) {
+	} else {
 		/*
 		 * Expand the range, only partially overwriting the previous and
 		 * next ranges
@@ -3820,8 +3820,6 @@  static inline void mas_wr_slot_store(struct ma_wr_state *wr_mas)
 		wr_mas->pivots[offset] = mas->index - 1;
 		wr_mas->pivots[offset + 1] = mas->last;
 		mas->offset++; /* Keep mas accurate. */
-	} else {
-		return;
 	}
 
 	trace_ma_write(__func__, mas, 0, wr_mas->entry);