On 9 Jun 2011, at 16:06, Andrew Deason wrote:
> If you wanted to add recording of timing data, the best place is
> probably in afs_read, afs_write, afs_open, etc functions in the
> src/afs/VNOPS/, just recording the time spent in each of those
> functions.

The Linux cache manager's VFS interface (in src/afsLINUX/osi_vnodeops.c) is 
increasingly disjoint from the Sun 4 VFS interface represented in the VFS 
directory. We now have our own read codepath, there is significantly different 
code for directory filling, and write diverges due to our page cache usage. 
It's doubtful that you'll be able to get meaningful performance figures by 
instrumenting the VNOPS directory on Linux.

> If you really want to
> capture the time for the _entire_ op, that's better done at the layer of
> the OS anyway, or even the userspace application (i.e. measuring the
> amount of time in each syscall).

Indeed. Linux offloads a lot of work into the memory management and generic 
filesystem layers that you're not going to be able to get meaningful results by 
just instrumenting the bits of a particular filesystem. You really want to be 
looking at the syscall level.

Cheers,

Simon.

_______________________________________________
OpenAFS-info mailing list
OpenAFS-info@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-info

Reply via email to