[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.