)]}'
{
  "log": [
    {
      "commit": "5ee3afba88f5a79d0bff07ddd87af45919259f91",
      "tree": "b0117be47ea4f84abf56996f39792362c15909d7",
      "parents": [
        "768f3591e2b1cc309fd6f10d6579b216026d7817"
      ],
      "author": {
        "name": "Rick Jones",
        "email": "rick.jones2@hp.com",
        "time": "Tue Sep 18 13:26:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:35 2007 -0700"
      },
      "message": "[TCP]: Return useful listenq info in tcp_info and INET_DIAG_INFO.\n\nReturn some useful information such as the maximum listen backlog and\nthe current listen backlog in the tcp_info structure and\nINET_DIAG_INFO.\n\nSigned-off-by: Rick Jones \u003crick.jones2@hp.com\u003e\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "172589ccdde41b59861c92c4a971b95514ef24e3",
      "tree": "ae775e6db4cb85aad1c74b6d93ba359f9dfe88ea",
      "parents": [
        "c45248c70125cc374fdf264659643276c72801bf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Aug 28 15:50:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:37 2007 -0700"
      },
      "message": "[NET]: DIV_ROUND_UP cleanup (part two)\n\nHopefully captured all single statement cases under net/. I\u0027m\nnot too sure if there is some policy about #includes that are\n\"guaranteed\" (ie., in the current tree) to be available through\nsome other #included header, so I just added linux/kernel.h to\neach changed file that didn\u0027t #include it previously.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e60402d0a909ca2e6e2fbdf9ed004ef0fae36d33",
      "tree": "b40a00b801cf44f81bebd7dadddb19c0086b145c",
      "parents": [
        "b9c4595bc4947faa236a849324fe3492e388d949"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 09 15:14:46 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:00 2007 -0700"
      },
      "message": "[TCP]: Move sack_ok access to obviously named funcs \u0026 cleanup\n\nPreviously code had IsReno/IsFack defined as macros that were\nlocal to tcp_input.c though sack_ok field has user elsewhere too\nfor the same purpose. This changes them to static inlines as\npreferred according the current coding style and unifies the\naccess to sack_ok across multiple files. Magic bitops of sack_ok\nfor FACK and DSACK are also abstracted to functions with\nappropriate names.\n\nNote:\n- One sack_ok \u003d 1 remains but that\u0027s self explanary, i.e., it\n  enables sack\n- Couple of !IsReno cases are changed to tcp_is_sack\n- There were no users for IsDSack \u003d\u003e I dropped it\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3516ffb0fef710749daf288c0fe146503e0cf9d4",
      "tree": "f3e3cd29dd541a457e61152560fe4416642a69bc",
      "parents": [
        "1bcabbdb0bdfe8b15b05150a7857646430aaa7f8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 02 19:23:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 02 19:42:28 2007 -0700"
      },
      "message": "[TCP]: Invoke tcp_sendmsg() directly, do not use inet_sendmsg().\n\nAs discovered by Evegniy Polyakov, if we try to sendmsg after\na connection reset, we can do incredibly stupid things.\n\nThe core issue is that inet_sendmsg() tries to autobind the\nsocket, but we should never do that for TCP.  Instead we should\njust go straight into TCP\u0027s sendmsg() code which will do all\nof the necessary state and pending socket error checks.\n\nTCP\u0027s sendpage already directly vectors to tcp_sendpage(), so this\nmerely brings sendmsg() in line with that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "e00c5d8b4d800b95b72b3f072e1d55d7c7034702",
      "tree": "737ffff95a250bcb344de7263e059eeb0df97678",
      "parents": [
        "2b1244a43be97f504494b557a7f7a65fe0d00dba"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 08 09:57:36 2007 -0800"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jul 11 16:10:53 2007 -0700"
      },
      "message": "I/OAT: warning fix\nnet/ipv4/tcp.c: In function \u0027tcp_recvmsg\u0027:\nnet/ipv4/tcp.c:1111: warning: unused variable \u0027available\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\n"
    },
    {
      "commit": "2b1244a43be97f504494b557a7f7a65fe0d00dba",
      "tree": "d3be36597917dbbae664fc6eb97dbe876c5e44e3",
      "parents": [
        "72d0b7a81d60f5e64ee7197bc190b9b3265f99dd"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Thu Mar 08 09:57:36 2007 -0800"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jul 11 16:10:53 2007 -0700"
      },
      "message": "I/OAT: Only offload copies for TCP when there will be a context switch\nThe performance wins come with having the DMA copy engine doing the copies\nin parallel with the context switch.  If there is enough data ready on the\nsocket at recv time just use a regular copy.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\n"
    },
    {
      "commit": "ddb61a57bb6df673986e6476407f97d28b02031f",
      "tree": "1e7faaddbb0fa96d5fec64e15140a697c0cfd5eb",
      "parents": [
        "4b2a8fb3a7f7935f62a7bbdc851789fb7c2da032"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Jun 23 23:07:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 23 23:07:50 2007 -0700"
      },
      "message": "[TCP] tcp_read_sock: Allow recv_actor() return return negative error value.\n\ntcp_read_sock() currently assumes that the recv_actor() only returns\nnumber of bytes copied. For network splice receive, we may have to\nreturn an error in some cases. So allow the actor to return a negative\nerror value.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f196eb519a419bf83ecc22753943fd0a0de4f8f",
      "tree": "0dbec7698b6bebd5c6bccd5a02246ff3edf4efa6",
      "parents": [
        "278a3de5abc7901805689a66340b5af9882b4f9a"
      ],
      "author": {
        "name": "Mark Glines",
        "email": "mark@glines.org",
        "time": "Thu May 31 15:44:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 03 18:08:43 2007 -0700"
      },
      "message": "[TCP]: Use default 32768-61000 outgoing port range in all cases.\n\nThis diff changes the default port range used for outgoing connections,\nfrom \"use 32768-61000 in most cases, but use N-4999 on small boxes\n(where N is a multiple of 1024, depending on just *how* small the box\nis)\" to just \"use 32768-61000 in all cases\".\n\nI don\u0027t believe there are any drawbacks to this change, and it keeps\noutgoing connection ports farther away from the mess of\nIANA-registered ports.\n\nSigned-off-by: Mark Glines \u003cmark@glines.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4fd5da39f99d5921dda1fe3d93652fbd925fbfd",
      "tree": "595967b745720653cdc0f7c9e5d61c5433ea143e",
      "parents": [
        "4e07a91c37c69ec1647c218214591ee4fe3408fe"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Tue May 29 13:19:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 31 01:23:34 2007 -0700"
      },
      "message": "[TCP]: Consolidate checking for tcp orphan count being too big.\n\ntcp_out_of_resources() and tcp_close() perform the\nsame checking of number of orphan sockets. Move this\ncode into common place.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b40b4f79ce789e9e28d382c85006f62be2725282",
      "tree": "0764b390c4077f4569597678881487f718d25706",
      "parents": [
        "fde82055c1d0e64ff660d83c705db0e1abc9d12e"
      ],
      "author": {
        "name": "Srinivas Aji",
        "email": "Aji_Srinivas@emc.com",
        "time": "Thu May 03 17:32:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 17:32:28 2007 -0700"
      },
      "message": "[TCP]: zero out rx_opt in tcp_disconnect()\n\nWhen the server drops its connection, NFS client reconnects using the\nsame socket after disconnecting. If the new connection\u0027s SYN,ACK\ndoesn\u0027t contain the TCP timestamp option and the old connection\u0027s did,\ntp-\u003etcp_header_len is recomputed assuming no timestamp header but\ntp-\u003erx_opt.tstamp_ok remains set. Then tcp_build_and_update_options()\nadds in a timestamp option past the end of the allocated TCP header,\noverwriting TCP data, or when the data is in skb_shinfo(skb)-\u003efrags[],\noverwriting skb_shinfo(skb) causing a crash soon after. (The issue was\ndebugged from such a crash.)\n\nSimilarly, wscale_ok and sack_ok also get set based on the SYN,ACK\npacket but not reset on disconnect, since they are zeroed out at\ninitialization. The patch zeroes out the entire tp-\u003erx_opt struct in\ntcp_disconnect() to avoid this sort of problem.\n\nSigned-off-by: Srinivas Aji \u003cAji_Srinivas@emc.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65bb723c9502b7ba0a3aad13bdac8832e213ba74",
      "tree": "8afacca25ce6a611da0c667210a2f3c39637f8f0",
      "parents": [
        "ecfd6b183780c6d9e85873693b3ce6c5f4d08b58"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Apr 28 21:21:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 28 21:21:46 2007 -0700"
      },
      "message": "[TCP]: Update references in two old comments\n\nThis updates references to drafts in comments which must be about 10\nyears old.  Internet draft draft-ietf-tcpimpl-prob-03.txt expired in 1998\nand was replaced by RFC 2525 in March 1999.\n\nSection 3.10 of the draft maps almost identically into section 2.17 of RFC\n2525: both are entitled \"Failure to RST on close with data pending\", the\ndifferences in text body amount to a typo and minor sentence change.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e412ba7632f71259a53085665d4983b78257b7c",
      "tree": "b02d6df7e5357a741bf6d52a93e04a52b84f1f90",
      "parents": [
        "38b4da383705394788aa09208917ba200792de4b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Apr 20 22:18:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:34 2007 -0700"
      },
      "message": "[TCP]: Sed magic converts func(sk, tp, ...) -\u003e func(sk, ...)\n\nThis is (mostly) automated change using magic:\n\nsed -e \u0027/struct sock \\*sk/ N\u0027 -e \u0027/struct sock \\*sk/ N\u0027\n    -e \u0027/struct sock \\*sk/ N\u0027 -e \u0027/struct sock \\*sk/ N\u0027\n    -e \u0027s|struct sock \\*sk,[\\n\\t ]*struct tcp_sock \\*tp\\([^{]*\\n{\\n\\)|\n\t  struct sock \\*sk\\1\\tstruct tcp_sock *tp \u003d tcp_sk(sk);\\n|g\u0027\n    -e \u0027s|struct sock \\*sk, struct tcp_sock \\*tp|\n\t  struct sock \\*sk|g\u0027 -e \u0027s|sk, tp\\([^-]\\)|sk\\1|g\u0027\n\nFixed four unused variable (tp) warnings that were introduced.\n\nIn addition, manually added newlines after local variables and\ntweaked function arguments positioning.\n\n$ gcc --version\ngcc (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1)\n...\n$ codiff -fV built-in.o.old built-in.o.new\nnet/ipv4/route.c:\n  rt_cache_flush |  +14\n 1 function changed, 14 bytes added\n\nnet/ipv4/tcp.c:\n  tcp_setsockopt |   -5\n  tcp_sendpage   |  -25\n  tcp_sendmsg    |  -16\n 3 functions changed, 46 bytes removed\n\nnet/ipv4/tcp_input.c:\n  tcp_try_undo_recovery |   +3\n  tcp_try_undo_dsack    |   +2\n  tcp_mark_head_lost    |  -12\n  tcp_ack               |  -15\n  tcp_event_data_recv   |  -32\n  tcp_rcv_state_process |  -10\n  tcp_rcv_established   |   +1\n 7 functions changed, 6 bytes added, 69 bytes removed, diff: -63\n\nnet/ipv4/tcp_output.c:\n  update_send_head          |   -9\n  tcp_transmit_skb          |  +19\n  tcp_cwnd_validate         |   +1\n  tcp_write_wakeup          |  -17\n  __tcp_push_pending_frames |  -25\n  tcp_push_one              |   -8\n  tcp_send_fin              |   -4\n 7 functions changed, 20 bytes added, 63 bytes removed, diff: -43\n\nbuilt-in.o.new:\n 18 functions changed, 40 bytes added, 178 bytes removed, diff: -138\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ac02bab77438b484a5cf855a002fb6a1d592894",
      "tree": "8a7442a9c9fa39e147eca0f0728a0691712b191a",
      "parents": [
        "3ff50b7997fe06cd5d276b229967bb52d6b3b6c1"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 20 17:11:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:25 2007 -0700"
      },
      "message": "[TCP]: Uninline tcp_done().\n\nThe function is quite big and has several call sites and nothing\nto collapse by compiler optimization on inlining.\n\nBesides it\u0027s nicer to read in a in .c file.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ff50b7997fe06cd5d276b229967bb52d6b3b6c1",
      "tree": "4f0f57123a945c3e6c39759456b6187bb78c4b1f",
      "parents": [
        "c462238d6a6d8ee855bda10f9fff442971540ed2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Apr 20 17:09:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:24 2007 -0700"
      },
      "message": "[NET]: cleanup extra semicolons\n\nSpring cleaning time...\n\nThere seems to be a lot of places in the network code that have\nextra bogus semicolons after conditionals.  Most commonly is a\nbogus semicolon after: switch() { }\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4103f8cd5c1f260d674a7b426ed221812de54d47",
      "tree": "28649757907dd77b53a8c16533c963c43fea4be0",
      "parents": [
        "73417f617a93cf30342c3ea41abc38927bd467aa"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Mar 27 13:58:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:19 2007 -0700"
      },
      "message": "[TCP]: tcp_memory_pressure and tcp_socket are__read_mostly candidates\n\ntcp_memory_pressure and tcp_socket currently share a cache line with tcp_memory_allocated, tcp_sockets_allocated.\n(Very hot cache line)\nIt makes sense to declare these variables as __read_mostly, to avoid false sharing on SMP.\n\nffffffff8081d9c0 B tcp_orphan_count\nffffffff8081d9c4 B tcp_memory_allocated\nffffffff8081d9c8 B tcp_sockets_allocated\nffffffff8081d9cc B tcp_memory_pressure\nffffffff8081d9d0 b tcp_md5sig_users\nffffffff8081d9d8 b tcp_md5sig_pool\nffffffff8081d9e0 b warntime.31570\nffffffff8081d9e8 b tcp_socket\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa8223c7bb0b05183e1737881ed21827aa5b9e73",
      "tree": "05c9832326edfeb878472f15cf8133ed9f014cdf",
      "parents": [
        "ab6a5bb6b28a970104a34f0f6959b73cf61bdc72"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:04:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:26 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce tcp_hdr(), remove skb-\u003eh.th\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe067e8ab5e0dc5ca3c54634924c628da92090b4",
      "tree": "98f5a6ebbb770f16682cfc52caea2da1e7eeb73b",
      "parents": [
        "02ea4923b4997d7e1310c027081f46d584b9d714"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Mar 07 12:12:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:02 2007 -0700"
      },
      "message": "[TCP]: Abstract out all write queue operations.\n\nThis allows the write queue implementation to be changed,\nfor example, to one which allows fast interval searching.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53cdcc04c1e85d4e423b2822b66149b6f2e52c2c",
      "tree": "7a4072113c88b00f28e75dbcee3e8e803c44d79b",
      "parents": [
        "3e6b3b2e34ac2c72fa05b5e4b20bd88d64c298dc"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Fri Mar 16 15:04:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 16 15:04:03 2007 -0700"
      },
      "message": "[TCP]: Fix tcp_mem[] initialization.\n\nChange tcp_mem initialization function.  The fraction of total memory\nis now a continuous function of memory size, and independent of page\nsize.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c4f6219aca5939b57596278ea8b014275d4917b",
      "tree": "4635aab17f05da9945e112c61c54e93788417f4e",
      "parents": [
        "7f62ad5d37f4e43c841e92c6f159c93dcf2d2cdd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Feb 20 23:51:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Feb 26 11:42:48 2007 -0800"
      },
      "message": "[TCP]: Fix MD5 signature pool locking.\n\nThe locking calls assumed that these code paths were only\ninvoked in software interrupt context, but that isn\u0027t true.\n\nTherefore we need to use spin_{lock,unlock}_bh() throughout.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e905a9edab7f4f14f9213b52234e4a346c690911",
      "tree": "9e52a5f47eec47c5685c347ff7af22290a10305b",
      "parents": [
        "642656518b2e64fd59d9bbd15b6885cac5fe99b1"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:47 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:39 2007 -0800"
      },
      "message": "[NET] IPV4: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbca9b2750e3b1ee6f56a616160ccfc12e8b161f",
      "tree": "bf84c0acb5495fc95bc616d32b8af946f2e3bca9",
      "parents": [
        "eac3731bd04c7131478722a3c148b78774553116"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Feb 08 14:16:46 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 08 14:16:46 2007 -0800"
      },
      "message": "[NET]: change layout of ehash table\n\nehash table layout is currently this one :\n\nFirst half of this table is used by sockets not in TIME_WAIT state\nSecond half of it is used by sockets in TIME_WAIT state.\n\nThis is non optimal because of for a given hash or socket, the two chain heads \nare located in separate cache lines.\nMoreover the locks of the second half are never used.\n\nIf instead of this halving, we use two list heads in inet_ehash_bucket instead \nof only one, we probably can avoid one cache miss, and reduce ram usage, \nparticularly if sizeof(rwlock_t) is big (various CONFIG_DEBUG_SPINLOCK, \nCONFIG_DEBUG_LOCK_ALLOC settings). So we still halves the table but we keep \ntogether related chains to speedup lookups and socket state change.\n\nIn this patch I did not try to align struct inet_ehash_bucket, but a future \npatch could try to make this structure have a convenient size (a power of two \nor a multiple of L1_CACHE_SIZE).\nI guess rwlock will just vanish as soon as RCU is plugged into ehash :) , so \nmaybe we dont need to scratch our heads to align the bucket...\n\nNote : In case struct inet_ehash_bucket is not a power of two, we could \nprobably change alloc_large_system_hash() (in case it use __get_free_pages()) \nto free the unused space. It currently allocates a big zone, but the last \nquarter of it could be freed. Again, this should be a temporary \u0027problem\u0027.\n\nPatch tested on ipv4 tcp only, but should be OK for IPV6 and DCCP.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6931ba7cef3991fbb970997d33e24139ccdc3c2c",
      "tree": "b9b94005e1b4b1d9e2628d7fd5d3b5357d578598",
      "parents": [
        "befffe901649e2cc421d0d150c4379d01658cf6b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 13 16:25:44 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 13 16:48:26 2006 -0800"
      },
      "message": "[TCP]: Fix oops caused by __tcp_put_md5sig_pool()\n\nIt should call tcp_free_md5sig_pool() not __tcp_free_md5sig_pool()\nso that it does proper refcounting.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5b99bcdddfb2338227faad3489c24907f37ee8e",
      "tree": "ab12dd443300df741e388ca80df0860dc65d24b0",
      "parents": [
        "2718aa7c55ba7264dd463b8f7006f0975366fa7b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Nov 30 17:22:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:31:51 2006 -0800"
      },
      "message": "[NET]: Possible cleanups.\n\nThis patch contains the following possible cleanups:\n- make the following needlessly global functions statis:\n  - ipv4/tcp.c: __tcp_alloc_md5sig_pool()\n  - ipv4/tcp_ipv4.c: tcp_v4_reqsk_md5_lookup()\n  - ipv4/udplite.c: udplite_rcv()\n  - ipv4/udplite.c: udplite_err()\n- make the following needlessly global structs static:\n  - ipv4/tcp_ipv4.c: tcp_request_sock_ipv4_ops\n  - ipv4/tcp_ipv4.c: tcp_sock_ipv4_specific\n  - ipv6/tcp_ipv6.c: tcp_request_sock_ipv6_ops\n- net/ipv{4,6}/udplite.c: remove inline\u0027s from static functions\n                          (gcc should know best when to inline them)\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "352d48008b6f3e02d8ce77868432e329dd921cb1",
      "tree": "f95a23cc93d4a2bc7b7ef2f0431e455ab2059506",
      "parents": [
        "eafff86d3bd80403c808f67f5389813fdb5bd6c8"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Nov 17 19:59:12 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:24:03 2006 -0800"
      },
      "message": "[TCP]: Tidy up skb_entail\n\nHeck, it even saves us some few bytes:\n\n[acme@newtoy net-2.6.20]$ codiff -f /tmp/tcp.o.before ../OUTPUT/qemu/net-2.6.20/net/ipv4/tcp.o\n/pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c:\n  tcp_sendpage |   -7\n  tcp_sendmsg  |   -5\n 2 functions changed, 12 bytes removed\n[acme@newtoy net-2.6.20]$\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "d3bc23e7ee9db8023dff5a86bb3b0069ed018789",
      "tree": "f281b190a20084386666e0f3bb957df427b93ca7",
      "parents": [
        "9981a0e36a572e9fcf84bfab915fdc93bed0e3c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:24:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:27 2006 -0800"
      },
      "message": "[NET]: Annotate callers of csum_fold() in net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfb6eeb4c860592edd123fdea908d23c6ad1c7dc",
      "tree": "361c073622faa540ef6602ef1b0a6e8c0a17fc60",
      "parents": [
        "bf6bce71eae386dbc37f93af7e5ad173450d9945"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Nov 14 19:07:45 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:39 2006 -0800"
      },
      "message": "[TCP]: MD5 Signature Option (RFC2385) support.\n\nBased on implementation by Rick Payne.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52bf376c63eebe72e862a1a6e713976b038c3f50",
      "tree": "2bc19582770c2e2d55bc55c4faf7b15ac14228b4",
      "parents": [
        "337dde798dd1f3e4d4df4e684a0b4355dd65103d"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Tue Nov 14 20:25:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 15 21:18:51 2006 -0800"
      },
      "message": "[TCP]: Fix up sysctl_tcp_mem initialization.\n\nFix up tcp_mem initial settings to take into account the size of the\nhash entries (different on SMP and non-SMP systems).\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e950efa20dc8037c27509666cba6999da9368e8",
      "tree": "803cc09ecd7e400b6561719ea48b226f76c752fc",
      "parents": [
        "3b6a792f6ace33584897d1af08630c9acc0ce221"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Mon Nov 06 23:10:51 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Nov 07 15:10:11 2006 -0800"
      },
      "message": "[TCP]: Don\u0027t use highmem in tcp hash size calculation.\n\nThis patch removes consideration of high memory when determining TCP\nhash table sizes.  Taking into account high memory results in tcp_mem\nvalues that are too large.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ef9696c909060ccdae3ade245ca88692b49285b",
      "tree": "3a2df5bbd6b448a4f873125ab5dd7c7a0cc7ae05",
      "parents": [
        "4eb327b517cf85f6cb7dcd5691e7b748cbe8c343"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Tue Sep 19 12:52:50 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:19:05 2006 -0700"
      },
      "message": "[TCP]: Send ACKs each 2nd received segment.\n\nIt does not affect either mss-sized connections (obviously) or\nconnections controlled by Nagle (because there is only one small\nsegment in flight).\n\nThe idea is to record the fact that a small segment arrives on a\nconnection, where one small segment has already been received and\nstill not-ACKed. In this case ACK is forced after tcp_recvmsg() drains\nreceive buffer.\n\nIn other words, it is a \"soft\" each-2nd-segment ACK, which is enough\nto preserve ACK clock even when ABC is enabled.\n\nSigned-off-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5d679f33900c71d1a76ba07c5b04055abd34480",
      "tree": "fb581f7156870056dbb91feaab9d3dd22fdcf61e",
      "parents": [
        "ff5dfe736dd9f6c74b206aa77c0465dfd503bdb9"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Aug 26 19:25:52 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:19 2006 -0700"
      },
      "message": "[NET]: Use SLAB_PANIC\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab32ea5d8a760e7dd4339634e95d7be24ee5b842",
      "tree": "8460a66c529fe03f926848326d9b6aa874e19514",
      "parents": [
        "56fc85ac961e2c20dcb5ef07e2628b3f93de2e49"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Sep 22 14:15:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:55:03 2006 -0700"
      },
      "message": "[NET/IPV4/IPV6]: Change some sysctl variables to __read_mostly\n\nChange net/core, ipv4 and ipv6 sysctl variables to __read_mostly.\n\nCouldn\u0027t actually measure any performance increase while testing (.3%\nI consider noise), but seems like the right thing to do.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84fa7933a33f806bbbaae6775e87459b1ec584c0",
      "tree": "5be404225d90f640997b12f631e9b496b3fd0d61",
      "parents": [
        "8584d6df39db5601965f9bc5e3bf2fea833ad7bb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 29 16:44:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:53 2006 -0700"
      },
      "message": "[NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE\n\nReplace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose\nchecksum still needs to be completed) and CHECKSUM_COMPLETE (for\nincoming packets, device supplied full checksum).\n\nPatch originally from Herbert Xu, updated by myself for 2.6.18-rc3.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29bbd72d6ee1dbf2d9f00d022f8e999aa528fb3a",
      "tree": "4bc8ba22fff42b1da83cab3b3d8113b6d4771b7a",
      "parents": [
        "95ce568812822931991a24147987c5c75c0ac5b0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Aug 02 15:02:31 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 02 15:02:31 2006 -0700"
      },
      "message": "[NET]: Fix more per-cpu typos\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52499afe40387524e9f46ef9ce4695efccdd2ed9",
      "tree": "eb097a1c4150ff00a66a692f378ea4fb6f1035f0",
      "parents": [
        "a280b89982f48e9a32c6410a37419b12ca88af6b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 31 22:32:09 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Aug 02 13:38:24 2006 -0700"
      },
      "message": "[TCP]: Process linger2 timeout consistently.\n\nBased upon guidance from Alexey Kuznetsov.\n\nWhen linger2 is active, we check to see if the fin_wait2\ntimeout is longer than the timewait.  If it is, we schedule\nthe keepalive timer for the difference between the timewait\ntimeout and the fin_wait2 timeout.\n\nWhen this orphan socket is seen by tcp_keepalive_timer()\nit will try to transform this fin_wait2 socket into a\nfin_wait2 mini-socket, again if linger2 is active.\n\nNot all paths were setting this initial keepalive timer correctly.\nThe tcp input path was doing it correctly, but tcp_close() wasn\u0027t,\npotentially making the socket linger longer than it really needs to.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbcf467dab42ea3c85f368df346c82af2fbba665",
      "tree": "e9fe30c1be9c6a3773454bad3eefaabf4f5bee48",
      "parents": [
        "6ce1669fdb6b0a0faf9b2e2ba08048b520c57841"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 03 19:38:35 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 03 19:38:35 2006 -0700"
      },
      "message": "[NET]: Verify gso_type too in gso_segment\n\nWe don\u0027t want nasty Xen guests to pass a TCPv6 packet in with gso_type set\nto TCPv4 or even UDP (or a packet that\u0027s both TCP and UDP).\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e37a72de84d27ee8bc0e7dbb5c2f1774ed306dbb",
      "tree": "f9da35cbd79b52a5bd08d4a0f960bde6af741da0",
      "parents": [
        "93fdf10d4c28edaa1b9f80e7f9c3002359186d00",
        "f83ef8c0b58dac17211a4c0b6df0e2b1bd6637b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:40:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:40:17 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [IPV6]: Added GSO support for TCPv6\n  [NET]: Generalise TSO-specific bits from skb_setup_caps\n  [IPV6]: Added GSO support for TCPv6\n  [IPV6]: Remove redundant length check on input\n  [NETFILTER]: SCTP conntrack: fix crash triggered by packet without chunks\n  [TG3]: Update version and reldate\n  [TG3]: Add TSO workaround using GSO\n  [TG3]: Turn on hw fix for ASF problems\n  [TG3]: Add rx BD workaround\n  [TG3]: Add tg3_netif_stop() in vlan functions\n  [TCP]: Reset gso_segs if packet is dodgy\n"
    },
    {
      "commit": "bcd76111178ebccedd46a9b3eaff65c78e5a70af",
      "tree": "b0f059f3cb19d425d30cf42b2088aca4cae12a0a",
      "parents": [
        "adcfc7d0b4d7bc3c7edac6fdde9f3ae510bd6054"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 30 13:36:35 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 30 14:12:08 2006 -0700"
      },
      "message": "[NET]: Generalise TSO-specific bits from skb_setup_caps\n\nThis patch generalises the TSO-specific bits from sk_setup_caps by adding\nthe sk_gso_type member to struct sock.  This makes sk_setup_caps generic\nso that it can be used by TCPv6 or UFO.\n\nThe only catch is that whoever uses this must provide a GSO implementation\nfor their protocol which I think is a fair deal :) For now UFO continues to\nlive without a GSO implementation which is OK since it doesn\u0027t use the sock\ncaps field at the moment.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adcfc7d0b4d7bc3c7edac6fdde9f3ae510bd6054",
      "tree": "6bf8f6facbfbac9ea8ed4d3310ea46a7518ae453",
      "parents": [
        "2889139a6acd2945f6143eb85f7dc2a22a352e1a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 30 13:36:15 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 30 14:12:06 2006 -0700"
      },
      "message": "[IPV6]: Added GSO support for TCPv6\n\nThis patch adds GSO support for IPv6 and TCPv6.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3820c3f3e41786322c0bb225b9c77b8deff869d1",
      "tree": "a422ad9d119950af2d139849fe24e935ad9f0a22",
      "parents": [
        "598736c55622f7ea65b98f93c825ff95c433877c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 29 20:11:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 30 14:11:47 2006 -0700"
      },
      "message": "[TCP]: Reset gso_segs if packet is dodgy\n\nI wasn\u0027t paranoid enough in verifying GSO information.  A bogus gso_segs\ncould upset drivers as much as a bogus header would.  Let\u0027s reset it in\nthe per-protocol gso_segment functions.\n\nI didn\u0027t verify gso_size because that can be verified by the source of\nthe dodgy packets.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "576a30eb6453439b3c37ba24455ac7090c247b5a",
      "tree": "e0c427a61e3de5c93e797c09903d910f6f060e64",
      "parents": [
        "68c1692e3ea5d79f24cb5cc566c4a73939d13d25"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jun 27 13:22:38 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 29 16:57:53 2006 -0700"
      },
      "message": "[NET]: Added GSO header verification\n\nWhen GSO packets come from an untrusted source (e.g., a Xen guest domain),\nwe need to verify the header integrity before passing it to the hardware.\n\nSince the first step in GSO is to verify the header, we can reuse that\ncode by adding a new bit to gso_type: SKB_GSO_DODGY.  Packets with this\nbit set can only be fed directly to devices with the corresponding bit\nNETIF_F_GSO_ROBUST.  If the device doesn\u0027t have that bit, then the skb\nis fed to the GSO engine which will allow the packet to be sent to the\nhardware if it passes the header check.\n\nThis patch changes the sg flag to a full features flag.  The same method\ncan be used to implement TSO ECN support.  We simply have to mark packets\nwith CWR set with SKB_GSO_ECN so that only hardware with a corresponding\nNETIF_F_TSO_ECN can accept them.  The GSO engine can either fully segment\nthe packet, or segment the first MTU and pass the rest to the hardware for\nfurther segmentation.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0718bcc09b3597c51e87f265c72135a4928d3c0b",
      "tree": "fd4a686629488bad28f3c780e6b2b52803698877",
      "parents": [
        "3ba07e65b288f00cc4d2420f1da46309b1cb5a0c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Jun 25 23:55:46 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 25 23:55:46 2006 -0700"
      },
      "message": "[NET]: Fix CHECKSUM_HW GSO problems.\n\nFix checksum problems in the GSO code path for CHECKSUM_HW packets.\n\nThe ipv4 TCP pseudo header checksum has to be adjusted for GSO\nsegmented packets.\n\nThe adjustment is needed because the length field in the pseudo-header\nchanges.  However, because we have the inequality oldlen \u003e newlen, we\nknow that delta \u003d (u16)~oldlen + newlen is still a 16-bit quantity.\nThis also means that htonl(delta) + th-\u003echeck still fits in 32 bits.\nTherefore we don\u0027t have to use csum_add on this operations.\n\nThis is based on a patch by Michael Chan \u003cmchan@broadcom.com\u003e.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4c50d990dcf11a296679dc05de3873783236711",
      "tree": "f4daf1c80fe591d45631e998b0b5d31d6fe76d85",
      "parents": [
        "f6a78bfcb141f963187464bac838d46a81c3882a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 03:02:40 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:33 2006 -0700"
      },
      "message": "[NET]: Add software TSOv4\n\nThis patch adds the GSO implementation for IPv4 TCP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7967168cefdbc63bf332d6b1548eca7cd65ebbcc",
      "tree": "c45759149ae0acdc89d746e556a0ae278d11776d",
      "parents": [
        "d4828d85d188dc70ed172802e798d3978bb6e29e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 02:40:14 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:29 2006 -0700"
      },
      "message": "[NET]: Merge TSO/UFO fields in sk_buff\n\nHaving separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not\ngoing to scale if we add any more segmentation methods (e.g., DCCP).  So\nlet\u0027s merge them.\n\nThey were used to tell the protocol of a packet.  This function has been\nsubsumed by the new gso_type field.  This is essentially a set of netdev\nfeature bits (shifted by 16 bits) that are required to process a specific\nskb.  As such it\u0027s easy to tell whether a given device can process a GSO\nskb: you just have to and the gso_type field and the netdev\u0027s features\nfield.\n\nI\u0027ve made gso_type a conjunction.  The idea is that you have a base type\n(e.g., SKB_GSO_TCPV4) that can be modified further to support new features.\nFor example, if we add a hardware TSO type that supports ECN, they would\ndeclare NETIF_F_TSO | NETIF_F_TSO_ECN.  All TSO packets with CWR set would\nhave a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO\npackets would be SKB_GSO_TCPV4.  This means that only the CWR packets need\nto be emulated in software.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8648b3053bff39a7ee4c711d74268079c928a657",
      "tree": "6de70eedf63c4b965d04040323827f1bc520ccdf",
      "parents": [
        "00b7050426da8e7e58c889c5c80a19920d2d41b3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jun 17 22:06:05 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 17 22:06:05 2006 -0700"
      },
      "message": "[NET]: Add NETIF_F_GEN_CSUM and NETIF_F_ALL_CSUM\n\nThe current stack treats NETIF_F_HW_CSUM and NETIF_F_NO_CSUM\nidentically so we test for them in quite a few places.  For the sake\nof brevity, I\u0027m adding the macro NETIF_F_GEN_CSUM for these two.  We\nalso test the disjunct of NETIF_F_IP_CSUM and the other two in various\nplaces, for that purpose I\u0027ve added NETIF_F_ALL_CSUM.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a2449a87bb7606113b1aa1a9d3c3e78ef189a1c",
      "tree": "86e833a8694f201de138697646e7e8469e9c8ef6",
      "parents": [
        "9593782585e0cf70babe787a8463d492a68b1744"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue May 23 18:05:53 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:25:56 2006 -0700"
      },
      "message": "[I/OAT]: TCP recv offload to I/OAT\n\nLocks down user pages and sets up for DMA in tcp_recvmsg, then calls\ndma_async_try_early_copy in tcp_v4_do_rcv\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "624d1164730d58a494cc5aa4afa37d02c41e83a7",
      "tree": "b6cc0776a826f8f2611eff41149410c7f4ccb355",
      "parents": [
        "0e4b4992b8007c6b62ec143cbbb292f98813ca11"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue May 23 18:01:28 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:25:52 2006 -0700"
      },
      "message": "[I/OAT]: Make sk_eat_skb I/OAT aware.\n\nAdd an extra argument to sk_eat_skb, and make it move early copied\npackets to the async_wait_queue instead of freeing them.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e4b4992b8007c6b62ec143cbbb292f98813ca11",
      "tree": "fccdef8ec226d1febc5f7c22a793b10337026187",
      "parents": [
        "97fc2f0848c928c63c2ae619deee61a0b1107b69"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue May 23 18:00:16 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:25:50 2006 -0700"
      },
      "message": "[I/OAT]: Rename cleanup_rbuf to tcp_cleanup_rbuf and make non-static\n\nNeeded to be able to call tcp_cleanup_rbuf in tcp_input.c for I/OAT\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75c2d9077c63ac21488129cc23561d4f4fd0f5e5",
      "tree": "f32af17fdadc749f899f66371981055fa8eab35a",
      "parents": [
        "82e84249f0ee098e004c8bd6d90a1640bd56cfbb"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 03 23:31:35 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 03 23:31:35 2006 -0700"
      },
      "message": "[TCP]: Fix sock_orphan dead lock\n\nCalling sock_orphan inside bh_lock_sock in tcp_close can lead to dead\nlocks.  For example, the inet_diag code holds sk_callback_lock without\ndisabling BH.  If an inbound packet arrives during that admittedly tiny\nwindow, it will cause a dead lock on bh_lock_sock.  Another possible\npath would be through sock_wfree if the network device driver frees the\ntx skb in process context with BH enabled.\n\nWe can fix this by moving sock_orphan out of bh_lock_sock.\n\nThe tricky bit is to work out when we need to destroy the socket\nourselves and when it has already been destroyed by someone else.\n\nBy moving sock_orphan before the release_sock we can solve this\nproblem.  This is because as long as we own the socket lock its\nstate cannot change.\n\nSo we simply record the socket state before the release_sock\nand then check the state again after we regain the socket lock.\nIf the socket state has transitioned to TCP_CLOSE in the time being,\nwe know that the socket has been destroyed.  Otherwise the socket is\nstill ours to keep.\n\nNote that I\u0027ve also moved the increment on the orphan count forward.\nThis may look like a problem as we\u0027re increasing it even if the socket\nis just about to be destroyed where it\u0027ll be decreased again.  However,\nthis simply enlarges a window that already exists.  This also changes\nthe orphan count test by one.\n\nConsidering what the orphan count is meant to do this is no big deal.\n\nThis problem was discoverd by Ingo Molnar using his lock validator.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b55813a2e50088ca30df33fa62aeed5d3adb1796",
      "tree": "be50fe404e94869fe854766e190a5753dbc7dd49",
      "parents": [
        "368d17e068f691dba5a4f122c271db5ec9b2ebd6",
        "9e19bb6d7a0959f5028d46e1ab99c50f0d36eda8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:39:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:39:20 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NETFILTER] x_table.c: sem2mutex\n  [IPV4]: Aggregate route entries with different TOS values\n  [TCP]: Mark tcp_*mem[] __read_mostly.\n  [TCP]: Set default max buffers from memory pool size\n  [SCTP]: Fix up sctp_rcv return value\n  [NET]: Take RTNL when unregistering notifier\n  [WIRELESS]: Fix config dependencies.\n  [NET]: Fill in a 32-bit hole in struct sock on 64-bit platforms.\n  [NET]: Ensure device name passed to SO_BINDTODEVICE is NULL terminated.\n  [MODULES]: Don\u0027t allow statically declared exports\n  [BRIDGE]: Unaligned accesses in the ethernet bridge\n"
    },
    {
      "commit": "f348d70a324e15afc701a494f32ec468abb7d1eb",
      "tree": "a4cb43429f7f08a6621c581bd99e4a03198e8c67",
      "parents": [
        "501f2499b897ca4be68b1acc7a4bc8cf66f5fd24"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Sat Mar 25 03:07:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:56 2006 -0800"
      },
      "message": "[PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications\n\nImplement the half-closed devices notifiation, by adding a new POLLRDHUP\n(and its alias EPOLLRDHUP) bit to the existing poll/select sets.  Since the\nexisting POLLHUP handling, that does not report correctly half-closed\ndevices, was feared to be changed, this implementation leaves the current\nPOLLHUP reporting unchanged and simply add a new bit that is set in the few\nplaces where it makes sense.  The same thing was discussed and conceptually\nagreed quite some time ago:\n\nhttp://lkml.org/lkml/2003/7/12/116\n\nSince this new event bit is added to the existing Linux poll infrastruture,\neven the existing poll/select system calls will be able to use it.  As far\nas the existing POLLHUP handling, the patch leaves it as is.  The\npollrdhup-2.6.16.rc5-0.10.diff defines the POLLRDHUP for all the existing\narchs and sets the bit in the six relevant files.  The other attached diff\nis the simple change required to sys/epoll.h to add the EPOLLRDHUP\ndefinition.\n\nThere is \"a stupid program\" to test POLLRDHUP delivery here:\n\n http://www.xmailserver.org/pollrdhup-test.c\n\nIt tests poll(2), but since the delivery is same epoll(2) will work equally.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b8059eadf9f4dc24bd72da71daa832a9a9899fb4",
      "tree": "14ce03cd0b322ba35a600d13930a440aafda6f8d",
      "parents": [
        "7b4f4b5ebceab67ce440a61081a69f0265e17c2a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Mar 25 01:36:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Mar 25 01:36:56 2006 -0800"
      },
      "message": "[TCP]: Mark tcp_*mem[] __read_mostly.\n\nSuggested by Stephen Hemminger.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b4f4b5ebceab67ce440a61081a69f0265e17c2a",
      "tree": "ac02c685ce23f2440fecbebaa5b55cd47947c03e",
      "parents": [
        "2babf9daae4a3561f3264638a22ac7d0b14a6f52"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Sat Mar 25 01:34:07 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 25 01:34:07 2006 -0800"
      },
      "message": "[TCP]: Set default max buffers from memory pool size\n\nThis patch sets the maximum TCP buffer sizes (available to automatic\nbuffer tuning, not to setsockopt) based on the TCP memory pool size.\nThe maximum sndbuf and rcvbuf each will be up to 4 MB, but no more\nthan 1/128 of the memory pressure threshold.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "543d9cfeec4d58ad3fd974db5531b06b6b95deb4",
      "tree": "b5f79a92ec01b4a97f26d48cae11566498641822",
      "parents": [
        "f94691acf9df35d5cd828373e35391bdc4a3fde6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:48:35 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:48:35 2006 -0800"
      },
      "message": "[NET]: Identation \u0026 other cleanups related to compat_[gs]etsockopt cset\n\nNo code changes, just tidying up, in some cases moving EXPORT_SYMBOLs\nto just after the function exported, etc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dec73ff0293d59076d1fd8f4a264898ecfc457ec",
      "tree": "251a87b4b98d073fcd3753e01eea5ea44aaf9570",
      "parents": [
        "d1d47beef8ecaeedc368f00780d02cfa5e540005"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:46:16 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:46:16 2006 -0800"
      },
      "message": "[ICSK] compat: Introduce inet_csk_compat_[gs]etsockopt\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fdadf7d27e3fbcf72930941884387d1f4936f04",
      "tree": "167072cf1e60b6b307610563614b435ff0caa52d",
      "parents": [
        "c750360938b403e6cc193d293cfbcb099dd6c60e"
      ],
      "author": {
        "name": "Dmitry Mishin",
        "email": "dim@openvz.org",
        "time": "Mon Mar 20 22:45:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:45:21 2006 -0800"
      },
      "message": "[NET]: {get|set}sockopt compatibility layer\n\nThis patch extends {get|set}sockopt compatibility layer in order to\nmove protocol specific parts to their place and avoid huge universal\nnet/compat.c file in the future.\n\nSigned-off-by: Dmitry Mishin \u003cdim@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d83d8461f902c672bc1bd8fbc6a94e19f092da97",
      "tree": "0534c553ab92baa2eb9dbb5bba64f2c4540b1e89",
      "parents": [
        "22712813620fa8e682dbfb253a60ca0131da1e07"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:26:10 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:58 2006 -0800"
      },
      "message": "[IP_SOCKGLUE]: Remove most of the tcp specific calls\n\nAs DCCP needs to be called in the same spots.\n\nNow we have a member in inet_sock (is_icsk), set at sock creation time from\nstruct inet_protosw-\u003eflags (if INET_PROTOSW_ICSK is set, like for TCP and\nDCCP) to see if a struct sock instance is a inet_connection_sock for places\nlike the ones in ip_sockglue.c (v4 and v6) where we previously were looking if\nsk_type was SOCK_STREAM, that is insufficient because we now use the same code\nfor DCCP, that has sk_type SOCK_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": "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": "9b5b5cff9a6655dbb6d2e2be365bb95eec3950eb",
      "tree": "80517910c731fc48512ba9c31aa823575db405b3",
      "parents": [
        "fb29644994744a63bc57186cefa79534b5d9b5a9"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Nov 29 16:21:38 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 16:21:38 2005 -0800"
      },
      "message": "[NET]: Add const markers to various variables.\n\nthe patch below marks various variables const in net/; the goal is to\nmove them to the .rodata section so that they can\u0027t false-share\ncachelines with things that get written to, as well as potentially\nhelping gcc a bit with optimisations.  (these were found using a gcc\npatch to warn about such variables)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18955cfcb2a5d75a08e0cb297f13ccfb6904de48",
      "tree": "0cd153fab98e3fc09b4741f811e55e81d5719111",
      "parents": [
        "2f12c74f0cfdc93e1d47ac70766e837ef29472fd"
      ],
      "author": {
        "name": "Mike Stroyan",
        "email": "mike.stroyan@hp.com",
        "time": "Tue Nov 29 16:12:55 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 16:12:55 2005 -0800"
      },
      "message": "[IPV4] tcp/route: Another look at hash table sizes\n\n  The tcp_ehash hash table gets too big on systems with really big memory.\nIt is worse on systems with pages larger than 4KB.  It wastes memory that\ncould be better used.  It also makes the netstat command slow because reading\n/proc/net/tcp and /proc/net/tcp6 needs to go through the full hash table.\n\n  The default value should not be larger for larger page sizes.  It seems\nthat the effect of page size is an unintended error dating back a long\ntime.  I also wonder if the default value really should be a larger\nfraction of memory for systems with more memory.  While systems with\nreally big ram can afford more space for hash tables, it is not clear to\nme that they benefit from increasing the allocation ratio for this table.\n\n  The amount of memory allocated is determined by net/ipv4/tcp.c:tcp_init and\nmm/page_alloc.c:alloc_large_system_hash.\n\ntcp_init calls alloc_large_system_hash passing parameters-\n    bucketsize\u003dsizeof(struct tcp_ehash_bucket)\n    numentries\u003dthash_entries\n    scale\u003d(num_physpages \u003e\u003d 128 * 1024) ? (25-PAGE_SHIFT) : (27-PAGE_SHIFT)\n    limit\u003d0\n\nOn i386, PAGE_SHIFT is 12 for a page size of 4K\nOn ia64, PAGE_SHIFT defaults to 14 for a page size of 16K\n\nThe num_physpages test above makes the allocation take a larger fraction\nof the total memory on systems with larger memory.  The threshold size\nfor a i386 system is 512MB.  For an ia64 system with 16KB pages the\nthreshold is 2GB.\n\nFor smaller memory systems-\nOn i386, scale \u003d (27 - 12) \u003d 15\nOn ia64, scale \u003d (27 - 14) \u003d 13\nFor larger memory systems-\nOn i386, scale \u003d (25 - 12) \u003d 13\nOn ia64, scale \u003d (25 - 14) \u003d 11\n\n  For the rest of this discussion, I\u0027ll just track the larger memory case.\n\n  The default behavior has numentries\u003dthash_entries\u003d0, so the allocated\nsize is determined by either scale or by the default limit of 1/16 of\ntotal memory.\n\nIn alloc_large_system_hash-\n|\tnumentries \u003d (flags \u0026 HASH_HIGHMEM) ? nr_all_pages : nr_kernel_pages;\n|\tnumentries +\u003d (1UL \u003c\u003c (20 - PAGE_SHIFT)) - 1;\n|\tnumentries \u003e\u003e\u003d 20 - PAGE_SHIFT;\n|\tnumentries \u003c\u003c\u003d 20 - PAGE_SHIFT;\n\n  At this point, numentries is pages for all of memory, rounded up to the\nnearest megabyte boundary.\n\n|\t/* limit to 1 bucket per 2^scale bytes of low memory */\n|\tif (scale \u003e PAGE_SHIFT)\n|\t\tnumentries \u003e\u003e\u003d (scale - PAGE_SHIFT);\n|\telse\n|\t\tnumentries \u003c\u003c\u003d (PAGE_SHIFT - scale);\n\nOn i386, numentries \u003e\u003e\u003d (13 - 12), so numentries is 1/8196 of\nbytes of total memory.\nOn ia64, numentries \u003c\u003c\u003d (14 - 11), so numentries is 1/2048 of\nbytes of total memory.\n\n|        log2qty \u003d long_log2(numentries);\n|\n|        do {\n|                size \u003d bucketsize \u003c\u003c log2qty;\n\nbucketsize is 16, so size is 16 times numentries, rounded\ndown to a power of two.\n\nOn i386, size is 1/512 of bytes of total memory.\nOn ia64, size is 1/128 of bytes of total memory.\n\nFor smaller systems the results are\nOn i386, size is 1/2048 of bytes of total memory.\nOn ia64, size is 1/512 of bytes of total memory.\n\n  The large page effect can be removed by just replacing\nthe use of PAGE_SHIFT with a constant of 12 in the calls to\nalloc_large_system_hash.  That makes them more like the other uses of\nthat function from fs/inode.c and fs/dcache.c\n\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": "6df716340da3a6fdd33d73d7ed4c6f7590ca1c42",
      "tree": "1b3ba3d1a0a08b9b4eaa624a66414b87a70b6fe9",
      "parents": [
        "6151b31c9616d71f714fc7ef8e2306f67f3b94c3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Nov 03 16:33:23 2005 -0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sat Nov 05 21:23:15 2005 -0200"
      },
      "message": "[TCP/DCCP]: Randomize port selection\n\nThis patch randomizes the port selected on bind() for connections\nto help with possible security attacks. It should also be faster\nin most cases because there is no need for a global lock.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "fb5f5e6e0cebd574be737334671d1aa8f170d5f3",
      "tree": "edc95c215cb4929dea3cf391234f648b22f80405",
      "parents": [
        "1198ad002ad36291817c7bf0308ab9c50ee2571d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Sep 05 18:55:48 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 05 18:55:48 2005 -0700"
      },
      "message": "[TCP]: Fix TCP_OFF() bug check introduced by previous change.\n\nThe TCP_OFF assignment at the bottom of that if block can indeed set\nTCP_OFF without setting TCP_PAGE.  Since there is not much to be\ngained from avoiding this situation, we might as well just zap the\noffset.  The following patch should fix it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef015786152adaff5a6a8bf0c8ea2f70cee8059d",
      "tree": "3042db7e451c61aefc60c1463bb6e307ca510638",
      "parents": [
        "d80d99d643090c3cf2b1f9fb3fadd1256f7e384f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 01 17:48:59 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 17:48:59 2005 -0700"
      },
      "message": "[TCP]: Fix sk_forward_alloc underflow in tcp_sendmsg\n\nI\u0027ve finally found a potential cause of the sk_forward_alloc underflows\nthat people have been reporting sporadically.\n\nWhen tcp_sendmsg tacks on extra bits to an existing TCP_PAGE we don\u0027t\ncheck sk_forward_alloc even though a large amount of time may have\nelapsed since we allocated the page.  In the mean time someone could\u0027ve\ncome along and liberated packets and reclaimed sk_forward_alloc memory.\n\nThis patch makes tcp_sendmsg check sk_forward_alloc every time as we\ndo in do_tcp_sendpages.\n \nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d80d99d643090c3cf2b1f9fb3fadd1256f7e384f",
      "tree": "5e8bd46fa6c73cace5efb77c43e863cd36edb0c9",
      "parents": [
        "2dac4b96b9362954a0638317b90e3e7bcb112e83"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 01 17:48:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 17:48:23 2005 -0700"
      },
      "message": "[NET]: Add sk_stream_wmem_schedule\n\nThis patch introduces sk_stream_wmem_schedule as a short-hand for\nthe sk_forward_alloc checking on egress.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba89966c1984513f4f2cc0a6c182266be44ddd03",
      "tree": "6e5766fc5c287708c03e0a162531dfd4785b0703",
      "parents": [
        "29cb9f9c5502f6218cd3ea574efe46a5e55522d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Aug 26 12:05:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:11:18 2005 -0700"
      },
      "message": "[NET]: use __read_mostly on kmem_cache_t , DEFINE_SNMP_STAT pointers\n\nThis patch puts mostly read only data in the right section\n(read_mostly), to help sharing of these data between CPUS without\nmemory ping pongs.\n\nOn one of my production machine, tcp_statistics was sitting in a\nheavily modified cache line, so *every* SNMP update had to force a\nreload.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc40c7bc76054f5e4382835ca2bafb895b993a8a",
      "tree": "70951f8d97dc191df3c772c830b667ad7af6dfd9",
      "parents": [
        "2babe1f6fea717c36c008c878fe095d1ca5696c1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 23 21:52:58 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:05:32 2005 -0700"
      },
      "message": "[ICSK]: Generalise tcp_listen_poll\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": "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": "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": "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": "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": "83e3609eba3818f6e18b8bf9442195169ac306b7",
      "tree": "b0dd71b7e5ea6e8b17813cf6b3736a1b0f443ab7",
      "parents": [
        "080774a243f56ce2195ace96fba3d18548ee48ce"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:33:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:32:11 2005 -0700"
      },
      "message": "[REQSK]: Move the syn_table destroy from tcp_listen_stop to reqsk_queue_destroy\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8728b834b226ffcf2c94a58530090e292af2a7bf",
      "tree": "2fd51ff3b7097eb3ffc41ea3a1d8b3ba04715b4c",
      "parents": [
        "6869c4d8e066e21623c812c448a05f1ed931c9c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:25:21 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:14 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003elist\n\nRemove the \"list\" member of struct sk_buff, as it is entirely\nredundant.  All SKB list removal callers know which list the\nSKB is on, so storing this in sk_buff does nothing other than\ntaking up some space.\n\nTwo tricky bits were SCTP, which I took care of, and two ATM\ndrivers which Francois Romieu \u003cromieu@fr.zoreil.com\u003e fixed\nup.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Francois Romieu \u003cromieu@fr.zoreil.com\u003e\n"
    },
    {
      "commit": "89ebd197eb2cd31d6187db344d5117064e19fdde",
      "tree": "d017e5c04afcd33d99a2bf8554332c5754df8c36",
      "parents": [
        "0fbbeb1ba43bd04f0f1d4f161b7f72437a1c8a03"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 23 10:13:06 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 23 10:13:06 2005 -0700"
      },
      "message": "[TCP]: Unconditionally clear TCP_NAGLE_PUSH in skb_entail().\n\nIntention of this bit is to force pushing of the existing\nsend queue when TCP_CORK or TCP_NODELAY state changes via\nsetsockopt().\n\nBut it\u0027s easy to create a situation where the bit never\nclears.  For example, if the send queue starts empty:\n\n1) set TCP_NODELAY\n2) clear TCP_NODELAY\n3) set TCP_CORK\n4) do small write()\n\nThe current code will leave TCP_NAGLE_PUSH set after that\nsequence.  Unconditionally clearing the bit when new data\nis added via skb_entail() solves the problem.\n\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": "b4e26f5ea0dbdd1e813c5571fb467022d8eb948a",
      "tree": "6d1d36cafebb126ff3946443e6d03fec60776f5e",
      "parents": [
        "aa93466bdfd901b926e033801f0b82b3eaa67be2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:20:27 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:20:27 2005 -0700"
      },
      "message": "[TCP]: Fix send-side cpu utiliziation regression.\n\nOnly put user data purely to pages when doing TSO.\n\nThe extra page allocations cause two problems:\n\n1) Add the overhead of the page allocations themselves.\n2) Make us do small user copies when we get to the end\n   of the TCP socket cache page.\n\nIt is still beneficial to purely use pages for TSO,\nso we will do it for that case.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c65f7f00c587828e3d50737805a78f74804972de",
      "tree": "160f85e7d9ec1df2432b4dd3fae315812558bd10",
      "parents": [
        "b8259d9ad1d0f8d0c5ea0e37bb15080b0bd395b5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:17:25 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:17:25 2005 -0700"
      },
      "message": "[TCP]: Simplify SKB data portion allocation with NETIF_F_SG.\n\nThe ideal and most optimal layout for an SKB when doing\nscatter-gather is to put all the headers at skb-\u003edata, and\nall the user data in the page array.\n\nThis makes SKB splitting and combining extremely simple,\nespecially before a packet goes onto the wire the first\ntime.\n\nSo, when sk_stream_alloc_pskb() is given a zero size, make\nsure there is no skb_tailroom().  This is achieved by applying\nSKB_DATA_ALIGN() to the header length used here.\n\nNext, make select_size() in TCP output segmentation use a\nlength of zero when NETIF_F_SG is true on the outgoing\ninterface.\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": "7df551254add79a445d2e47e8f849cef8fee6e38",
      "tree": "468a43ac3f94b9bf8618b102a7d609e29d3900f5",
      "parents": [
        "f7d7fc0322c1770fe7ee836ca2732c2f88e2e1a4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 23:01:10 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 23:01:10 2005 -0700"
      },
      "message": "[TCP]: Fix sysctl_tcp_low_latency\n\nWhen enabled, this should disable UCOPY prequeue\u0027ing altogether,\nbut it does not due to a missing test.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ad69c55a282315e6119cf7fd744f26a925bdfd2",
      "tree": "85350a384e5c1c6646bd8f9e75c6f11c1f6752ff",
      "parents": [
        "0e87506fcc734647c7b2497eee4eb81e785c857a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Jun 18 22:48:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:48:55 2005 -0700"
      },
      "message": "[NET] rename struct tcp_listen_opt to struct listen_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": "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": "e7626486c3c4ce456b11a7944edf164ef76fc599",
      "tree": "78e374b63ebc2c8ca354203d2bbe866d2d7a415f",
      "parents": [
        "03722adce90a248d0bea77d390decbd05991e2d2"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Jun 13 14:24:52 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 13 14:24:52 2005 -0700"
      },
      "message": "[TCP]: Adjust TCP mem order check to new alloc_large_system_hash\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "02c30a84e6298b6b20a56f0896ac80b47839e134"
}
