svn commit: r228111 - user/attilio/vmcontention/sys/vm
Attilio Rao
attilio at FreeBSD.org
Tue Nov 29 02:07:07 UTC 2011
Author: attilio
Date: Tue Nov 29 02:07:07 2011
New Revision: 228111
URL: http://svn.freebsd.org/changeset/base/228111
Log:
- Remove unnecessary checks on rnode in KTR prints
- Track rn_count in KTR prints
- Improve KTR in a way it best fits rn_count tracking
Modified:
user/attilio/vmcontention/sys/vm/vm_radix.c
Modified: user/attilio/vmcontention/sys/vm/vm_radix.c
==============================================================================
--- user/attilio/vmcontention/sys/vm/vm_radix.c Mon Nov 28 23:36:48 2011 (r228110)
+++ user/attilio/vmcontention/sys/vm/vm_radix.c Tue Nov 29 02:07:07 2011 (r228111)
@@ -316,33 +316,37 @@ vm_radix_insert(struct vm_radix *rtree,
if (rnode->rn_child[slot] == NULL) {
rnode->rn_child[slot] = vm_radix_node_get();
if (rnode->rn_child[slot] == NULL) {
- CTR6(KTR_VM,
-"insert: tree %p, index %jd, level %d, slot %d, rnode %p, child %p ENOMEM",
- rtree, index, level, slot, rnode,
- (rnode != NULL) ? rnode->rn_child[slot] :
- NULL);
+ CTR5(KTR_VM,
+ "insert: tree %p, index %jd, level %d, slot %d, rnode %p ENOMEM",
+ rtree, index, level, slot, rnode);
+ CTR4(KTR_VM,
+ "insert: tree %p, rnode %p, child %p, count %u ENOMEM",
+ rtree, rnode, rnode->rn_child[slot],
+ rnode->rn_count);
return (ENOMEM);
}
rnode->rn_count++;
}
- CTR6(KTR_VM,
- "insert: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
- rtree, (void *)index, level, slot, rnode,
- (rnode != NULL) ? rnode->rn_child[slot] : NULL);
+ CTR5(KTR_VM,
+ "insert: tree %p, index %p, level %d, slot %d, rnode %p",
+ rtree, (void *)index, level, slot, rnode);
+ CTR4(KTR_VM,
+ "insert: tree %p, rnode %p, child %p, count %u",
+ rtree, rnode, rnode->rn_child[slot], rnode->rn_count);
rnode = rnode->rn_child[slot];
}
slot = vm_radix_slot(index, 0);
- CTR6(KTR_VM,
- "insert: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
- rtree, (void *)index, level, slot, rnode,
- (rnode != NULL) ? rnode->rn_child[slot] : NULL);
+ MPASS(rnode != NULL);
KASSERT(rnode->rn_child[slot] == NULL,
("vm_radix_insert: Duplicate value %p at index: %lu\n",
rnode->rn_child[slot], (u_long)index));
val = (void *)((uintptr_t)val | VM_RADIX_BLACK);
rnode->rn_child[slot] = val;
atomic_add_int((volatile int *)&rnode->rn_count, 1);
+ CTR6(KTR_VM,
+ "insert: tree %p, index %p, level %d, slot %d, rnode %p, count %u",
+ rtree, (void *)index, level, slot, rnode, rnode->rn_count);
return 0;
}
@@ -367,7 +371,7 @@ vm_radix_lookup(struct vm_radix *rtree,
CTR6(KTR_VM,
"lookup: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
rtree, (void *)index, level, slot, rnode,
- (rnode != NULL) ? rnode->rn_child[slot] : NULL);
+ rnode->rn_child[slot]);
if (level == 0)
return vm_radix_match(rnode->rn_child[slot], color);
rnode = rnode->rn_child[slot];
@@ -395,7 +399,7 @@ vm_radix_color(struct vm_radix *rtree, v
CTR6(KTR_VM,
"color: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
rtree, (void *)index, level, slot, rnode,
- (rnode != NULL) ? rnode->rn_child[slot] : NULL);
+ rnode->rn_child[slot]);
if (level == 0)
break;
rnode = rnode->rn_child[slot];
@@ -579,7 +583,7 @@ restart:
CTR6(KTR_VM,
"lookup_le: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
rtree, (void *)index, level, slot, rnode,
- (rnode != NULL) ? rnode->rn_child[slot] : NULL);
+ rnode->rn_child[slot]);
if (level == 0)
break;
/*
@@ -648,10 +652,11 @@ vm_radix_remove(struct vm_radix *rtree,
while (level && rnode) {
stack[level] = rnode;
slot = vm_radix_slot(index, level);
- CTR6(KTR_VM,
- "remove: tree %p, index %p, level %d, slot %d, rnode %p, child %p",
- rtree, (void *)index, level, slot, rnode,
- (rnode != NULL) ? rnode->rn_child[slot] : NULL);
+ CTR5(KTR_VM,
+ "remove: tree %p, index %p, level %d, slot %d, rnode %p",
+ rtree, (void *)index, level, slot, rnode);
+ CTR4(KTR_VM, "remove: tree %p, rnode %p, child %p, count %u",
+ rtree, rnode, rnode->rn_child[slot], rnode->rn_count);
rnode = rnode->rn_child[slot];
level--;
}
@@ -663,12 +668,14 @@ vm_radix_remove(struct vm_radix *rtree,
("vm_radix_remove: index %jd not present in the tree.\n", index));
for (;;) {
- CTR6(KTR_VM,
-"remove: resetting tree %p, index %p, level %d, slot %d, rnode %p, child %p",
- rtree, (void *)index, level, slot, rnode,
- (rnode != NULL) ? rnode->rn_child[slot] : NULL);
- CTR3(KTR_VM, "remove: rnode %p, count %d, color %d",
- rnode, (rnode != NULL) ? rnode->rn_count : -1, color);
+ CTR5(KTR_VM,
+ "remove: resetting tree %p, index %p, level %d, slot %d, rnode %p",
+ rtree, (void *)index, level, slot, rnode);
+ CTR4(KTR_VM,
+ "remove: resetting tree %p, rnode %p, child %p, count %u",
+ rtree, rnode,
+ (rnode != NULL) ? rnode->rn_child[slot] : NULL,
+ (rnode != NULL) ? rnode->rn_count : 0);
rnode->rn_child[slot] = NULL;
/*
* Use atomics for the last level since red and black
More information about the svn-src-user
mailing list