Remove avl_size field from struct avl_tree

This field is used only by illumos mdb.  On other platforms it only
increases the struct size from 32 to 40 bytes.  For struct vdev_queue
including 13 instances of avl_tree_t size means active cache lines.

Keep the padding in user-space for now to not break the ABI.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored-By: iXsystems, Inc.
Closes #12290
This commit is contained in:
Alexander Motin
2021-07-01 11:32:31 -04:00
committed by GitHub
parent 490c845efe
commit b192a2c0a1
2 changed files with 3 additions and 3 deletions
+3 -1
View File
@@ -147,7 +147,9 @@ struct avl_tree {
int (*avl_compar)(const void *, const void *);
size_t avl_offset; /* offsetof(type, avl_link_t field) */
ulong_t avl_numnodes; /* number of nodes in the tree */
size_t avl_size; /* sizeof user type struct */
#ifndef _KERNEL
size_t avl_pad; /* For backwards ABI compatibility. */
#endif
};