Message ID | 20240717014142.24263-1-richard.weiyang@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | maple_tree: fix the comment on maple_arange_64 size | expand |
On Wed, Jul 17, 2024 at 01:41:42AM +0000, Wei Yang wrote: > The comment here describe the size of struct maple_arange_64. > > The value here is not correct. Fix it with the correct value. You are wrong.
On Wed, Jul 17, 2024 at 03:06:01AM +0100, Matthew Wilcox wrote: >On Wed, Jul 17, 2024 at 01:41:42AM +0000, Wei Yang wrote: >> The comment here describe the size of struct maple_arange_64. >> >> The value here is not correct. Fix it with the correct value. > >You are wrong. You mean the my value is wrong or my understanding is wrong?
On Wed, Jul 17, 2024 at 02:41:26AM +0000, Wei Yang wrote: > On Wed, Jul 17, 2024 at 03:06:01AM +0100, Matthew Wilcox wrote: > >On Wed, Jul 17, 2024 at 01:41:42AM +0000, Wei Yang wrote: > >> The comment here describe the size of struct maple_arange_64. > >> > >> The value here is not correct. Fix it with the correct value. > > > >You are wrong. > > You mean the my value is wrong or my understanding is wrong? Yes.
On Wed, Jul 17, 2024 at 03:45:40AM +0100, Matthew Wilcox wrote: >On Wed, Jul 17, 2024 at 02:41:26AM +0000, Wei Yang wrote: >> On Wed, Jul 17, 2024 at 03:06:01AM +0100, Matthew Wilcox wrote: >> >On Wed, Jul 17, 2024 at 01:41:42AM +0000, Wei Yang wrote: >> >> The comment here describe the size of struct maple_arange_64. >> >> >> >> The value here is not correct. Fix it with the correct value. >> > >> >You are wrong. >> >> You mean the my value is wrong or my understanding is wrong? > >Yes. I don't get it. Would you mind sharing some light on what 240 bytes stands for? I don't figure out what size it represents.
On Wed, Jul 17, 2024 at 03:03:13AM +0000, Wei Yang wrote: > On Wed, Jul 17, 2024 at 03:45:40AM +0100, Matthew Wilcox wrote: > >On Wed, Jul 17, 2024 at 02:41:26AM +0000, Wei Yang wrote: > >> On Wed, Jul 17, 2024 at 03:06:01AM +0100, Matthew Wilcox wrote: > >> >On Wed, Jul 17, 2024 at 01:41:42AM +0000, Wei Yang wrote: > >> >> The comment here describe the size of struct maple_arange_64. > >> >> > >> >> The value here is not correct. Fix it with the correct value. > >> > > >> >You are wrong. > >> > >> You mean the my value is wrong or my understanding is wrong? > > > >Yes. > > I don't get it. > > Would you mind sharing some light on what 240 bytes stands for? I don't figure > out what size it represents. You first. How did you determine the new value you used?
On Wed, Jul 17, 2024 at 04:05:35AM +0100, Matthew Wilcox wrote: >On Wed, Jul 17, 2024 at 03:03:13AM +0000, Wei Yang wrote: >> On Wed, Jul 17, 2024 at 03:45:40AM +0100, Matthew Wilcox wrote: >> >On Wed, Jul 17, 2024 at 02:41:26AM +0000, Wei Yang wrote: >> >> On Wed, Jul 17, 2024 at 03:06:01AM +0100, Matthew Wilcox wrote: >> >> >On Wed, Jul 17, 2024 at 01:41:42AM +0000, Wei Yang wrote: >> >> >> The comment here describe the size of struct maple_arange_64. >> >> >> >> >> >> The value here is not correct. Fix it with the correct value. >> >> > >> >> >You are wrong. >> >> >> >> You mean the my value is wrong or my understanding is wrong? >> > >> >Yes. >> >> I don't get it. >> >> Would you mind sharing some light on what 240 bytes stands for? I don't figure >> out what size it represents. > >You first. How did you determine the new value you used? Sure. My understanding of the comment is to represent the size of related data structures, eg. maple_node, maple_range_64 and maple_arange_64. I add following code in test to the size of those structures. diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index cea050675da2..93e77dea7f0b 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -3645,6 +3645,10 @@ static int __init maple_tree_seed(void) 5003, 5002}; void *ptr = &set; + pr_info("\nsizeof struct maple_node %ld\n", sizeof(struct maple_node)); + pr_info("\nsizeof struct maple_range_64 %ld\n", sizeof(struct maple_range_64)); + pr_info("\nsizeof struct maple_arange_64 %ld\n", sizeof(struct maple_arange_64)); Then insert the test module. $ sudo insmod lib/test_maple_tree.ko [ 152.152382] [ 152.152382] sizeof struct maple_node 256 [ 152.153043] [ 152.153043] sizeof struct maple_range_64 256 [ 152.153561] [ 152.153561] sizeof struct maple_arange_64 248 The first two is the same as in comment, while the third one is not the same. The 248 for 64BIT comes from here. For 32BIT, I copied structure definition to a user space source and compile with -m32. The size of structure maple_arange_64 is 256. This is where 256 comes from.
diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index a53ad4dabd7e..8c87f8d0497d 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -28,13 +28,13 @@ /* 64bit sizes */ #define MAPLE_NODE_SLOTS 31 /* 256 bytes including ->parent */ #define MAPLE_RANGE64_SLOTS 16 /* 256 bytes */ -#define MAPLE_ARANGE64_SLOTS 10 /* 240 bytes */ +#define MAPLE_ARANGE64_SLOTS 10 /* 248 bytes */ #define MAPLE_ALLOC_SLOTS (MAPLE_NODE_SLOTS - 1) #else /* 32bit sizes */ #define MAPLE_NODE_SLOTS 63 /* 256 bytes including ->parent */ #define MAPLE_RANGE64_SLOTS 32 /* 256 bytes */ -#define MAPLE_ARANGE64_SLOTS 21 /* 240 bytes */ +#define MAPLE_ARANGE64_SLOTS 21 /* 256 bytes */ #define MAPLE_ALLOC_SLOTS (MAPLE_NODE_SLOTS - 2) #endif /* defined(CONFIG_64BIT) || defined(BUILD_VDSO32_64) */
The comment here describe the size of struct maple_arange_64. The value here is not correct. Fix it with the correct value. Signed-off-by: Wei Yang <richard.weiyang@gmail.com> CC: "Liam R. Howlett" <Liam.Howlett@oracle.com> --- For 64BIT, value is get from kernel module. For 32BIT, value is get from user space pseudo code. --- include/linux/maple_tree.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)