Micro-optimize the order of struct vm_radix_node's fields. Specifically,

arrange for all of the fields to start at a short offset from the
beginning of the structure.

Eliminate unnecessary masking of VM_RADIX_FLAGS from the root pointer in
vm_radix_getroot().

Sponsored by:	EMC / Isilon Storage Division
This commit is contained in:
Alan Cox 2013-04-07 01:30:51 +00:00
parent 87887877ec
commit 2c899fede2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=249221

View File

@ -94,10 +94,10 @@ __FBSDID("$FreeBSD$");
((vm_pindex_t)1 << ((VM_RADIX_LIMIT - (lev)) * VM_RADIX_WIDTH))
struct vm_radix_node {
void *rn_child[VM_RADIX_COUNT]; /* Child nodes. */
vm_pindex_t rn_owner; /* Owner of record. */
uint16_t rn_count; /* Valid children. */
uint16_t rn_clev; /* Current level. */
void *rn_child[VM_RADIX_COUNT]; /* Child nodes. */
};
static uma_zone_t vm_radix_node_zone;
@ -175,7 +175,7 @@ static __inline struct vm_radix_node *
vm_radix_getroot(struct vm_radix *rtree)
{
return ((struct vm_radix_node *)(rtree->rt_root & ~VM_RADIX_FLAGS));
return ((struct vm_radix_node *)rtree->rt_root);
}
/*