summaryrefslogtreecommitdiff
path: root/sysdep/unix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdep/unix')
-rw-r--r--sysdep/unix/io-loop.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sysdep/unix/io-loop.c b/sysdep/unix/io-loop.c
index a9927b39..0611e096 100644
--- a/sysdep/unix/io-loop.c
+++ b/sysdep/unix/io-loop.c
@@ -364,11 +364,22 @@ birdloop_dump(resource *r)
debug("%s\n", loop->pool->name);
}
+struct resmem birdloop_memsize(resource *r)
+{
+ struct birdloop *loop = (void *) r;
+
+ return (struct resmem) {
+ .effective = sizeof(struct birdloop) - sizeof(resource) - ALLOC_OVERHEAD,
+ .overhead = ALLOC_OVERHEAD + sizeof(resource) + page_size * list_length(&loop->pages.list),
+ };
+}
+
struct resclass birdloop_class = {
.name = "IO Loop",
.size = sizeof(struct birdloop),
.free = birdloop_free,
.dump = birdloop_dump,
+ .memsize = birdloop_memsize,
};
struct birdloop *