From 259508b31ab4b2d7151d38dfaf6262d87977f807 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sat, 7 Nov 1998 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1998-11-07 --- port/segment.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/port/segment.c b/port/segment.c index fd3d1b4ed53bb14d47d7309b678cf4741db7a992..a6a65178290177b0eddce50019d5b7f67c48c168 100644 --- a/port/segment.c +++ b/port/segment.c @@ -296,16 +296,26 @@ found: return i; } +static struct { + int calls; /* times imagereclaim was called */ + int loops; /* times the main loop was run */ + uvlong ticks; /* total time in the main loop */ + uvlong maxt; /* longest time in main loop */ +} irstats; + static void imagereclaim(void) { Page *p; + uvlong ticks; + irstats.calls++; /* Somebody is already cleaning the page cache */ if(!canqlock(&imagealloc.ireclaim)) return; lock(&palloc); + ticks = fastticks(nil); for(p = palloc.head; p; p = p->next) { if(p->ref == 0 && p->image && canlock(p)) { if(p->ref == 0) @@ -313,7 +323,13 @@ imagereclaim(void) unlock(p); } } + ticks = fastticks(nil) - ticks; unlock(&palloc); + irstats.loops++; + irstats.ticks += ticks; + if(ticks > irstats.maxt) + irstats.maxt = ticks; + //print("T%llud+", ticks); qunlock(&imagealloc.ireclaim); }