)]}'
{
  "log": [
    {
      "commit": "40efc6fa179f440a008333ea98f701bc35a1f97f",
      "tree": "ef087df36868362c0238a0aa4373532622e49068",
      "parents": [
        "3c19065a1e2c862becc576bc65e54f2bc1cbffe6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Jan 03 16:03:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 03 16:03:49 2006 -0800"
      },
      "message": "[TCP]: less inline\u0027s\n\nTCP inline usage cleanup:\n * get rid of inline in several places\n * replace __inline__ with inline where possible\n * move functions used in one file out of tcp.h\n * let compiler decide on used once cases\n\nOn x86_64: \n   text\t   data\t    bss\t    dec\t    hex\tfilename\n3594701\t 648348\t 567400\t4810449\t 4966d1\tvmlinux.orig\n3593133\t 648580\t 567400\t4809113\t 496199\tvmlinux\n\nOn sparc64:\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n2538278\t 406152\t 530392\t3474822\t 350586\tvmlinux.ORIG\n2536382\t 406384\t 530392\t3473158\t 34ff06\tvmlinux\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8639a11e23d9eb0a6ceac2feed27acdfbb158f95",
      "tree": "14895d8e71a0561b46da04421f55364a52e46b35",
      "parents": [
        "14c850212ed8f8cbb5972ad6b8812e08a0bc901c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 15:17:57 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:22 2006 -0800"
      },
      "message": "[TCP]: Don\u0027t use __constant_htonl for a non const arg\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d6ee43e0b8b8d4847627fd43739b98ec2b9404f",
      "tree": "a2a66381d2351610c81362bf218e743f6ccf56ef",
      "parents": [
        "fc44b9805324c0ad2733ea2feea9935cc056709d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:25:19 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:54 2006 -0800"
      },
      "message": "[TWSK]: Introduce struct timewait_sock_ops\n\nSo that we can share several timewait sockets related functions and\nmake the timewait mini sockets infrastructure closer to the request\nmini sockets one.\n\nNext changesets will take advantage of this, moving more code out of\nTCP and DCCP v4 and v6 to common infrastructure.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8292a17a399ffb7c5c8b083db4ad994e090055f7",
      "tree": "1544436169ba1dc2eface34664a203c2c17a8d65",
      "parents": [
        "ca304b6104ffdd120bb6687a88a0625e58bc71cd"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:15:52 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:38 2006 -0800"
      },
      "message": "[ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops\n\nAnd move it to struct inet_connection_sock. DCCP will use it in the\nupcoming changesets.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31f3426904e066f17e3f88c468a2f7c869ad4aac",
      "tree": "11e67ebf551552dad83cf53815945ff299344273",
      "parents": [
        "cf225356578326308b16a0fd03ff3fa72fe3da07"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Nov 15 15:17:10 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 15 15:17:10 2005 -0800"
      },
      "message": "[TCP]: More spelling fixes.\n\nFrom Joe Perches\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec",
      "tree": "09775f0479168cd53494155a5789e78df218b497",
      "parents": [
        "caa20d9abe810be2ede9612b6c9db6ce7d6edf80"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Nov 10 17:14:59 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 17:14:59 2005 -0800"
      },
      "message": "[TCP]: speed up SACK processing\n\nUse \"hints\" to speed up the SACK processing. Various forms \nof this have been used by TCP developers (Web100, STCP, BIC)\nto avoid the 2x linear search of outstanding segments.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "caa20d9abe810be2ede9612b6c9db6ce7d6edf80",
      "tree": "18d027397fa5ddf9dcfb193ba114f3b8276199e2",
      "parents": [
        "326f36e9e7de362e09745ce6f84b65e7ccac33ba"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Nov 10 17:13:47 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 17:13:47 2005 -0800"
      },
      "message": "[TCP]: spelling fixes\n\nMinor spelling fixes for TCP code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9772efb970780aeed488c19d8b4afd46c3b484af",
      "tree": "de016aaa29c8a95e98c7abaa70c8b590160e2886",
      "parents": [
        "7faffa1c7fb9b8e8917e3225d4e2638270c0a48b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Nov 10 17:09:53 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 17:09:53 2005 -0800"
      },
      "message": "[TCP]: Appropriate Byte Count support\n\nThis is an updated version of the RFC3465 ABC patch originally\nfor Linux 2.6.11-rc4 by Yee-Ting Li. ABC is a way of counting\nbytes ack\u0027d rather than packets when updating congestion control.\n\nThe orignal ABC described in the RFC applied to a Reno style\nalgorithm. For advanced congestion control there is little\nchange after leaving slow start.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7faffa1c7fb9b8e8917e3225d4e2638270c0a48b",
      "tree": "3c9f998639bc2374a86b1f2251ae421e625c1e9d",
      "parents": [
        "2d2abbab63f6726a147ae61ada39bf2c9ee0db9a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Nov 10 17:07:24 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 17:07:24 2005 -0800"
      },
      "message": "[TCP]: add tcp_slow_start helper\n\nMove all the code that does linear TCP slowstart to one\ninline function to ease later patch to add ABC support.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "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"
    },
    {
      "commit": "fb286bb2990a107009dbf25f6ffebeb7df77f9be",
      "tree": "0eede2c37f1b3831e59601933eebf6b82be75ffc",
      "parents": [
        "1064e944d03eb7a72c0fa11236d5e69cfd877a71"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "message": "[NET]: Detect hardware rx checksum faults correctly\n\nHere is the patch that introduces the generic skb_checksum_complete\nwhich also checks for hardware RX checksum faults.  If that happens,\nit\u0027ll call netdev_rx_csum_fault which currently prints out a stack\ntrace with the device name.  In future it can turn off RX checksum.\n\nI\u0027ve converted every spot under net/ that does RX checksum checks to\nuse skb_checksum_complete or __skb_checksum_complete with the\nexceptions of:\n\n* Those places where checksums are done bit by bit.  These will call\nnetdev_rx_csum_fault directly.\n\n* The following have not been completely checked/converted:\n\nipmr\nip_vs\nnetfilter\ndccp\n\nThis patch is based on patches and suggestions from Stephen Hemminger\nand David S. Miller.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6475be16fd9b3c6746ca4d18959246b13c669ea8",
      "tree": "03e0da36680ddb227591a4007fa4e6f18d82782c",
      "parents": [
        "ef015786152adaff5a6a8bf0c8ea2f70cee8059d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 22:47:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 22:47:01 2005 -0700"
      },
      "message": "[TCP]: Keep TSO enabled even during loss events.\n\nAll we need to do is resegment the queue so that\nwe record SACK information accurately.  The edges\nof the SACK blocks guide our resegmenting decisions.\n\nWith help from Herbert Xu.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20380731bc2897f2952ae055420972ded4cd786e",
      "tree": "abd31e5ebfadcf4f9024634eec8b11855029e512",
      "parents": [
        "9deff7f2365958c5c5aa8cb5a0dd651c4dd83f8f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 16 02:18:02 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:32 2005 -0700"
      },
      "message": "[NET]: Fix sparse warnings\n\nOf this type, mostly:\n\nCHECK   net/ipv6/netfilter.c\nnet/ipv6/netfilter.c:96:12: warning: symbol \u0027ipv6_netfilter_init\u0027 was not declared. Should it be static?\nnet/ipv6/netfilter.c:101:6: warning: symbol \u0027ipv6_netfilter_fini\u0027 was not declared. Should it be static?\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17b085eacef81a6286bd478f2ec75e04abb091cb",
      "tree": "b990ca4a3b8e2c08fbcf09ba18e9ae469754b2df",
      "parents": [
        "a8c2190ee7da1a1dc68ff1a6b5f03feb61e523a5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Aug 12 12:59:17 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:57:54 2005 -0700"
      },
      "message": "[INET_DIAG]: Move the tcp_diag interface to the proper place\n\nWith this the previous setup is back, i.e. tcp_diag can be built as a module,\nas dccp_diag and both share the infrastructure available in inet_diag.\n\nIf one selects CONFIG_INET_DIAG as module CONFIG_INET_TCP_DIAG will also be\nbuilt as a module, as will CONFIG_INET_DCCP_DIAG, if CONFIG_IP_DCCP was\nselected static or as a module, if CONFIG_INET_DIAG is y, being statically\nlinked CONFIG_INET_TCP_DIAG will follow suit and CONFIG_INET_DCCP_DIAG will be\nbuilt in the same manner as CONFIG_IP_DCCP.\n\nNow to aim at UDP, converting it to use inet_hashinfo, so that we can use\niproute2 for UDP sockets as well.\n\nAh, just to show an example of this new infrastructure working for DCCP :-)\n\n[root@qemu ~]# ./ss -dane\nState      Recv-Q Send-Q Local Address:Port  Peer Address:Port\nLISTEN     0      0                  *:5001             *:*     ino:942 sk:cfd503a0\nESTAB      0      0          127.0.0.1:5001     127.0.0.1:32770 ino:943 sk:cfd50a60\nESTAB      0      0          127.0.0.1:32770    127.0.0.1:5001  ino:947 sk:cfd50700\nTIME-WAIT  0      0          127.0.0.1:32769    127.0.0.1:5001  timer:(timewait,3.430ms,0) ino:0 sk:cf209620\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73c1f4a033675f168df7e98bbeeafca3c644b8a6",
      "tree": "041e0c203be710b39c8b3a1c18d23e7a50e321a6",
      "parents": [
        "4f5736c4c7cf6f9bd8db82b712cfdd51c87e06b9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Aug 12 12:51:49 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:57:44 2005 -0700"
      },
      "message": "[TCPDIAG]: Just rename everything to inet_diag\n\nNext changeset will rename tcp_diag.[ch] to inet_diag.[ch].\n\nI\u0027m taking this longer route so as to easy review, making clear the changes\nmade all along the way.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6687e988d9aeaccad6774e6a8304f681f3ec0a03",
      "tree": "ecd3d28f9989847aa1dcde4782de0210aeadc290",
      "parents": [
        "64ce207306debd7157f47282be94770407bec01c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Aug 10 04:03:31 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:56:18 2005 -0700"
      },
      "message": "[ICSK]: Move TCP congestion avoidance members to icsk\n\nThis changeset basically moves tcp_sk()-\u003e{ca_ops,ca_state,etc} to inet_csk(),\nminimal renaming/moving done in this changeset to ease review.\n\nMost of it is just changes of struct tcp_sock * to struct sock * parameters.\n\nWith this we move to a state closer to two interesting goals:\n\n1. Generalisation of net/ipv4/tcp_diag.c, becoming inet_diag.c, being used\n   for any INET transport protocol that has struct inet_hashinfo and are\n   derived from struct inet_connection_sock. Keeps the userspace API, that will\n   just not display DCCP sockets, while newer versions of tools can support\n   DCCP.\n\n2. INET generic transport pluggable Congestion Avoidance infrastructure, using\n   the current TCP CA infrastructure with DCCP.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "696ab2d3bffc746fb8cf3712f066d42b9886aeed",
      "tree": "d0990b1d6f5fd6b3b7ddce553a16cccf6f029651",
      "parents": [
        "295ff7edb8f72b77d524759266f7524deae379b3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 09 20:45:03 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:55:58 2005 -0700"
      },
      "message": "[TIMEWAIT]: Move inet_timewait_death_row routines to net/ipv4/inet_timewait_sock.c\n\nAlso export the ones that will be used in the next changeset, when\nDCCP uses this infrastructure.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "295ff7edb8f72b77d524759266f7524deae379b3",
      "tree": "e16e99e324444fb01ae3dfd221b5d47a88acfeb8",
      "parents": [
        "0b4e03bf0bc43ad6250a1e2fa25fc3eb2b028977"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 09 20:44:40 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:55:48 2005 -0700"
      },
      "message": "[TIMEWAIT]: Introduce inet_timewait_death_row\n\nThat groups all of the tables and variables associated to the TCP timewait\nschedulling/recycling/killing code, that now can be isolated from the TCP\nspecific code and used by other transport protocols, such as DCCP.\n\nNext changeset will move this code to net/ipv4/inet_timewait_sock.c\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a019d6fe2b9da68ea4ba6cf3c4e86fc1dbf554c3",
      "tree": "f82f0523c313228d64998fac30790edcfd0785c3",
      "parents": [
        "7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:15:09 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:49:50 2005 -0700"
      },
      "message": "[ICSK]: Move generalised functions from tcp to inet_connection_sock\n\nThis also improves reqsk_queue_prune and renames it to\ninet_csk_reqsk_queue_prune, as it deals with both inet_connection_sock\nand inet_request_sock objects, not just with request_sock ones thus\nbelonging to inet_request_sock.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "295f7324ff8d9ea58b4d3ec93b1aaa1d80e048a9",
      "tree": "509c113d2622a28836303590ba1a40cecea59d3b",
      "parents": [
        "0a5578cf8e5e045aaa68643c17ce885426697c6b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:11:56 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:49:29 2005 -0700"
      },
      "message": "[ICSK]: Introduce reqsk_queue_prune from code in tcp_synack_timer\n\nWith this we\u0027re very close to getting all of the current TCP\nrefactorings in my dccp-2.6 tree merged, next changeset will export\nsome functions needed by the current DCCP code and then dccp-2.6.git\nwill be born!\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a5578cf8e5e045aaa68643c17ce885426697c6b",
      "tree": "1c58ba5c3236499ec5abeedcc43faa7bed816b07",
      "parents": [
        "9f1d2604c71498579609b1532fedc5a89276bb00"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:11:41 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:49:24 2005 -0700"
      },
      "message": "[ICSK]: Generalise tcp_listen_{start,stop}\n\nThis also moved inet_iif from tcp to inet_hashtables.h, as it is\nneeded by the inet_lookup callers, perhaps this needs a bit of\npolishing, but for now seems fine.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f421baa4720b708022f8bcc52a61e5cd6f10bf8",
      "tree": "e4201b1e2356cea8b7bd8d68dfba06e84002a77d",
      "parents": [
        "463c84b97f24010a67cd871746d6a7e4c925a5f9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:11:08 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:49:14 2005 -0700"
      },
      "message": "[NET]: Just move the inet_connection_sock function from tcp sources\n\nCompleting the previous changeset, this also generalises tcp_v4_synq_add,\nrenaming it to inet_csk_reqsk_queue_hash_add, already geing used in the\nDCCP tree, which I plan to merge RSN.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "463c84b97f24010a67cd871746d6a7e4c925a5f9",
      "tree": "48df67ede4ebb5d12b3c0ae55d72531574bd51a6",
      "parents": [
        "87d11ceb9deb7a3f13fdee6e89d9bb6be7d27a71"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:10:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:43:19 2005 -0700"
      },
      "message": "[NET]: Introduce inet_connection_sock\n\nThis creates struct inet_connection_sock, moving members out of struct\ntcp_sock that are shareable with other INET connection oriented\nprotocols, such as DCCP, that in my private tree already uses most of\nthese members.\n\nThe functions that operate on these members were renamed, using a\ninet_csk_ prefix while not being moved yet to a new file, so as to\nease the review of these changes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8feaf0c0a5488b3d898a9c207eb6678f44ba3f26",
      "tree": "ddd004afe2f7c8295f6fdb94d34f78a42b5961cb",
      "parents": [
        "33b62231908c58ae04185e4f1063d1e35a7c8576"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:09:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:42:13 2005 -0700"
      },
      "message": "[INET]: Generalise tcp_tw_bucket, aka TIME_WAIT sockets\n\nThis paves the way to generalise the rest of the sock ID lookup\nroutines and saves some bytes in TCPv4 TIME_WAIT sockets on distro\nkernels (where IPv6 is always built as a module):\n\n[root@qemu ~]# grep tw_sock /proc/slabinfo\ntw_sock_TCPv6  0  0  128  31  1\ntw_sock_TCP    0  0   96  41  1\n[root@qemu ~]#\n\nNow if a protocol wants to use the TIME_WAIT generic infrastructure it\nonly has to set the sk_prot-\u003etwsk_obj_size field with the size of its\ninet_timewait_sock derived sock and proto_register will create\nsk_prot-\u003etwsk_slab, for now its only for INET sockets, but we can\nintroduce timewait_sock later if some non INET transport protocolo\nwants to use this stuff.\n\nNext changesets will take advantage of this new infrastructure to\ngeneralise even more TCP code.\n\n[acme@toy net-2.6.14]$ grep built-in /tmp/before.size /tmp/after.size\n/tmp/before.size: 188646   11764    5068  205478   322a6 net/ipv4/built-in.o\n/tmp/after.size:  188144   11764    5068  204976   320b0 net/ipv4/built-in.o\n[acme@toy net-2.6.14]$\n\nTested with both IPv4 \u0026 IPv6 (::1 (localhost) \u0026 ::ffff:172.20.0.1\n(qemu host)).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c752f0739f09b803aed191c4765a3b6650a08653",
      "tree": "33dcc7acf66ec51952b76276c758e38811f4f708",
      "parents": [
        "f3f05f7046e7c85b04af390d95a82a27160dd5d0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:08:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:41:54 2005 -0700"
      },
      "message": "[TCP]: Move the tcp sock states to net/tcp_states.h\n\nLots of places just needs the states, not even linux/tcp.h, where this\nenum was, needs it.\n\nThis speeds up development of the refactorings as less sources are\nrebuilt when things get moved from net/tcp.h.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3f05f7046e7c85b04af390d95a82a27160dd5d0",
      "tree": "9a4a552c030ea8b2428ceee75311d73a6b339255",
      "parents": [
        "6e04e02165a7209a71db553b7bc48d68421e5ebf"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:08:09 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:41:49 2005 -0700"
      },
      "message": "[INET]: Generalise the tcp_listen_ lock routines\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e04e02165a7209a71db553b7bc48d68421e5ebf",
      "tree": "004157924013e6c099cacac59f39d3dd61f3e0e5",
      "parents": [
        "2d8c4ce51903636ce0f60addc8134aa50ab8fa76"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:07:35 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:41:44 2005 -0700"
      },
      "message": "[INET]: Move tcp_port_rover to inet_hashinfo\n\nAlso expose all of the tcp_hashinfo members, i.e. killing those\ntcp_ehash, etc macros, this will more clearly expose already generic\nfunctions and some that need just a bit of work to become generic, as\nwe\u0027ll see in the upcoming changesets.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d8c4ce51903636ce0f60addc8134aa50ab8fa76",
      "tree": "1ea4d4faf831b832489b30b13d8910777020feed",
      "parents": [
        "ff21d5774b4a186c98be6398eacde75d896db804"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:07:13 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:40:29 2005 -0700"
      },
      "message": "[INET]: Generalise tcp_bind_hash \u0026 tcp_inherit_port\n\nThis required moving tcp_bucket_cachep to inet_hashinfo.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a55ebcc4c4532107ad9eee1c9bb698ab5f12c00f",
      "tree": "964be5918610e6f89cc7f2fee48418979b48773b",
      "parents": [
        "77d8bf9c6208eb535f05718168ffcc476be0ca8c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:01:14 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:38:48 2005 -0700"
      },
      "message": "[INET]: Move bind_hash from tcp_sk to inet_sk\n\nThis should really be in a inet_connection_sock, but I\u0027m leaving it\nfor a later optimization, when some more fields common to INET\ntransport protocols now in tcp_sk or inet_sk will be chunked out into\ninet_connection_sock, for now its better to concentrate on getting the\nchanges in the core merged to leave the DCCP tree with only DCCP\nspecific code.\n\nNext changesets will take advantage of this move to generalise things\nlike tcp_bind_hash, tcp_put_port, tcp_inherit_port, making the later\nreceive a inet_hashinfo parameter, and even __tcp_tw_hashdance, etc in\nthe future, when tcp_tw_bucket gets transformed into the struct\ntimewait_sock hierarchy.\n\ntcp_destroy_sock also is eligible as soon as tcp_orphan_count gets\nmoved to sk_prot.\n\nA cascade of incremental changes will ultimately make the tcp_lookup\nfunctions be fully generic.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77d8bf9c6208eb535f05718168ffcc476be0ca8c",
      "tree": "255d84f4f222161235d54f82793667cccc509229",
      "parents": [
        "0f7ff9274e72fd254fbd1ab117bbc1db6e7cdb34"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:00:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:38:39 2005 -0700"
      },
      "message": "[INET]: Move the TCP hashtable functions/structs to inet_hashtables.[ch]\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f7ff9274e72fd254fbd1ab117bbc1db6e7cdb34",
      "tree": "95736729a2f5302666604c4287a2af97ececd734",
      "parents": [
        "304a16180fb6d2b153b45f6fbbcec1fa814496e5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:59:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:38:32 2005 -0700"
      },
      "message": "[INET]: Just rename the TCP hashtable functions/structs to inet_\n\nThis is to break down the complexity of the series of patches,\nmaking it very clear that this one just does:\n\n1. renames tcp_ prefixed hashtable functions and data structures that\n   were already mostly generic to inet_ to share it with DCCP and\n   other INET transport protocols.\n\n2. Removes not used functions (__tb_head \u0026 tb_head)\n\n3. Removes some leftover prototypes in the headers (tcp_bucket_unlock \u0026\n   tcp_v4_build_header)\n\nNext changesets will move tcp_sk(sk)-\u003ebind_hash to inet_sock so that we can\nmake functions such as tcp_inherit_port, __tcp_inherit_port, tcp_v4_get_port,\n__tcp_put_port,  generic and get others like tcp_destroy_sock closer to generic\n(tcp_orphan_count will go to sk-\u003esk_prot to allow this).\n\nEventually most of these functions will be used passing the transport protocol\ninet_hashinfo structure.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32519f11d38ea8f4f60896763bacec7db1760f9c",
      "tree": "9e3fe09e4f7468f119350d80a6ecb8d871a86dd0",
      "parents": [
        "6cbb0df788b90777a7ed0f9d8261260353f48076"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:50:02 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:37:55 2005 -0700"
      },
      "message": "[INET]: Introduce inet_sk_rebuild_header\n\nFrom tcp_v4_rebuild_header, that already was pretty generic, I only\nneeded to use sk-\u003esk_protocol instead of the hardcoded IPPROTO_TCP and\nestablish the requirement that INET transport layer protocols that\nwant to use this function map TCP_SYN_SENT to its equivalent state.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cbb0df788b90777a7ed0f9d8261260353f48076",
      "tree": "152b75c0279b8f612412f24a5ab35ab6d5a208d8",
      "parents": [
        "614c6cb4f225a7da9f13e5dd0fac3b531078eb9f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:49:02 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:37:48 2005 -0700"
      },
      "message": "[SOCK]: Introduce sk_setup_caps\n\nFrom tcp_v4_setup_caps, that always is preceded by a call to\n__sk_dst_set, so coalesce this sequence into sk_setup_caps, removing\none call to a TCP function in the IP layer.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6848976b721eeb5551cd94673faafeef78d9f35",
      "tree": "6c78b0eb52614ff6386b603ca64091b5aefaa418",
      "parents": [
        "d13964f4490157b8a290903362bfbc54f750a6bc"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:45:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:37:29 2005 -0700"
      },
      "message": "[NET]: Cleanup INET_REFCNT_DEBUG code\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1b04c081e3fb0a08ac108737e4efa9f4830c916",
      "tree": "b45fe692feee1bdd713bf07eec7aeaf648fa80b8",
      "parents": [
        "889371f61fd5bb914d0331268f12432590cf7e85"
      ],
      "author": {
        "name": "Baruch Even",
        "email": "baruch@ev-en.org",
        "time": "Sat Jul 30 17:41:59 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 30 17:41:59 2005 -0700"
      },
      "message": "[NET]: Spelling mistakes threshoulds -\u003e thresholds\n\nJust simple spelling mistake fixes.\n\nSigned-Off-By: Baruch Even \u003cbaruch@ev-en.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86a76caf8705e3524e15f343f3c4806939a06dc8",
      "tree": "ac2022a6073b5af228e009178048bdab070d2230",
      "parents": [
        "b03efcfb2180289718991bb984044ce6c5b7d1b0"
      ],
      "author": {
        "name": "Victor Fusco",
        "email": "victor@cetuc.puc-rio.br",
        "time": "Fri Jul 08 14:57:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 14:57:47 2005 -0700"
      },
      "message": "[NET]: Fix sparse warnings\n\nFrom: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\n\nFix the sparse warning \"implicit cast to nocast type\"\n\nSigned-off-by: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b03efcfb2180289718991bb984044ce6c5b7d1b0",
      "tree": "f3b0c6c4eaf0991c28b7116a20994b48398eea57",
      "parents": [
        "a92b7b80579fe68fe229892815c750f6652eb6a9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 14:57:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 14:57:23 2005 -0700"
      },
      "message": "[NET]: Transform skb_queue_len() binary tests into skb_queue_empty()\n\nThis is part of the grand scheme to eliminate the qlen\nmember of skb_queue_head, and subsequently remove the\n\u0027list\u0027 member of sk_buff.\n\nMost users of skb_queue_len() want to know if the queue is\nempty or not, and that\u0027s trivially done with skb_queue_empty()\nwhich doesn\u0027t use the skb_queue_head-\u003eqlen member and instead\nuses the queue list emptyness as the test.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1b4a7e69576d65efc31a8cea0714173c2841244",
      "tree": "92082532651cddc6f0649a9d7ca9ca63e381d310",
      "parents": [
        "0d9901df62fe4820aee86b49f1a074cdb5c6928e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:24:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:24:38 2005 -0700"
      },
      "message": "[TCP]: Move to new TSO segmenting scheme.\n\nMake TSO segment transmit size decisions at send time not earlier.\n\nThe basic scheme is that we try to build as large a TSO frame as\npossible when pulling in the user data, but the size of the TSO frame\noutput to the card is determined at transmit time.\n\nThis is guided by tp-\u003exmit_size_goal.  It is always set to a multiple\nof MSS and tells sendmsg/sendpage how large an SKB to try and build.\n\nLater, tcp_write_xmit() and tcp_push_one() chop up the packet if\nnecessary and conditions warrant.  These routines can also decide to\n\"defer\" in order to wait for more ACKs to arrive and thus allow larger\nTSO frames to be emitted.\n\nA general observation is that TSO elongates the pipe, thus requiring a\nlarger congestion window and larger buffering especially at the sender\nside.  Therefore, it is important that applications 1) get a large\nenough socket send buffer (this is accomplished by our dynamic send\nbuffer expansion code) 2) do large enough writes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55c97f3e990c1ff63957c64f6cb10711a09fd70e",
      "tree": "003c5ca17005c8b22cc4cbe0b10721fc4ea676fd",
      "parents": [
        "a2e2a59c93cc8ba39caa9011c2573f429e40ccd9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:19:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:19:38 2005 -0700"
      },
      "message": "[TCP]: Fix __tcp_push_pending_frames() \u0027nonagle\u0027 handling.\n\n\u0027nonagle\u0027 should be passed to the tcp_snd_test() function\nas \u0027TCP_NAGLE_PUSH\u0027 if we are checking an SKB not at the\ntail of the write_queue.  This is because Nagle does not\napply to such frames since we cannot possibly tack more\ndata onto them.\n\nHowever, while doing this __tcp_push_pending_frames() makes\nall of the packets in the write_queue use this modified\n\u0027nonagle\u0027 value.\n\nFix the bug and simplify this function by just calling\ntcp_write_xmit() directly if sk_send_head is non-NULL.\n\nAs a result, we can now make tcp_data_snd_check() just call\ntcp_push_pending_frames() instead of the specialized\n__tcp_data_snd_check().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2e2a59c93cc8ba39caa9011c2573f429e40ccd9",
      "tree": "6eae3953758b1dd84fa42b0545dd5dfd95c65b19",
      "parents": [
        "92df7b518dcb113de8bc2494e3cd275ad887f12b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:19:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:19:23 2005 -0700"
      },
      "message": "[TCP]: Fix redundant calculations of tcp_current_mss()\n\ntcp_write_xmit() uses tcp_current_mss(), but some of it\u0027s callers,\nnamely __tcp_push_pending_frames(), already has this value available\nalready.\n\nWhile we\u0027re here, fix the \"cur_mss\" argument to be \"unsigned int\"\ninstead of plain \"unsigned\".\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a762a9800752f05fa8768bb0ac35d0e7f1bcfe7f",
      "tree": "2e92990b86b5bb5404e2f784f7cbb2579609bd95",
      "parents": [
        "f44b527177d57ed382bfd93e1b55232465f6d058"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:18:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:18:51 2005 -0700"
      },
      "message": "[TCP]: Kill extra cwnd validate in __tcp_push_pending_frames().\n\nThe tcp_cwnd_validate() function should only be invoked\nif we actually send some frames, yet __tcp_push_pending_frames()\nwill always invoke it.  tcp_write_xmit() does the call for us,\nso the call here can simply be removed.\n\nAlso, tcp_write_xmit() can be marked static.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84d3e7b9573291a1ea845bdd51b74bb484597661",
      "tree": "c0bd2b1721b09a21e9d44e92e2532dc79373844f",
      "parents": [
        "f6302d1d78f77c2d4c8bd32b0afc2df7fdf5f281"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:18:18 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:18:18 2005 -0700"
      },
      "message": "[TCP]: Move __tcp_data_snd_check into tcp_output.c\n\nIt reimplements portions of tcp_snd_check(), so it\nwe move it to tcp_output.c we can consolidate it\u0027s\nlogic much easier in a later change.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6302d1d78f77c2d4c8bd32b0afc2df7fdf5f281",
      "tree": "204ae65914f845312059af3fbd633460bda820e9",
      "parents": [
        "fc6415bcb0f58f03adb910e56d7e1df6368794e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:18:03 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:18:03 2005 -0700"
      },
      "message": "[TCP]: Move send test logic out of net/tcp.h\n\nThis just moves the code into tcp_output.c, no code logic changes are\nmade by this patch.\n\nUsing this as a baseline, we can begin to untangle the mess of\ncomparisons for the Nagle test et al.  We will also be able to reduce\nall of the redundant computation that occurs when outputting data\npackets.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc6415bcb0f58f03adb910e56d7e1df6368794e0",
      "tree": "71c326c1176e87c57c80cb32d9049b813f58bced",
      "parents": [
        "c65f7f00c587828e3d50737805a78f74804972de"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:17:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:17:45 2005 -0700"
      },
      "message": "[TCP]: Fix quick-ack decrementing with TSO.\n\nOn each packet output, we call tcp_dec_quickack_mode()\nif the ACK flag is set.  It drops tp-\u003eack.quick until\nit hits zero, at which time we deflate the ATO value.\n\nWhen doing TSO, we are emitting multiple packets with\nACK set, so we should decrement tp-\u003eack.quick that many\nsegments.\n\nNote that, unlike this case, tcp_enter_cwr() should not\ntake the tcp_skb_pcount(skb) into consideration.  That\nfunction, one time, readjusts tp-\u003esnd_cwnd and moves\ninto TCP_CA_CWR state.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8acfbac75c2ffdd66fb5dfcdb7ab5aaced94fd8",
      "tree": "16d93b0ca58c048e7e1b524f15e97db3e5beb35c",
      "parents": [
        "9b200b02a6c9cddca5132d64aa41156bbcddcbaa"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 23:45:02 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 23:45:02 2005 -0700"
      },
      "message": "[TCP]: Need to declare \u0027tcp_reno\u0027 in net/tcp.h\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f8ef48d240963093451bcf83df89f1a1364f51d",
      "tree": "cecb30c2f59778f7f509a84b3aa7ea097c3f2b27",
      "parents": [
        "51b0bdedb8e784d0d969a6b77151911130812400"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 20:37:36 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:37:36 2005 -0700"
      },
      "message": "[TCP]: Allow choosing TCP congestion control via sockopt.\n\nAllow using setsockopt to set TCP congestion control to use on a per\nsocket basis.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "317a76f9a44b437d6301718f4e5d08bd93f98da7",
      "tree": "caeba9839dee264f59b035b81c3d13d6c61b638e",
      "parents": [
        "a8ad86f2dc46356f87be1327dabc18bdbda32f50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Jun 23 12:19:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 12:19:55 2005 -0700"
      },
      "message": "[TCP]: Add pluggable congestion control algorithm infrastructure.\n\nAllow TCP to have multiple pluggable congestion control algorithms.\nAlgorithms are defined by a set of operations and can be built in\nor modules.  The legacy \"new RENO\" algorithm is used as a starting\npoint and fallback.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e52c1f17e4ea8e61bd26eb25f1a184202693c2b9",
      "tree": "d6094325ad30bf48f5296fd0faab85e8b9d76227",
      "parents": [
        "2ad69c55a282315e6119cf7fd744f26a925bdfd2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:49:40 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:49:40 2005 -0700"
      },
      "message": "[NET]: Move sysctl_max_syn_backlog into request_sock.c\n\nThis fixes the CONFIG_INET\u003dn build failure noticed\nby Andrew Morton.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e87506fcc734647c7b2497eee4eb81e785c857a",
      "tree": "bb8863c59fdef2628f17b6773c52801792a57722",
      "parents": [
        "60236fdd08b2169045a3bbfc5ffe1576e6c3c17b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:47:59 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:47:59 2005 -0700"
      },
      "message": "[NET] Generalise tcp_listen_opt\n\nThis chunks out the accept_queue and tcp_listen_opt code and moves\nthem to net/core/request_sock.c and include/net/request_sock.h, to\nmake it useful for other transport protocols, DCCP being the first one\nto use it.\n\nNext patches will rename tcp_listen_opt to accept_sock and remove the\ninline tcp functions that just call a reqsk_queue_ function.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60236fdd08b2169045a3bbfc5ffe1576e6c3c17b",
      "tree": "4541c682cc72daf560ec516e2b5868089a88b6ea",
      "parents": [
        "2e6599cb899ba4b133f42cbf9d2b1883d2dc583a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:47:21 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:47:21 2005 -0700"
      },
      "message": "[NET] Rename open_request to request_sock\n\nOk, this one just renames some stuff to have a better namespace and to\ndissassociate it from TCP:\n\nstruct open_request  -\u003e struct request_sock\ntcp_openreq_alloc    -\u003e reqsk_alloc\ntcp_openreq_free     -\u003e reqsk_free\ntcp_openreq_fastfree -\u003e __reqsk_free\n\nWith this most of the infrastructure closely resembles a struct\nsock methods subset.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e6599cb899ba4b133f42cbf9d2b1883d2dc583a",
      "tree": "b5d4fcca4d2a515fc3d3d20cefaaeebd8dbf661f",
      "parents": [
        "1944972d3bb651474a5021c9da8d0166ae19f1eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:46:52 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:46:52 2005 -0700"
      },
      "message": "[NET] Generalise TCP\u0027s struct open_request minisock infrastructure\n\nKept this first changeset minimal, without changing existing names to\nease peer review.\n\nBasicaly tcp_openreq_alloc now receives the or_calltable, that in turn\nhas two new members:\n\n-\u003eslab, that replaces tcp_openreq_cachep\n-\u003eobj_size, to inform the size of the openreq descendant for\n  a specific protocol\n\nThe protocol specific fields in struct open_request were moved to a\nclass hierarchy, with the things that are common to all connection\noriented PF_INET protocols in struct inet_request_sock, the TCP ones\nin tcp_request_sock, that is an inet_request_sock, that is an\nopen_request.\n\nI.e. this uses the same approach used for the struct sock class\nhierarchy, with sk_prot indicating if the protocol wants to use the\nopen_request infrastructure by filling in sk_prot-\u003ersk_prot with an\nor_calltable.\n\nResults? Performance is improved and TCP v4 now uses only 64 bytes per\nopen request minisock, down from 96 without this patch :-)\n\nNext changeset will rename some of the structs, fields and functions\nmentioned above, struct or_calltable is way unclear, better name it\nstruct request_sock_ops, s/struct open_request/struct request_sock/g,\netc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02c30a84e6298b6b20a56f0896ac80b47839e134",
      "tree": "031e9d68ad83c371af7ebeb6840f3ede52698663",
      "parents": [
        "125947f2ab8c45417feaa4a8800e89529ca4612f"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu May 05 16:16:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:49 2005 -0700"
      },
      "message": "[PATCH] update Ross Biro bouncing email address\n\nRoss moved.  Remove the bad email address so people will find the correct\none in ./CREDITS.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d5ac99a648b8c61d0c7f1c32a8ab7f1dca0123d2",
      "tree": "3811d84e83dab918c57aeca1081ae343cb97df8b",
      "parents": [
        "158a0e45b69254a9ee4d7795e3b98d8c959fb799"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 24 19:12:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 24 19:12:33 2005 -0700"
      },
      "message": "[TCP]: skb pcount with MTU discovery\n\nThe problem is that when doing MTU discovery, the too-large segments in\nthe write queue will be calculated as having a pcount of \u003e1.  When\ntcp_write_xmit() is trying to send, tcp_snd_test() fails the cwnd test\nwhen pcount \u003e cwnd.\n\nThe segments are eventually transmitted one at a time by keepalive, but\nthis can take a long time.\n\nThis patch checks if TSO is enabled when setting pcount.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
