[OpenAFS] afs.GCPAGs in current releases under Linux (RHEL4/5)

Simon Wilkinson sxw@inf.ed.ac.uk
Fri, 5 Mar 2010 19:01:07 +0000


> High number of calls to afs_ComputePAGStats, resulting in system  
> time being consumed unreasonably, due to it and corresponding  
> text.lock.spinlock system calls.
>
>> I can't see a call to afs_ComputePAGStats in afs_user.c - are you  
>> just
>> commenting out the body of the function, or is there a call site that
>> I am missing?
>
> Sorry, cut-n-paste error. I meant the call to afs_ComputePAGStats in  
> src/afs/afs_pioctl.c

Okay, so you should be seeing one of these calls per PAG that you  
create. That should be true for any mode of operation. My suspicion is  
that things are running slowly for you because things aren't being  
correctly garbage collected, and the afs_user tables (which store all  
of the currently active PAGs) are becoming bloated and taking an age  
to traverse. That routine has some pretty horrific performance  
properties as the length of the hash chains grow.

Could you run

src/xstat/xstat_cm_test localhost 2 -onceonly

and take a look at what the Authentication info section says over the  
course of your test run. I suspect we'll see the number of PAGs  
growing without bound (I assume that the processes which allocate a  
PAG are exiting, rather than persisting for ever)

Thanks,

Simon.