From novel@FreeBSD.org  Wed May 25 12:41:41 2011
Return-Path: <novel@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id CAD1C106566C
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 25 May 2011 12:41:41 +0000 (UTC)
	(envelope-from novel@FreeBSD.org)
Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28])
	by mx1.freebsd.org (Postfix) with ESMTP id BA4A08FC08
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 25 May 2011 12:41:41 +0000 (UTC)
Received: from freefall.freebsd.org (localhost [127.0.0.1])
	by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p4PCfft9053779
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 25 May 2011 12:41:41 GMT
	(envelope-from novel@freefall.freebsd.org)
Received: (from novel@localhost)
	by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p4PCffiO053778;
	Wed, 25 May 2011 12:41:41 GMT
	(envelope-from novel)
Message-Id: <201105251241.p4PCffiO053778@freefall.freebsd.org>
Date: Wed, 25 May 2011 12:41:41 GMT
From: Roman Bogorodskiy <novel@freebsd.org>
Reply-To: Roman Bogorodskiy <novel@freebsd.org>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: [patch] update devstat(9) man page
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         157316
>Category:       docs
>Synopsis:       [patch] update devstat(9) man page
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 25 12:50:09 UTC 2011
>Closed-Date:    
>Last-Modified:  Sun Sep 02 03:09:07 UTC 2012
>Originator:     Roman Bogorodskiy
>Release:        FreeBSD 8.2-STABLE i386
>Organization:
>Environment:
System: FreeBSD freefall.freebsd.org 8.2-STABLE FreeBSD 8.2-STABLE #4 r220774: Mon Apr 18 13:56:14 UTC 2011 simon@freefall.freebsd.org:/usr/obj/usr/src/sys/FREEFALL i386


>Description:
	devstat(9) manual page is out of date: it mentions devstat_add_entry()
        which was deprecated long around (in 5.x times IIRC) and now it's not
        even defined in sys/devicestat.h.

	I made some changes to devstat(9) manual page:

         * replaced devstat_add_entry with devstat_new_entry
         * fixed other function prototypes
         * added documentation for devstat_start_transaction_bio()
         * synced MLINKS with currently available functions
         * Removed some fields from 'struct devstat' description

        Note: 'struct devstat' description in manual page now
        misses a number of fields defined in the original struct. I don't
        have enough devstat(9) subsystem knowledge to provide a
        meaningful description for those fields.
>How-To-Repeat:
>Fix:

--- devstat_9.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/share/man/man9/Makefile,v
retrieving revision 1.390
diff -u -r1.390 Makefile
--- Makefile	5 May 2011 14:13:08 -0000	1.390
+++ Makefile	25 May 2011 11:14:36 -0000
@@ -592,10 +592,12 @@
 	device_set_desc.9 device_set_desc_copy.9
 MLINKS+=device_set_flags.9 device_get_flags.9
 MLINKS+=devstat.9 devicestat.9 \
-	devstat.9 devstat_add_entry.9 \
+	devstat.9 devstat_new_entry.9 \
 	devstat.9 devstat_end_transaction.9 \
+	devstat.9 devstat_end_transaction_bio.9 \
 	devstat.9 devstat_remove_entry.9 \
-	devstat.9 devstat_start_transaction.9
+	devstat.9 devstat_start_transaction.9 \
+	devstat.9 devstat_start_transaction_bio.9
 MLINKS+=disk.9 disk_alloc.9 \
 	disk.9 disk_create.9 \
 	disk.9 disk_destroy.9 \
Index: devstat.9
===================================================================
RCS file: /home/ncvs/src/share/man/man9/devstat.9,v
retrieving revision 1.23
diff -u -r1.23 devstat.9
--- devstat.9	28 Aug 2010 16:32:01 -0000	1.23
+++ devstat.9	25 May 2011 11:14:36 -0000
@@ -40,10 +40,9 @@
 .Nd kernel interface for keeping device statistics
 .Sh SYNOPSIS
 .In sys/devicestat.h
-.Ft void
-.Fo devstat_add_entry
-.Fa "struct devstat *ds"
-.Fa "const char *dev_name"
+.Ft struct devstat *
+.Fo devstat_new_entry
+.Fa "const void *dev_name"
 .Fa "int unit_number"
 .Fa "u_int32_t block_size"
 .Fa "devstat_support_flags flags"
@@ -53,13 +52,23 @@
 .Ft void
 .Fn devstat_remove_entry "struct devstat *ds"
 .Ft void
-.Fn devstat_start_transaction "struct devstat *ds"
+.Fo devstat_start_transaction
+.Fa "struct devstat *ds"
+.Fa "struct bintime *now"
+.Fc
+.Ft void
+.Fo devstat_start_transaction_bio
+.Fa "struct devstat *ds"
+.Fa "struct bio *bp"
+.Fc
 .Ft void
 .Fo devstat_end_transaction
 .Fa "struct devstat *ds"
 .Fa "u_int32_t bytes"
 .Fa "devstat_tag_type tag_type"
 .Fa "devstat_trans_flags flags"
+.Fa "struct bintime *now"
+.Fa "struct bintime *then"
 .Fc
 .Ft void
 .Fo devstat_end_transaction_bio
@@ -77,19 +86,13 @@
 code.
 Instead, that is left for user programs to handle.
 .Pp
-.Fn devstat_add_entry
-registers a device with the
-.Nm
-subsystem.
-The caller is expected to have already allocated \fBand zeroed\fR
-the devstat structure before calling this function.
-.Fn devstat_add_entry
+.Fn devstat_new_entry
+allocates and initializes
+.Va devstat
+structure and returns a pointer to it.
+.Fn devstat_new_entry
 takes several arguments:
 .Bl -tag -width device_type
-.It ds
-The
-.Va devstat
-structure, allocated and zeroed by the client.
 .It dev_name
 The device name, e.g.\& da, cd, sa.
 .It unit_number
@@ -147,7 +150,7 @@
 registers the end of a transaction with the
 .Nm
 subsystem.
-It takes four arguments:
+It takes six arguments:
 .Bl -tag -width tag_type
 .It ds
 The
@@ -161,12 +164,20 @@
 .It flags
 Transaction flags indicating whether the transaction was a read, write, or
 whether no data was transferred.
+.It now
+Time when transaction started.
+.It then
+Time when transation ended.
 .El
 .Pp
+.Fn devstat_start_transaction_bio
+and
 .Fn devstat_end_transaction_bio
-is a wrapper for
+are wrappers for
+.Fn devstart_start_transaction
+and 
 .Fn devstat_end_transaction
-which pulls all the information from a
+respectively, which pull all the information from a
 .Va "struct bio"
 which is ready for biodone().
 .Pp
@@ -207,62 +218,20 @@
 This will hopefully
 eliminate the counter wrap that would come very quickly on some systems if
 32 bit integers were used.
-.It bytes_read
-This is the number of bytes that have been read from the device.
-.It bytes_freed
-This is the number of bytes that have been freed/erased on the device.
-.It num_reads
-This is the number of reads from the device.
-.It num_writes
-This is the number of writes to the device.
-.It num_frees
-This is the number of free/erase operations on the device.
-.It num_other
-This is the number of transactions to the device which are neither reads or
-writes.
-For instance,
-.Tn SCSI
-drivers often send a test unit ready command to
-.Tn SCSI
-devices.
-The test unit ready command does not read or write any data.
-It merely causes the device to return its status.
-.It busy_count
-This is the current number of outstanding transactions for the device.
-This should never go below zero, and on an idle device it should be zero.
-If either one of these conditions is not true, it indicates a problem in
-the way
-.Fn devstat_start_transaction
-and
-.Fn devstat_end_transaction
-are being called in client code.
-There should be one and only one
-transaction start event and one transaction end event for each transaction.
 .It block_size
 This is the block size of the device, if the device has a block size.
 .It tag_types
 This is an array of counters to record the number of various tag types that
 are sent to a device.
 See below for a list of tag types.
-.It dev_creation_time
+.It creation_time
 This is the time, as reported by
 .Fn getmicrotime
-that the device was registered.
+that the device was created.
 .It busy_time
 This is the amount of time that the device busy count has been greater than
 zero.
 This is only updated when the busy count returns to zero.
-.It start_time
-This is the time, as reported by
-.Fn getmicrouptime
-that the device busy count went from zero to one.
-.It last_comp_time
-This is the time as reported by
-.Fn getmicrouptime
-that a transaction last completed.
-It is used along with
-.Va start_time
-to calculate the device busy time.
 .It flags
 These flags indicate which statistics measurements are supported by a
 particular device.
@@ -284,6 +253,8 @@
 The second parameter is attach order.
 See below for a list of
 available priorities.
+.It id
+Identification for GEOM nodes.
 .El
 .Pp
 Each device is given a device type.
--- devstat_9.diff ends here ---


>Release-Note:
>Audit-Trail:

From: Sergey Kandaurov <pluknet@gmail.com>
To: bug-followup@FreeBSD.org, novel@freebsd.org
Cc:  
Subject: Re: docs/157316: [patch] update devstat(9) man page
Date: Wed, 25 May 2011 17:04:15 +0400

 --0016e64988f67bdb7a04a419575f
 Content-Type: text/plain; charset=ISO-8859-1
 
 Hi, it so happened that I have pending changes to devstat(9) too :)
 waiting for someone's review (attached). Let it be there as well.
 
 -- 
 wbr,
 pluknet
 
 --0016e64988f67bdb7a04a419575f
 Content-Type: text/x-patch; charset=US-ASCII; name="devstat.9.diff"
 Content-Disposition: attachment; filename="devstat.9.diff"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_go4a7svh0
 
 SW5kZXg6IGRldnN0YXQuOQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBkZXZzdGF0LjkJKHJldmlzaW9uIDIyMjAz
 MikKKysrIGRldnN0YXQuOQkod29ya2luZyBjb3B5KQpAQCAtMjcsMjMgKzI3LDIzIEBACiAuXCIK
 IC5cIiAkRnJlZUJTRCQKIC5cIgotLkRkIE1heSAyMiwgMTk5OAorLkRkIE1heSAyMiwgMjAxMQog
 LkR0IERFVlNUQVQgOQogLk9zCiAuU2ggTkFNRQogLk5tIGRldnN0YXQgLAotLk5tIGRldnN0YXRf
 YWRkX2VudHJ5ICwKIC5ObSBkZXZzdGF0X2VuZF90cmFuc2FjdGlvbiAsCiAuTm0gZGV2c3RhdF9l
 bmRfdHJhbnNhY3Rpb25fYmlvICwKKy5ObSBkZXZzdGF0X25ld19lbnRyeSAsCiAuTm0gZGV2c3Rh
 dF9yZW1vdmVfZW50cnkgLAotLk5tIGRldnN0YXRfc3RhcnRfdHJhbnNhY3Rpb24KKy5ObSBkZXZz
 dGF0X3N0YXJ0X3RyYW5zYWN0aW9uICwKKy5ObSBkZXZzdGF0X3N0YXJ0X3RyYW5zYWN0aW9uX2Jp
 bwogLk5kIGtlcm5lbCBpbnRlcmZhY2UgZm9yIGtlZXBpbmcgZGV2aWNlIHN0YXRpc3RpY3MKIC5T
 aCBTWU5PUFNJUwogLkluIHN5cy9kZXZpY2VzdGF0LmgKLS5GdCB2b2lkCi0uRm8gZGV2c3RhdF9h
 ZGRfZW50cnkKLS5GYSAic3RydWN0IGRldnN0YXQgKmRzIgotLkZhICJjb25zdCBjaGFyICpkZXZf
 bmFtZSIKKy5GdCAic3RydWN0IGRldnN0YXQgKiIKKy5GbyBkZXZzdGF0X25ld19lbnRyeQorLkZh
 ICJjb25zdCB2b2lkICpkZXZfbmFtZSIKIC5GYSAiaW50IHVuaXRfbnVtYmVyIgogLkZhICJ1X2lu
 dDMyX3QgYmxvY2tfc2l6ZSIKIC5GYSAiZGV2c3RhdF9zdXBwb3J0X2ZsYWdzIGZsYWdzIgpAQCAt
 NTMsMTMgKzUzLDE3IEBACiAuRnQgdm9pZAogLkZuIGRldnN0YXRfcmVtb3ZlX2VudHJ5ICJzdHJ1
 Y3QgZGV2c3RhdCAqZHMiCiAuRnQgdm9pZAotLkZuIGRldnN0YXRfc3RhcnRfdHJhbnNhY3Rpb24g
 InN0cnVjdCBkZXZzdGF0ICpkcyIKKy5GbiBkZXZzdGF0X3N0YXJ0X3RyYW5zYWN0aW9uICJzdHJ1
 Y3QgZGV2c3RhdCAqZHMiICJzdHJ1Y3QgYmludGltZSAqbm93IgogLkZ0IHZvaWQKKy5GbiBkZXZz
 dGF0X3N0YXJ0X3RyYW5zYWN0aW9uX2JpbyAic3RydWN0IGRldnN0YXQgKmRzIiAic3RydWN0IGJp
 byAqYnAiCisuRnQgdm9pZAogLkZvIGRldnN0YXRfZW5kX3RyYW5zYWN0aW9uCiAuRmEgInN0cnVj
 dCBkZXZzdGF0ICpkcyIKIC5GYSAidV9pbnQzMl90IGJ5dGVzIgogLkZhICJkZXZzdGF0X3RhZ190
 eXBlIHRhZ190eXBlIgogLkZhICJkZXZzdGF0X3RyYW5zX2ZsYWdzIGZsYWdzIgorLkZhICJzdHJ1
 Y3QgYmludGltZSAqbm93IgorLkZhICJzdHJ1Y3QgYmludGltZSAqdGhlbiIKIC5GYwogLkZ0IHZv
 aWQKIC5GbyBkZXZzdGF0X2VuZF90cmFuc2FjdGlvbl9iaW8KQEAgLTc3LDE5ICs4MSwxNCBAQAog
 Y29kZS4KIEluc3RlYWQsIHRoYXQgaXMgbGVmdCBmb3IgdXNlciBwcm9ncmFtcyB0byBoYW5kbGUu
 CiAuUHAKLS5GbiBkZXZzdGF0X2FkZF9lbnRyeQorLkZuIGRldnN0YXRfbmV3X2VudHJ5CiByZWdp
 c3RlcnMgYSBkZXZpY2Ugd2l0aCB0aGUKIC5ObQotc3Vic3lzdGVtLgotVGhlIGNhbGxlciBpcyBl
 eHBlY3RlZCB0byBoYXZlIGFscmVhZHkgYWxsb2NhdGVkIFxmQmFuZCB6ZXJvZWRcZlIKLXRoZSBk
 ZXZzdGF0IHN0cnVjdHVyZSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgotLkZuIGRldnN0
 YXRfYWRkX2VudHJ5Ci10YWtlcyBzZXZlcmFsIGFyZ3VtZW50czoKK3N1YnN5c3RlbSBhbmQgcmV0
 dXJucyBhIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBhbmQgaW5pdGlhbGl6ZWQKKy5WYSBkZXZz
 dGF0CitzdHJ1Y3R1cmUuCitJdCB0YWtlcyBzZXZlcmFsIGFyZ3VtZW50czoKIC5CbCAtdGFnIC13
 aWR0aCBkZXZpY2VfdHlwZQotLkl0IGRzCi1UaGUKLS5WYSBkZXZzdGF0Ci1zdHJ1Y3R1cmUsIGFs
 bG9jYXRlZCBhbmQgemVyb2VkIGJ5IHRoZSBjbGllbnQuCiAuSXQgZGV2X25hbWUKIFRoZSBkZXZp
 Y2UgbmFtZSwgZS5nLlwmIGRhLCBjZCwgc2EuCiAuSXQgdW5pdF9udW1iZXIKQEAgLTEyNyw3ICsx
 MjYsNyBAQAogLk5tCiBzdWJzeXN0ZW0uCiBJdCB0YWtlcyB0aGUgZGV2c3RhdCBzdHJ1Y3R1cmUg
 Zm9yIHRoZSBkZXZpY2UgaW4gcXVlc3Rpb24gYXMKLWFuIGFyZ3VtZW50LgorYW4gYXJndW1lbnQg
 YW5kIGZyZWVzIHVzZWQgbWVtb3J5IGJhY2sgdG8gdGhlIHN5c3RlbS4KIFRoZQogLk5tCiBnZW5l
 cmF0aW9uIG51bWJlciBpcyBpbmNyZW1lbnRlZCBhbmQgdGhlIG51bWJlciBvZiBkZXZpY2VzIGlz
 IGRlY3JlbWVudGVkLgpAQCAtMTM2LDE4ICsxMzUsMjMgQEAKIHJlZ2lzdGVycyB0aGUgc3RhcnQg
 b2YgYSB0cmFuc2FjdGlvbiB3aXRoIHRoZQogLk5tCiBzdWJzeXN0ZW0uCi1UaGUgYnVzeSBjb3Vu
 dCBpcyBpbmNyZW1lbnRlZCB3aXRoIGVhY2ggdHJhbnNhY3Rpb24gc3RhcnQuCitUaGUgc3RhcnQg
 Y291bnQgaXMgaW5jcmVtZW50ZWQgd2l0aCBlYWNoIHRyYW5zYWN0aW9uIHN0YXJ0LgogV2hlbiBh
 IGRldmljZSBnb2VzIGZyb20gaWRsZSB0byBidXN5LCB0aGUgc3lzdGVtIHVwdGltZSBpcyByZWNv
 cmRlZCBpbiB0aGUKLS5WYSBzdGFydF90aW1lCisuVmEgYnVzeV9mcm9tCiBmaWVsZCBvZiB0aGUK
 IC5WYSBkZXZzdGF0CiBzdHJ1Y3R1cmUuCitUaGUgY2FsbGVyIGNhbiBvdmVycmlkZSB0aGUgdGlt
 ZSB2YWx1ZSBieSBzcGVjaWZ5aW5nIGEgbm9uLU5VTEwKK3RpbWVzdGFtcCBhcmd1bWVudAorLlZh
 IG5vdwordG8gdGhlIGZ1bmN0aW9uLgogLlBwCiAuRm4gZGV2c3RhdF9lbmRfdHJhbnNhY3Rpb24K
 IHJlZ2lzdGVycyB0aGUgZW5kIG9mIGEgdHJhbnNhY3Rpb24gd2l0aCB0aGUKIC5ObQogc3Vic3lz
 dGVtLgotSXQgdGFrZXMgZm91ciBhcmd1bWVudHM6CitUaGUgZW5kIGNvdW50IGlzIGluY3JlbWVu
 dGVkIHdpdGggZWFjaCB0cmFuc2FjdGlvbiBlbmQuCitJdCB0YWtlcyBzZXZlcmFsIGFyZ3VtZW50
 czoKIC5CbCAtdGFnIC13aWR0aCB0YWdfdHlwZQogLkl0IGRzCiBUaGUKQEAgLTE2MSwxMiArMTY1
 LDIxIEBACiAuSXQgZmxhZ3MKIFRyYW5zYWN0aW9uIGZsYWdzIGluZGljYXRpbmcgd2hldGhlciB0
 aGUgdHJhbnNhY3Rpb24gd2FzIGEgcmVhZCwgd3JpdGUsIG9yCiB3aGV0aGVyIG5vIGRhdGEgd2Fz
 IHRyYW5zZmVycmVkLgorLkl0IG5vdworVGhlIGN1cnJlbnQgdGltZXN0YW1wLgorLkl0IHRoZW4K
 K1RoZSB0aW1lc3RhbXAgb2Ygd2hlbiB0aGlzIHRyYW5zYWN0aW9uIHN0YXJ0ZWQuCiAuRWwKIC5Q
 cAorLkZuIGRldnN0YXRfc3RhcnRfdHJhbnNhY3Rpb25fYmlvCithbmQKIC5GbiBkZXZzdGF0X2Vu
 ZF90cmFuc2FjdGlvbl9iaW8KLWlzIGEgd3JhcHBlciBmb3IKK2FyZSB3cmFwcGVycyBmb3IKKy5G
 biBkZXZzdGF0X3N0YXJ0X3RyYW5zYWN0aW9uCithbmQKIC5GbiBkZXZzdGF0X2VuZF90cmFuc2Fj
 dGlvbgotd2hpY2ggcHVsbHMgYWxsIHRoZSBpbmZvcm1hdGlvbiBmcm9tIGEKK3Jlc3BlY3RpdmVs
 eQord2hpY2ggcHVsbCBhbGwgdGhlIGluZm9ybWF0aW9uIGZyb20gYQogLlZhICJzdHJ1Y3QgYmlv
 Igogd2hpY2ggaXMgcmVhZHkgZm9yIGJpb2RvbmUoKS4KIC5QcApAQCAtMjAxLDY4ICsyMTQsNDUg
 QEAKIC5JdCB1bml0X251bWJlcgogVGhlIHVuaXQgbnVtYmVyIGlkZW50aWZpZXMgdGhlIHBhcnRp
 Y3VsYXIgaW5zdGFuY2Ugb2YgdGhlIHBlcmlwaGVyYWwgZHJpdmVyCiBpbiBxdWVzdGlvbi4KLS5J
 dCBieXRlc193cml0dGVuCi1UaGlzIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBoYXZlIGJl
 ZW4gd3JpdHRlbiB0byB0aGUgZGV2aWNlLgorLkl0IGJ5dGVzW2ZsYWdzXQorVGhpcyBpcyB0aGUg
 bnVtYmVyIG9mIGJ5dGVzIHRoYXQgaGF2ZSBiZWVuIHdyaXR0ZW4sIHJlYWQgb3IgZnJlZWQvZXJh
 c2VkIG9uCit0aGUgZGV2aWNlIGFjY29yZGluZyB0byBhIHRyYW5zYWN0aW9uIHR5cGUgc3BlY2lm
 aWVkIGluIGZsYWdzIGluZGV4LgorU2VlIGJlbG93IGZvciB0cmFuc2FjdGlvbiB0eXBlcy4KIFRo
 aXMgbnVtYmVyIGlzIGN1cnJlbnRseSBhbiB1bnNpZ25lZCA2NCBiaXQgaW50ZWdlci4KIFRoaXMg
 d2lsbCBob3BlZnVsbHkKIGVsaW1pbmF0ZSB0aGUgY291bnRlciB3cmFwIHRoYXQgd291bGQgY29t
 ZSB2ZXJ5IHF1aWNrbHkgb24gc29tZSBzeXN0ZW1zIGlmCiAzMiBiaXQgaW50ZWdlcnMgd2VyZSB1
 c2VkLgotLkl0IGJ5dGVzX3JlYWQKLVRoaXMgaXMgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IGhh
 dmUgYmVlbiByZWFkIGZyb20gdGhlIGRldmljZS4KLS5JdCBieXRlc19mcmVlZAotVGhpcyBpcyB0
 aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgaGF2ZSBiZWVuIGZyZWVkL2VyYXNlZCBvbiB0aGUgZGV2
 aWNlLgotLkl0IG51bV9yZWFkcwotVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHJlYWRzIGZyb20gdGhl
 IGRldmljZS4KLS5JdCBudW1fd3JpdGVzCi1UaGlzIGlzIHRoZSBudW1iZXIgb2Ygd3JpdGVzIHRv
 IHRoZSBkZXZpY2UuCi0uSXQgbnVtX2ZyZWVzCi1UaGlzIGlzIHRoZSBudW1iZXIgb2YgZnJlZS9l
 cmFzZSBvcGVyYXRpb25zIG9uIHRoZSBkZXZpY2UuCi0uSXQgbnVtX290aGVyCi1UaGlzIGlzIHRo
 ZSBudW1iZXIgb2YgdHJhbnNhY3Rpb25zIHRvIHRoZSBkZXZpY2Ugd2hpY2ggYXJlIG5laXRoZXIg
 cmVhZHMgb3IKLXdyaXRlcy4KLUZvciBpbnN0YW5jZSwKLS5UbiBTQ1NJCi1kcml2ZXJzIG9mdGVu
 IHNlbmQgYSB0ZXN0IHVuaXQgcmVhZHkgY29tbWFuZCB0bwotLlRuIFNDU0kKLWRldmljZXMuCi1U
 aGUgdGVzdCB1bml0IHJlYWR5IGNvbW1hbmQgZG9lcyBub3QgcmVhZCBvciB3cml0ZSBhbnkgZGF0
 YS4KLUl0IG1lcmVseSBjYXVzZXMgdGhlIGRldmljZSB0byByZXR1cm4gaXRzIHN0YXR1cy4KLS5J
 dCBidXN5X2NvdW50Ci1UaGlzIGlzIHRoZSBjdXJyZW50IG51bWJlciBvZiBvdXRzdGFuZGluZyB0
 cmFuc2FjdGlvbnMgZm9yIHRoZSBkZXZpY2UuCi1UaGlzIHNob3VsZCBuZXZlciBnbyBiZWxvdyB6
 ZXJvLCBhbmQgb24gYW4gaWRsZSBkZXZpY2UgaXQgc2hvdWxkIGJlIHplcm8uCi1JZiBlaXRoZXIg
 b25lIG9mIHRoZXNlIGNvbmRpdGlvbnMgaXMgbm90IHRydWUsIGl0IGluZGljYXRlcyBhIHByb2Js
 ZW0gaW4KLXRoZSB3YXkKKy5JdCBvcGVyYXRpb25zW2ZsYWdzXQorVGhpcyBpcyB0aGUgbnVtYmVy
 IG9mIHJlYWQsIHdyaXRlIG9yIGZyZWUvZXJhc2Ugb3BlcmF0aW9ucyBvbiB0aGUgZGV2aWNlCith
 Y2NvcmRpbmcgdG8gYSB0cmFuc2FjdGlvbiB0eXBlIHNwZWNpZmllZCBpbiBmbGFncyBpbmRleC4K
 Ky5JdCBkdXJhdGlvbltbZmxhZ3NdCitUaGUgZHVyYXRpb24gb2YgcmVhZCwgd3JpdGUgb3IgZnJl
 ZS9lcmFzZSBvcGVyYXRpb25zIG9uIHRoZSBkZXZpY2UKK2FjY29yZGluZyB0byBhIHRyYW5zYWN0
 aW9uIHR5cGUgc3BlY2lmaWVkIGluIGZsYWdzIGluZGV4LgorLkl0IHN0YXJ0X2NvdW50ICwgZW5k
 X2NvdW50CitUaGlzIGFyZSBudW1iZXJzIG9mIHN0YXJ0ZWQgYW5kIGNvbXBsZXRlZCB0cmFuc2Fj
 dGlvbnMgZm9yIHRoZSBkZXZpY2UsCit3aGljaCBhcmUgdXBkYXRlZCBpbiB0aGUKIC5GbiBkZXZz
 dGF0X3N0YXJ0X3RyYW5zYWN0aW9uCiBhbmQKIC5GbiBkZXZzdGF0X2VuZF90cmFuc2FjdGlvbgot
 YXJlIGJlaW5nIGNhbGxlZCBpbiBjbGllbnQgY29kZS4KLVRoZXJlIHNob3VsZCBiZSBvbmUgYW5k
 IG9ubHkgb25lCi10cmFuc2FjdGlvbiBzdGFydCBldmVudCBhbmQgb25lIHRyYW5zYWN0aW9uIGVu
 ZCBldmVudCBmb3IgZWFjaCB0cmFuc2FjdGlvbi4KK3BhdGhzIHJlc3BlY3RpdmVseS4KK09uIGFu
 IGlkbGUgZGV2aWNlIHRoZWlyIHZhbHVlcyBzaG91bGQgYmUgZXF1YWwuCiAuSXQgYmxvY2tfc2l6
 ZQogVGhpcyBpcyB0aGUgYmxvY2sgc2l6ZSBvZiB0aGUgZGV2aWNlLCBpZiB0aGUgZGV2aWNlIGhh
 cyBhIGJsb2NrIHNpemUuCiAuSXQgdGFnX3R5cGVzCiBUaGlzIGlzIGFuIGFycmF5IG9mIGNvdW50
 ZXJzIHRvIHJlY29yZCB0aGUgbnVtYmVyIG9mIHZhcmlvdXMgdGFnIHR5cGVzIHRoYXQKIGFyZSBz
 ZW50IHRvIGEgZGV2aWNlLgogU2VlIGJlbG93IGZvciBhIGxpc3Qgb2YgdGFnIHR5cGVzLgotLkl0
 IGRldl9jcmVhdGlvbl90aW1lCisuSXQgY3JlYXRpb25fdGltZQogVGhpcyBpcyB0aGUgdGltZSwg
 YXMgcmVwb3J0ZWQgYnkKLS5GbiBnZXRtaWNyb3RpbWUKKy5GbiBiaW51cHRpbWUKIHRoYXQgdGhl
 IGRldmljZSB3YXMgcmVnaXN0ZXJlZC4KIC5JdCBidXN5X3RpbWUKLVRoaXMgaXMgdGhlIGFtb3Vu
 dCBvZiB0aW1lIHRoYXQgdGhlIGRldmljZSBidXN5IGNvdW50IGhhcyBiZWVuIGdyZWF0ZXIgdGhh
 bgotemVyby4KLVRoaXMgaXMgb25seSB1cGRhdGVkIHdoZW4gdGhlIGJ1c3kgY291bnQgcmV0dXJu
 cyB0byB6ZXJvLgotLkl0IHN0YXJ0X3RpbWUKLVRoaXMgaXMgdGhlIHRpbWUsIGFzIHJlcG9ydGVk
 IGJ5Ci0uRm4gZ2V0bWljcm91cHRpbWUKLXRoYXQgdGhlIGRldmljZSBidXN5IGNvdW50IHdlbnQg
 ZnJvbSB6ZXJvIHRvIG9uZS4KLS5JdCBsYXN0X2NvbXBfdGltZQotVGhpcyBpcyB0aGUgdGltZSBh
 cyByZXBvcnRlZCBieQotLkZuIGdldG1pY3JvdXB0aW1lCi10aGF0IGEgdHJhbnNhY3Rpb24gbGFz
 dCBjb21wbGV0ZWQuCi1JdCBpcyB1c2VkIGFsb25nIHdpdGgKLS5WYSBzdGFydF90aW1lCi10byBj
 YWxjdWxhdGUgdGhlIGRldmljZSBidXN5IHRpbWUuCitUaGlzIGlzIHRoZSBhbW91bnQgb2YgdGlt
 ZSB0aGF0IHRoZSBkZXZpY2Ugd2FzIGJ1c3kuCitUaGlzIGlzIG9ubHkgdXBkYXRlZCBkdXJpbmcg
 dGhlIGVuZGluZyBvZiBhIHRyYW5zYWN0aW9uLgorLkl0IGJ1c3lfZnJvbQorVGhpcyBpcyB0aGUg
 c3lzdGVtIHRpbWUsIGFzIHJlcG9ydGVkIGJ5CisuWHIgYmludXB0aW1lCit3aGVuIHN0YXJ0aW5n
 IGEgdHJhbnNhY3Rpb24gb2YgYSBkZXZpY2UgdGhhdCBnb2VzIGZyb20gaWRsZSB0byBidXN5Lgog
 Lkl0IGZsYWdzCiBUaGVzZSBmbGFncyBpbmRpY2F0ZSB3aGljaCBzdGF0aXN0aWNzIG1lYXN1cmVt
 ZW50cyBhcmUgc3VwcG9ydGVkIGJ5IGEKIHBhcnRpY3VsYXIgZGV2aWNlLgpAQCAtMzc4LDggKzM2
 OCwxOSBAQAogCURFVlNUQVRfV1JJVEUJPSAweDAyLAogCURFVlNUQVRfRlJFRQk9IDB4MDMKIH0g
 ZGV2c3RhdF90cmFuc19mbGFnczsKKyNkZWZpbmUJREVWU1RBVF9OX1RSQU5TX0ZMQUdTCTQKIC5F
 ZAogLlBwCitERVZTVEFUX05PX0RBVEEgaXMgYSB0eXBlIG9mIHRyYW5zYWN0aW9ucyB0byB0aGUg
 ZGV2aWNlIHdoaWNoIGFyZSBuZWl0aGVyCityZWFkcyBvciB3cml0ZXMuCitGb3IgaW5zdGFuY2Us
 CisuVG4gU0NTSQorZHJpdmVycyBvZnRlbiBzZW5kIGEgdGVzdCB1bml0IHJlYWR5IGNvbW1hbmQg
 dG8KKy5UbiBTQ1NJCitkZXZpY2VzLgorVGhlIHRlc3QgdW5pdCByZWFkeSBjb21tYW5kIGRvZXMg
 bm90IHJlYWQgb3Igd3JpdGUgYW55IGRhdGEuCitJdCBtZXJlbHkgY2F1c2VzIHRoZSBkZXZpY2Ug
 dG8gcmV0dXJuIGl0cyBzdGF0dXMuCisuUHAKIFRoZXJlIGFyZSBmb3VyIHBvc3NpYmxlIHZhbHVl
 cyBmb3IgdGhlCiAuVmEgdGFnX3R5cGUKIGFyZ3VtZW50IHRvCg==
 --0016e64988f67bdb7a04a419575f--
Responsible-Changed-From-To: freebsd-doc->eadler 
Responsible-Changed-By: eadler 
Responsible-Changed-When: Sun May 6 20:18:11 UTC 2012 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=157316 
Responsible-Changed-From-To: eadler->freebsd-doc 
Responsible-Changed-By: eadler 
Responsible-Changed-When: Sun Sep 2 03:09:06 UTC 2012 
Responsible-Changed-Why:  
I won't be looking at this PR for a while and I need to clear some out 
of my queue 

http://www.freebsd.org/cgi/query-pr.cgi?pr=157316 
>Unformatted:
