提交 b87607db 创建 作者: Nickolai Zeldovich's avatar Nickolai Zeldovich

kmfree: unlabel before putting on free list

上级 90465e87
...@@ -121,6 +121,8 @@ kmfree(void *ap, u64 nbytes) ...@@ -121,6 +121,8 @@ kmfree(void *ap, u64 nbytes)
if (ALLOC_MEMSET) if (ALLOC_MEMSET)
memset(ap, 3, (1<<b)); memset(ap, 3, (1<<b));
mtunlabel(mtrace_label_heap, ap);
int c = mycpu()->id; int c = mycpu()->id;
for (;;) { for (;;) {
auto headptr = freelists[c].buckets[b].load(); auto headptr = freelists[c].buckets[b].load();
...@@ -128,8 +130,6 @@ kmfree(void *ap, u64 nbytes) ...@@ -128,8 +130,6 @@ kmfree(void *ap, u64 nbytes)
if (freelists[c].buckets[b].compare_exchange(headptr, h)) if (freelists[c].buckets[b].compare_exchange(headptr, h))
break; break;
} }
mtunlabel(mtrace_label_heap, ap);
} }
int int
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论