)]}'
{
  "commit": "231cc2aaf14bad3b2325be0b19b8385ff5e75485",
  "tree": "0836d99d5c6fedca5793db99799a41ba35863b38",
  "parents": [
    "c38c92a84a9291a3d0eaf6a13650a11961ae964f"
  ],
  "author": {
    "name": "Gerrit Renker",
    "email": "gerrit@erg.abdn.ac.uk",
    "time": "Sun Aug 22 19:41:40 2010 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Aug 23 20:13:31 2010 -0700"
  },
  "message": "dccp ccid-2: Replace broken RTT estimator with better algorithm\n\nThe current CCID-2 RTT estimator code is in parts broken and lags behind the\nsuggestions in RFC2988 of using scaled variants for SRTT/RTTVAR.\n\nThat code is replaced by the present patch, which reuses the Linux TCP RTT\nestimator code.\n\nFurther details:\n----------------\n 1. The minimum RTO of previously one second has been replaced with TCP\u0027s, since\n    RFC4341, sec. 5 says that the minimum of 1 sec. (suggested in RFC2988, 2.4)\n    is not necessary. Instead, the TCP_RTO_MIN is used, which agrees with DCCP\u0027s\n    concept of a default RTT (RFC 4340, 3.4).\n 2. The maximum RTO has been set to DCCP_RTO_MAX (64 sec), which agrees with\n    RFC2988, (2.5).\n 3. De-inlined the function ccid2_new_ack().\n 4. Added a FIXME: the RTT is sampled several times per Ack Vector, which will\n    give the wrong estimate. It should be replaced with one sample per Ack.\n    However, at the moment this can not be resolved easily, since\n    - it depends on TX history code (which also needs some work),\n    - the cleanest solution is not to use the `sent\u0027 time at all (saves 4 bytes\n      per entry) and use DCCP timestamps / elapsed time to estimated the RTT,\n      which however is non-trivial to get right (but needs to be done).\n\nReasons for reusing the Linux TCP estimator algorithm:\n------------------------------------------------------\nSome time was spent to find a better alternative, using basic RFC2988 as a first\nstep. Further analysis and experimentation showed that the Linux TCP RTO\nestimator is superior to a basic RFC2988 implementation. A summary is on\nhttp://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/ccid2/rto_estimator/\n\nIn addition, this estimator fared well in a recent empirical evaluation:\n\n    Rewaskar, Sushant, Jasleen Kaur and F. Donelson Smith.\n    A Performance Study of Loss Detection/Recovery in Real-world TCP\n    Implementations. Proceedings of 15th IEEE International\n    Conference on Network Protocols (ICNP-07), 2007.\n\nThus there is significant benefit in reusing the existing TCP code.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f7f5069b1e8412413e2366e9c95dd02bf3ff05ce",
      "old_mode": 33188,
      "old_path": "net/dccp/ccids/ccid2.c",
      "new_id": "7af3106c1f945ea21fccea78851e36285a94fbdf",
      "new_mode": 33188,
      "new_path": "net/dccp/ccids/ccid2.c"
    },
    {
      "type": "modify",
      "old_id": "1ec6a30103bbb3247b0a25385ab8aa318899ccc7",
      "old_mode": 33188,
      "old_path": "net/dccp/ccids/ccid2.h",
      "new_id": "b017843ba44d80c6cff583fb59cd722c5f6eda55",
      "new_mode": 33188,
      "new_path": "net/dccp/ccids/ccid2.h"
    }
  ]
}
