Message ID | 20240913063128.27391-1-richard.weiyang@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | maple_tree: root node could be handled by !p_slot too | expand |
* Wei Yang <richard.weiyang@gmail.com> [240913 02:31]: > For a root node, mte_parent_slot() return 0, this exactly fits the > following !p_slot check. This sounds right, I will have to look deeper at it though. Thanks, Liam > > So we can remove the special handling for root node. > > Signed-off-by: Wei Yang <richard.weiyang@gmail.com> > CC: Liam R. Howlett <Liam.Howlett@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 85bd651e7770..b5dde94cc7a9 100644 > --- a/lib/maple_tree.c > +++ b/lib/maple_tree.c > @@ -2100,9 +2100,7 @@ static inline bool mas_prev_sibling(struct ma_state *mas) > { > unsigned int p_slot = mte_parent_slot(mas->node); > > - if (mte_is_root(mas->node)) > - return false; > - > + /* For root node, p_slot is set to 0 by mte_parent_slot(). */ > if (!p_slot) > return false; > > -- > 2.34.1 >
On Fri, Sep 13, 2024 at 10:17:07AM -0400, Liam R. Howlett wrote: >* Wei Yang <richard.weiyang@gmail.com> [240913 02:31]: >> For a root node, mte_parent_slot() return 0, this exactly fits the >> following !p_slot check. > >This sounds right, I will have to look deeper at it though. > Hi, Liam I guess you are back? >Thanks, >Liam > >> >> So we can remove the special handling for root node. >> >> Signed-off-by: Wei Yang <richard.weiyang@gmail.com> >> CC: Liam R. Howlett <Liam.Howlett@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 85bd651e7770..b5dde94cc7a9 100644 >> --- a/lib/maple_tree.c >> +++ b/lib/maple_tree.c >> @@ -2100,9 +2100,7 @@ static inline bool mas_prev_sibling(struct ma_state *mas) >> { >> unsigned int p_slot = mte_parent_slot(mas->node); >> >> - if (mte_is_root(mas->node)) >> - return false; >> - >> + /* For root node, p_slot is set to 0 by mte_parent_slot(). */ >> if (!p_slot) >> return false; >> >> -- >> 2.34.1 >>
* Wei Yang <richard.weiyang@gmail.com> [241013 10:42]: > On Fri, Sep 13, 2024 at 10:17:07AM -0400, Liam R. Howlett wrote: > >* Wei Yang <richard.weiyang@gmail.com> [240913 02:31]: > >> For a root node, mte_parent_slot() return 0, this exactly fits the > >> following !p_slot check. > > > >This sounds right, I will have to look deeper at it though. > > > > Hi, Liam > > I guess you are back? Yes. I'll get to this soon. I believe you have two sets (or three?) I have to look at. Thanks, Liam > > >Thanks, > >Liam > > > >> > >> So we can remove the special handling for root node. > >> > >> Signed-off-by: Wei Yang <richard.weiyang@gmail.com> > >> CC: Liam R. Howlett <Liam.Howlett@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 85bd651e7770..b5dde94cc7a9 100644 > >> --- a/lib/maple_tree.c > >> +++ b/lib/maple_tree.c > >> @@ -2100,9 +2100,7 @@ static inline bool mas_prev_sibling(struct ma_state *mas) > >> { > >> unsigned int p_slot = mte_parent_slot(mas->node); > >> > >> - if (mte_is_root(mas->node)) > >> - return false; > >> - > >> + /* For root node, p_slot is set to 0 by mte_parent_slot(). */ > >> if (!p_slot) > >> return false; > >> > >> -- > >> 2.34.1 > >> > > -- > Wei Yang > Help you, Help me
On Sun, Oct 13, 2024 at 10:06:48PM -0400, Liam R. Howlett wrote: >* Wei Yang <richard.weiyang@gmail.com> [241013 10:42]: >> On Fri, Sep 13, 2024 at 10:17:07AM -0400, Liam R. Howlett wrote: >> >* Wei Yang <richard.weiyang@gmail.com> [240913 02:31]: >> >> For a root node, mte_parent_slot() return 0, this exactly fits the >> >> following !p_slot check. >> > >> >This sounds right, I will have to look deeper at it though. >> > >> >> Hi, Liam >> >> I guess you are back? > >Yes. I'll get to this soon. I believe you have two sets (or three?) I >have to look at. Thanks, I have sent other two. While I have accumulated other changes, not sure you prefer to hold a while or it is okay to go on. > >Thanks, >Liam >
* Wei Yang <richard.weiyang@gmail.com> [240913 02:31]: > For a root node, mte_parent_slot() return 0, this exactly fits the > following !p_slot check. > > So we can remove the special handling for root node. > > Signed-off-by: Wei Yang <richard.weiyang@gmail.com> > CC: Liam R. Howlett <Liam.Howlett@Oracle.com> Reviewed-by: Liam R. Howlett <Liam.Howlett@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 85bd651e7770..b5dde94cc7a9 100644 > --- a/lib/maple_tree.c > +++ b/lib/maple_tree.c > @@ -2100,9 +2100,7 @@ static inline bool mas_prev_sibling(struct ma_state *mas) > { > unsigned int p_slot = mte_parent_slot(mas->node); > > - if (mte_is_root(mas->node)) > - return false; > - > + /* For root node, p_slot is set to 0 by mte_parent_slot(). */ > if (!p_slot) > return false; > > -- > 2.34.1 >
diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 85bd651e7770..b5dde94cc7a9 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -2100,9 +2100,7 @@ static inline bool mas_prev_sibling(struct ma_state *mas) { unsigned int p_slot = mte_parent_slot(mas->node); - if (mte_is_root(mas->node)) - return false; - + /* For root node, p_slot is set to 0 by mte_parent_slot(). */ if (!p_slot) return false;
For a root node, mte_parent_slot() return 0, this exactly fits the following !p_slot check. So we can remove the special handling for root node. Signed-off-by: Wei Yang <richard.weiyang@gmail.com> CC: Liam R. Howlett <Liam.Howlett@Oracle.com> --- lib/maple_tree.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)