vmap no longer needs rcu_freed

上级 7b2ffeaf
...@@ -63,7 +63,7 @@ struct vma ...@@ -63,7 +63,7 @@ struct vma
// An address space: a set of vmas plus h/w page table. // An address space: a set of vmas plus h/w page table.
// The elements of e[] are not ordered by address. // The elements of e[] are not ordered by address.
struct vmap : public rcu_freed { struct vmap {
#if VM_CRANGE #if VM_CRANGE
struct crange cr; struct crange cr;
#endif #endif
...@@ -92,7 +92,6 @@ struct vmap : public rcu_freed { ...@@ -92,7 +92,6 @@ struct vmap : public rcu_freed {
int copyout(uptr va, void *p, u64 len); int copyout(uptr va, void *p, u64 len);
int sbrk(ssize_t n, uptr *addr); int sbrk(ssize_t n, uptr *addr);
virtual void do_gc(void) { delete this; }
uptr brk_; // Top of heap uptr brk_; // Top of heap
private: private:
......
...@@ -146,7 +146,6 @@ vmap::alloc(void) ...@@ -146,7 +146,6 @@ vmap::alloc(void)
} }
vmap::vmap() : vmap::vmap() :
rcu_freed("vm"),
#if VM_CRANGE #if VM_CRANGE
cr(10), cr(10),
#endif #endif
...@@ -194,7 +193,7 @@ void ...@@ -194,7 +193,7 @@ void
vmap::decref() vmap::decref()
{ {
if (--ref == 0) if (--ref == 0)
gc_delayed(this); delete this;
} }
void void
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论