FreeBSD 5.3b7and poor ata performance

fandino fandino at ng.fadesa.es
Mon Oct 25 02:10:20 PDT 2004


Hello,

Robert Watson wrote:
> FYI, for those interested in looking some more at the storage performance
> issue.  I recently (yesterday) committed some additional KTR trace points
> related to GEOM processing of bio's in the g_up and g_down threads.  Using
> these KTR points, you can measure how long it took to get from the system
> call to the delivery to the driver, and then driver back to the reader, as
> well as the processing that takes place along the way (using the UMA KTR
> traces I added a month or so ago).  Times are in cycles, so have to be
> converted to something more human-friendly, and KTR adds a non-trivial
> amount of overhead, so that should be taken into account also.  The GEOM
> tracing identifies the bio address, offset, size, and the name of the
> target device/layer as it is processed.  More information on hooking up to
> trace with KTR can be found in the KTR man pages, or here:
> 
>     http://www.watson.org/~robert/freebsd/netperf/ktr/
> 
> The information there is focussed on network locking and tracing, but if
> you add KTR_GEOM and remove some of the other flags from KTR_COMPILE, it
> should reasonably apply.
> 
> I'm in the throes of instrumenting busdma for KTR in Perforce so that we
> can trace bounce buffering and other potential sources of performance
> problems, and assuming I find time this weekend, will also instrument the
> ATA driver to identify when I/O is sent, acknowledged, etc.

Robert, I'm trying to understand where GEOM fits in the FreeBSD I/O structure
and I only had found the original McKusick figure:

http://www.vinumvm.org/vinum/implementation.html

could you give a brief description about I/O structure after GEOM?


Thank you.


More information about the freebsd-current mailing list