)]}'
{
  "commit": "fc16dcd8c2e1e9bc91ed765957e1f2bbf334253e",
  "tree": "c7174ce035611b3088e2da38003655cf26e8ce0b",
  "parents": [
    "b67f231ded332461dd31123c4f659c4681223fb1"
  ],
  "author": {
    "name": "Neal Cardwell",
    "email": "ncardwell@google.com",
    "time": "Wed Jan 18 17:47:58 2012 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Fri Jan 20 14:17:26 2012 -0500"
  },
  "message": "tcp: fix undo after RTO for BIC\n\nThis patch fixes BIC so that cwnd reductions made during RTOs can be\nundone (just as they already can be undone when using the default/Reno\nbehavior).\n\nWhen undoing cwnd reductions, BIC-derived congestion control modules\nwere restoring the cwnd from last_max_cwnd. There were two problems\nwith using last_max_cwnd to restore a cwnd during undo:\n\n(a) last_max_cwnd was set to 0 on state transitions into TCP_CA_Loss\n(by calling the module\u0027s reset() functions), so cwnd reductions from\nRTOs could not be undone.\n\n(b) when fast_covergence is enabled (which it is by default)\nlast_max_cwnd does not actually hold the value of snd_cwnd before the\nloss; instead, it holds a scaled-down version of snd_cwnd.\n\nThis patch makes the following changes:\n\n(1) upon undo, revert snd_cwnd to ca-\u003eloss_cwnd, which is already, as\nthe existing comment notes, the \"congestion window at last loss\"\n\n(2) stop forgetting ca-\u003eloss_cwnd on TCP_CA_Loss events\n\n(3) use ca-\u003elast_max_cwnd to check if we\u0027re in slow start\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6187eb4d1dcfe1e66dc90a799c50df496c2d8974",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_bic.c",
      "new_id": "f45e1c24244091a750f5f34ca0fe9e9038731ca5",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_bic.c"
    }
  ]
}
