This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Simplifying examples by improving vfs tapset


William Cohen <wcohen@redhat.com> writes:

> Jeff Moyer wrote:
>
>> What about readv and writev?  I had modified my local copy of
>> disktop.stp to take these into account (hooking into do_readv_writev).
>> I will post those updates if you like, once I figure out why I ran into
>> a problem with the array assignments.  (I had to read from the io_stat
>> array before writing to it, otherwise the written values didn't show
>> up.)
>
> I didn't modify the vfs.readv and vfs.writev in the patch. However, it
> looks like the same dev and ino variables could be made available for
> vfs_writev and vfs_readv.
>
>> One other improvement that could be made to the script is AIO support.
>
> There is an example that examines rescheduling during AIO operations:
>
> http://sources.redhat.com/git/gitweb.cgi?p=systemtap.git;a=blob;f=testsuite/systemtap.examples/io/io_submit.stp;
>
> What additional support do you see needed for AIO?

Perhaps my message was off-topic, as you were focusing on the tapset and
I was focusing on the disktop.stp script.  Sorry if this caused
confusion.  Anyway, below are answers to your questions.

The disktop.stp script looks at the I/O sizes completed on behalf of a
process in order to get a good idea of which processes are issuing the
lion's share of I/O on the system.  I think the easiest way to cover the
AIO case is to instrument fs/aio.c:read_events, since it will be called
in the context of the process issuing the I/O (though not necessarily
the same thread).

This is very different from io_submit.stp, which tries to determine the
most frequent causes of scheduling inside of io_submit (a call that
processes expect to complete relatively quickly).

Cheers,

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]