Great- thanks for sorting that out! I will also do some testing against the current CVS tree to make sure everything looks ok on my end.

In the mean time, I have one more patch (attached). This fixes a memory leak in the patches that I submitted earlier. It only shows up when the acache is disabled.

-Phil

Sam Lang wrote:

I've committed these perf counter and acache changes with only a few mods to work with the small I/O and changes and bring it up to date with trunk (we use llu() instead of Lu() now, for example). I've attached the diff of the entire changes I've committed.

-sam


On Dec 13, 2005, at 2:29 PM, Phil Carns wrote:


perf-counter-client.patch:
--------------------------------------
This patch adds performance counter support to pvfs2-client:
- new state machines to periodically rollover the values
- instrumentation of the acache
- command line (to pvfs2-client) as well as /proc/sys/pvfs2 hooks to modify performance counter parameters (history size, time interval, etc)
- ability to display performance counter contents in proc


I left something out of this description. It also moves all of the proc stuff (existing and new) over to a seperate file in the kernel source, pvfs2-proc.c, since they are starting to take up more real estate.

-Phil
_______________________________________________
PVFS2-developers mailing list
PVFS2-developers@beowulf-underground.org
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers



---------------------
PatchSet 343 
Date: 2005/12/16 16:47:12
Author: pcarns
Branch: HEAD
Tag: (none) 
Log:
fixed a memory leak when acache is disabled
[artf22808]

Members: 
	src/client/sysint/acache.c:1.12->1.13 
	src/common/misc/tcache.c:1.23->1.24 

Index: src/client/sysint/acache.c
diff -u src/client/sysint/acache.c:1.12 src/client/sysint/acache.c:1.13
--- src/client/sysint/acache.c:1.12	Tue Dec  6 13:46:30 2005
+++ src/client/sysint/acache.c	Fri Dec 16 09:47:12 2005
@@ -369,7 +369,15 @@
     struct acache_payload* tmp_payload;
     int status;
     int removed;
+    unsigned int enabled;
     
+    /* skip out immediately if the cache is disabled */
+    PINT_tcache_get_info(acache, TCACHE_ENABLE, &enabled);
+    if(!enabled)
+    {
+        return(0);
+    }
+
     gossip_debug(GOSSIP_ACACHE_DEBUG, "acache: update(): H=%llu\n",
         llu(refn.handle));
 
Index: src/common/misc/tcache.c
diff -u src/common/misc/tcache.c:1.23 src/common/misc/tcache.c:1.24
--- src/common/misc/tcache.c:1.23	Fri Nov 18 09:15:34 2005
+++ src/common/misc/tcache.c	Fri Dec 16 09:47:12 2005
@@ -265,7 +265,8 @@
 
     if(tcache->enable == 0)
     {
-        /* cache has been disabled, do nothing */
+        /* cache has been disabled, do nothing except discard payload */
+        tcache->free_payload(payload);
         return(0);
     }
 
_______________________________________________
PVFS2-developers mailing list
PVFS2-developers@beowulf-underground.org
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to