)]}'
{
  "commit": "f4805eded7d38c4e42bf473dc5eb2f34853beb06",
  "tree": "1f7e0e90642e775b4e8c2c47d84e2df8ce2de3c3",
  "parents": [
    "6e6ece5dc6022e8086c565498d23511bbceda811"
  ],
  "author": {
    "name": "Stephen Hemminger",
    "email": "shemminger@osdl.org",
    "time": "Thu Nov 10 16:53:30 2005 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Thu Nov 10 16:53:30 2005 -0800"
  },
  "message": "[TCP]: fix congestion window update when using TSO deferal\n\nTCP peformance with TSO over networks with delay is awful.\nOn a 100Mbit link with 150ms delay, we get 4Mbits/sec with TSO and\n50Mbits/sec without TSO.\n\nThe problem is with TSO, we intentionally do not keep the maximum\nnumber of packets in flight to fill the window, we hold out to until \nwe can send a MSS chunk. But, we also don\u0027t update the congestion window \nunless we have filled, as per RFC2861.\n\nThis patch replaces the check for the congestion window being full\nwith something smarter that accounts for TSO.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "96cc3b434e40f7f3e68ccd1f6b06a5c564736777",
      "old_mode": 33188,
      "old_path": "include/net/tcp.h",
      "new_id": "15bdbc6bd571cbeec4de4b6c077df222461d71cb",
      "new_mode": 33188,
      "new_path": "include/net/tcp.h"
    },
    {
      "type": "modify",
      "old_id": "ae35e06090476a88bc9b6b6a4ba963d1aff9af9b",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_bic.c",
      "new_id": "5af99b3ef5d706b62c95027667fc8a7e64e0f05f",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_bic.c"
    },
    {
      "type": "modify",
      "old_id": "bbf2d6624e894b927a169d92ae2be882c851b91a",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_cong.c",
      "new_id": "0705b496c6b3117de49e34b99f86731664a109ed",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_cong.c"
    },
    {
      "type": "modify",
      "old_id": "6acc04bde08099c598e633a21518ed51e5b75bd2",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_highspeed.c",
      "new_id": "5e56ad368dd260a819c636eb1733e0877ad37ffa",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_highspeed.c"
    },
    {
      "type": "modify",
      "old_id": "e47b37984e951e087cc2185b97336a5e3dadc21f",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_htcp.c",
      "new_id": "404a326ba3457ced90ef06b983c13625a1d93a66",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_htcp.c"
    },
    {
      "type": "modify",
      "old_id": "77add63623df2a1034a21bfdb6fbaddf82385a71",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_hybla.c",
      "new_id": "40dbb38775101c02b4c285b887f13d1ff0aecebb",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_hybla.c"
    },
    {
      "type": "modify",
      "old_id": "b907456a79f46373bb81aac30ff9123910901952",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_output.c",
      "new_id": "998f6416ef8b59e308af1b23b01b654405219691",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_output.c"
    },
    {
      "type": "modify",
      "old_id": "327770bf552230211f2db5d799183fa08dd7e440",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_scalable.c",
      "new_id": "a2fd25617d241179345c7883ca62decd93f5ee6c",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_scalable.c"
    }
  ]
}
