aboutsummaryrefslogtreecommitdiff
path: root/include/linux/tfrc.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.osdl.org>2006-12-11 18:35:17 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-11 18:35:17 -0800
commit4259cb25d436a79bf6b07d8075423573567c211d (patch)
tree05ae68a795315f4244036358df4c8e0f1034867d /include/linux/tfrc.h
parentcd39301a68f9604854f3543117b01dc73cbe193f (diff)
parenta49f99ffca57a2eada23b1ac908a405c17859e35 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits) [NETPOLL]: Fix local_bh_enable() warning. [IPVS]: Make ip_vs_sync.c <= 80col wide. [IPVS]: Use msleep_interruptable() instead of ssleep() aka msleep() [HAMRADIO]: Fix baycom_epp.c compile failure. [DCCP]: Whitespace cleanups [DCCP] ccid3: Fixup some type conversions related to rtts [DCCP] ccid3: BUG-FIX - conversion errors [DCCP] ccid3: Reorder packet history source file [DCCP] ccid3: Reorder packet history header file [DCCP] ccid3: Make debug output consistent [DCCP] ccid3: Perform history operations only after packet has been sent [DCCP] ccid3: TX history - remove unused field [DCCP] ccid3: Shift window counter computation [DCCP] ccid3: Sanity-check RTT samples [DCCP] ccid3: Initialise RTT values [DCCP] ccid: Deprecate ccid_hc_tx_insert_options [DCCP]: Warn when discarding packet due to internal errors [DCCP]: Only deliver to the CCID rx side in charge [DCCP]: Simplify TFRC calculation [DCCP]: Debug timeval operations ...
Diffstat (limited to 'include/linux/tfrc.h')
-rw-r--r--include/linux/tfrc.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/tfrc.h b/include/linux/tfrc.h
index 31a9b25276f..8a8462b4a4d 100644
--- a/include/linux/tfrc.h
+++ b/include/linux/tfrc.h
@@ -37,10 +37,14 @@ struct tfrc_rx_info {
* @tfrctx_p: current loss event rate (5.4)
* @tfrctx_rto: estimate of RTO, equals 4*RTT (4.3)
* @tfrctx_ipi: inter-packet interval (4.6)
+ *
+ * Note: X and X_recv are both maintained in units of 64 * bytes/second. This
+ * enables a finer resolution of sending rates and avoids problems with
+ * integer arithmetic; u32 is not sufficient as scaling consumes 6 bits.
*/
struct tfrc_tx_info {
- __u32 tfrctx_x;
- __u32 tfrctx_x_recv;
+ __u64 tfrctx_x;
+ __u64 tfrctx_x_recv;
__u32 tfrctx_x_calc;
__u32 tfrctx_rtt;
__u32 tfrctx_p;