[OpenAFS] OpenAFS on Linux 2.5.x

jon+openafs@silicide.dk jon+openafs@silicide.dk
Thu, 17 Apr 2003 18:24:01 +0200


On Thu, Apr 17, 2003 at 12:04:33PM -0400, chas williams wrote:
> In message <20030417154324.GC4441@gw.silicide.dk>,jon+openafs@silicide.dk write
> s:
> >> that being said, i think it would be enough to produce a mapping between
> >> PAGs and the process group leader's pid, uid, and start_time.  start_time
> >> wouldnt be necessary if you could track when a process group ended but
> >> alas that is not possible.
> >
> >why is that not possible. Add some code in the process handling
> >area, that updates our data. This should be triggered when a
> >process dies. You have to clean up the memory it has used anyway.
> 
> oh they would probably be loathe to add something like this although it
> does exist in the 2.5 tree (see the profiling code).  however, with the
> above information, you could have a little timer that ran once in a while
> and clean expired PAGs and pgrp's that no longer exist (pgrp's whose
> pid/uid/start_time have changed).  thinking about it, every process is
> probably uniquely identified by pid and start_time (which is jiffies based).
> anyway, this idea would work w/o changes to the current kernel sources.

The process clean up could be coupled to a ifdef, so that it
would only be compiled if the config included openafs support.
And even then, it would only need to be executed if openafs
was active. I dont think that adding a little function call
that cleans up our data is that ugly. And i think it would use
less cpu time than running something with a timer.

pid's are reused. We cant use time since 1/1 1970 00:00:00,
because this time can be adjusted. Maybe the uptime could
be used? but there has been trouble with uptime being reset,
but maybe that part is fixed? Or there is some other data
which is always incremented and never wraps arround ?



JonB