diff --git a/lib/dpif-netdev-perf.c b/lib/dpif-netdev-perf.c
index 13f1010c9..8ff4091e5 100644
--- a/lib/dpif-netdev-perf.c
+++ b/lib/dpif-netdev-perf.c
@@ -170,7 +170,8 @@ pmd_perf_format_overall_stats(struct ds *str, struct pmd_perf_stats *s,
                               double duration)
 {
     uint64_t stats[PMD_N_STATS];
-    double us_per_cycle = 1000000.0 / get_tsc_hz();
+    uint64_t tsc_hz = get_tsc_hz();
+    double us_per_cycle = 1000000.0 / tsc_hz;
 
     if (duration == 0) {
         return;
@@ -191,25 +192,25 @@ pmd_perf_format_overall_stats(struct ds *str, struct pmd_perf_stats *s,
     uint64_t busy_iter = tot_iter >= idle_iter ? tot_iter - idle_iter : 0;
 
     ds_put_format(str,
-            "  Cycles:          %12"PRIu64"  (%.2f GHz)\n"
-            "  Iterations:      %12"PRIu64"  (%.2f us/it)\n"
-            "  - idle:          %12"PRIu64"  (%4.1f %% cycles)\n"
-            "  - busy:          %12"PRIu64"  (%4.1f %% cycles)\n",
-            tot_cycles, (tot_cycles / duration) / 1E9,
+            "  Iterations:        %12"PRIu64"  (%.2f us/it)\n"
+            "  - Used TSC cycles: %12"PRIu64"  (%5.1f %% of total cycles)\n"
+            "  - idle iterations: %12"PRIu64"  (%5.1f %% of used cycles)\n"
+            "  - busy iterations: %12"PRIu64"  (%5.1f %% of used cycles)\n",
             tot_iter, tot_cycles * us_per_cycle / tot_iter,
+            tot_cycles, 100.0 * (tot_cycles / duration) / tsc_hz,
             idle_iter,
             100.0 * stats[PMD_CYCLES_ITER_IDLE] / tot_cycles,
             busy_iter,
             100.0 * stats[PMD_CYCLES_ITER_BUSY] / tot_cycles);
     if (rx_packets > 0) {
         ds_put_format(str,
-            "  Rx packets:      %12"PRIu64"  (%.0f Kpps, %.0f cycles/pkt)\n"
-            "  Datapath passes: %12"PRIu64"  (%.2f passes/pkt)\n"
-            "  - EMC hits:      %12"PRIu64"  (%4.1f %%)\n"
-            "  - Megaflow hits: %12"PRIu64"  (%4.1f %%, %.2f subtbl lookups/"
-                                                                     "hit)\n"
-            "  - Upcalls:       %12"PRIu64"  (%4.1f %%, %.1f us/upcall)\n"
-            "  - Lost upcalls:  %12"PRIu64"  (%4.1f %%)\n",
+            "  Rx packets:        %12"PRIu64"  (%.0f Kpps, %.0f cycles/pkt)\n"
+            "  Datapath passes:   %12"PRIu64"  (%.2f passes/pkt)\n"
+            "  - EMC hits:        %12"PRIu64"  (%5.1f %%)\n"
+            "  - Megaflow hits:   %12"PRIu64"  (%5.1f %%, %.2f "
+                                                "subtbl lookups/hit)\n"
+            "  - Upcalls:         %12"PRIu64"  (%5.1f %%, %.1f us/upcall)\n"
+            "  - Lost upcalls:    %12"PRIu64"  (%5.1f %%)\n",
             rx_packets, (rx_packets / duration) / 1000,
             1.0 * stats[PMD_CYCLES_ITER_BUSY] / rx_packets,
             passes, rx_packets ? 1.0 * passes / rx_packets : 0,
@@ -225,17 +226,16 @@ pmd_perf_format_overall_stats(struct ds *str, struct pmd_perf_stats *s,
             stats[PMD_STAT_LOST],
             100.0 * stats[PMD_STAT_LOST] / passes);
     } else {
-        ds_put_format(str, "  Rx packets:      %12d\n", 0);
+        ds_put_format(str, "  Rx packets:        %12d\n", 0);
     }
     if (tx_packets > 0) {
         ds_put_format(str,
-            "  Tx packets:      %12"PRIu64"  (%.0f Kpps)\n"
-            "  Tx batches:      %12"PRIu64"  (%.2f pkts/batch)"
-            "\n",
+            "  Tx packets:        %12"PRIu64"  (%.0f Kpps)\n"
+            "  Tx batches:        %12"PRIu64"  (%.2f pkts/batch)\n",
             tx_packets, (tx_packets / duration) / 1000,
             tx_batches, 1.0 * tx_packets / tx_batches);
     } else {
-        ds_put_format(str, "  Tx packets:      %12d\n\n", 0);
+        ds_put_format(str, "  Tx packets:        %12d\n\n", 0);
     }
 }
 
diff --git a/lib/dpif-netdev-unixctl.man b/lib/dpif-netdev-unixctl.man
index ab8619e41..53f33d83f 100644
--- a/lib/dpif-netdev-unixctl.man
+++ b/lib/dpif-netdev-unixctl.man
@@ -123,23 +123,25 @@ Display the last ms_len millisecond stats
 The output always contains the following global PMD statistics:
 .RS
 .IP
-Time: 15:24:55.270 .br
+.EX
+Time: 15:24:55.270
 Measurement duration: 1.008 s
 
 pmd thread numa_id 0 core_id 1:
 
-  Cycles:            2419034712  (2.40 GHz)
-  Iterations:            572817  (1.76 us/it)
-  - idle:                486808  (15.9 % cycles)
-  - busy:                 86009  (84.1 % cycles)
-  Rx packets:           2399607  (2381 Kpps, 848 cycles/pkt)
-  Datapath passes:      3599415  (1.50 passes/pkt)
-  - EMC hits:            336472  ( 9.3 %)
-  - Megaflow hits:      3262943  (90.7 %, 1.00 subtbl lookups/hit)
-  - Upcalls:                  0  ( 0.0 %, 0.0 us/upcall)
-  - Lost upcalls:             0  ( 0.0 %)
-  Tx packets:           2399607  (2381 Kpps)
-  Tx batches:            171400  (14.00 pkts/batch)
+  Iterations:              572817  (1.76 us/it)
+  - Used TSC cycles:   2419034712  ( 99.9 % of total cycles)
+  - idle iterations:       486808  ( 15.9 % of used cycles)
+  - busy iterations:        86009  ( 84.1 % of used cycles)
+  Rx packets:             2399607  (2381 Kpps, 848 cycles/pkt)
+  Datapath passes:        3599415  (1.50 passes/pkt)
+  - EMC hits:              336472  (  9.3 %)
+  - Megaflow hits:        3262943  ( 90.7 %, 1.00 subtbl lookups/hit)
+  - Upcalls:                    0  (  0.0 %, 0.0 us/upcall)
+  - Lost upcalls:               0  (  0.0 %)
+  Tx packets:             2399607  (2381 Kpps)
+  Tx batches:              171400  (14.00 pkts/batch)
+.EE
 .RE
 .IP
 Here "Rx packets" actually reflects the number of packets forwarded by the
diff --git a/manpages.mk b/manpages.mk
index 6ebcf6b70..0fd986e00 100644
--- a/manpages.mk
+++ b/manpages.mk
@@ -255,6 +255,7 @@ vswitchd/ovs-vswitchd.8: \
 	lib/dpif-netdev-unixctl.man \
 	lib/memory-unixctl.man \
 	lib/netdev-dpdk-unixctl.man \
+	lib/ovs.tmac \
 	lib/service.man \
 	lib/ssl-bootstrap.man \
 	lib/ssl-peer-ca-cert.man \
@@ -273,6 +274,7 @@ lib/dpctl.man:
 lib/dpif-netdev-unixctl.man:
 lib/memory-unixctl.man:
 lib/netdev-dpdk-unixctl.man:
+lib/ovs.tmac:
 lib/service.man:
 lib/ssl-bootstrap.man:
 lib/ssl-peer-ca-cert.man:
diff --git a/vswitchd/ovs-vswitchd.8.in b/vswitchd/ovs-vswitchd.8.in
index e39d158d5..901f75e6f 100644
--- a/vswitchd/ovs-vswitchd.8.in
+++ b/vswitchd/ovs-vswitchd.8.in
@@ -1,9 +1,5 @@
 .\" -*- nroff -*-
-.de IQ
-.  br
-.  ns
-.  IP "\\$1"
-..
+.so lib/ovs.tmac
 .TH ovs\-vswitchd 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
 .\" This program's name:
 .ds PN ovs\-vswitchd
