maple_tree: add end of node tracking to the maple state
Analysis of the mas_for_each() iteration showed that there is a significant time spent finding the end of a node. This time can be greatly reduced if the end of the node is cached in the maple state. Care must be taken to update & invalidate as necessary. Link: https://lkml.kernel.org/r/20231101171629.3612299-5-Liam.Howlett@oracle.com Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com> Cc: Peng Zhang <zhangpeng.00@bytedance.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
bf857ddd21
commit
31c532a8af
@@ -393,6 +393,7 @@ struct ma_state {
|
||||
unsigned char depth; /* depth of tree descent during write */
|
||||
unsigned char offset;
|
||||
unsigned char mas_flags;
|
||||
unsigned char end; /* The end of the node */
|
||||
};
|
||||
|
||||
struct ma_wr_state {
|
||||
|
||||
Reference in New Issue
Block a user