)]}'
{
  "log": [
    {
      "commit": "ab1e0a13d70299e792fd0527cefd070c1405fa5b",
      "tree": "d470e7b94b0e33ea59b12713366f1bee0b94f78c",
      "parents": [
        "9dc7f30e3bac329998a2a9bb814bd0abc7cb58e2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Feb 03 04:06:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:52 2008 -0800"
      },
      "message": "[SOCK] proto: Add hashinfo member to struct proto\n\nThis way we can remove TCP and DCCP specific versions of\n\nsk-\u003esk_prot-\u003eget_port: both v4 and v6 use inet_csk_get_port\nsk-\u003esk_prot-\u003ehash:     inet_hash is directly used, only v6 need\n                       a specific version to deal with mapped sockets\nsk-\u003esk_prot-\u003eunhash:   both v4 and v6 use inet_hash directly\n\nstruct inet_connection_sock_af_ops also gets a new member, bind_conflict, so\nthat inet_csk_get_port can find the per family routine.\n\nNow only the lookup routines receive as a parameter a struct inet_hashtable.\n\nWith this we further reuse code, reducing the difference among INET transport\nprotocols.\n\nEventually work has to be done on UDP and SCTP to make them share this\ninfrastructure and get as a bonus inet_diag interfaces so that iproute can be\nused with these protocols.\n\nnet-2.6/net/ipv4/inet_hashtables.c:\n  struct proto\t\t\t     |   +8\n  struct inet_connection_sock_af_ops |   +8\n 2 structs changed\n  __inet_hash_nolisten               |  +18\n  __inet_hash                        | -210\n  inet_put_port                      |   +8\n  inet_bind_bucket_create            |   +1\n  __inet_hash_connect                |   -8\n 5 functions changed, 27 bytes added, 218 bytes removed, diff: -191\n\nnet-2.6/net/core/sock.c:\n  proto_seq_show                     |   +3\n 1 function changed, 3 bytes added, diff: +3\n\nnet-2.6/net/ipv4/inet_connection_sock.c:\n  inet_csk_get_port                  |  +15\n 1 function changed, 15 bytes added, diff: +15\n\nnet-2.6/net/ipv4/tcp.c:\n  tcp_set_state                      |   -7\n 1 function changed, 7 bytes removed, diff: -7\n\nnet-2.6/net/ipv4/tcp_ipv4.c:\n  tcp_v4_get_port                    |  -31\n  tcp_v4_hash                        |  -48\n  tcp_v4_destroy_sock                |   -7\n  tcp_v4_syn_recv_sock               |   -2\n  tcp_unhash                         | -179\n 5 functions changed, 267 bytes removed, diff: -267\n\nnet-2.6/net/ipv6/inet6_hashtables.c:\n  __inet6_hash |   +8\n 1 function changed, 8 bytes added, diff: +8\n\nnet-2.6/net/ipv4/inet_hashtables.c:\n  inet_unhash                        | +190\n  inet_hash                          | +242\n 2 functions changed, 432 bytes added, diff: +432\n\nvmlinux:\n 16 functions changed, 485 bytes added, 492 bytes removed, diff: -7\n\n/home/acme/git/net-2.6/net/ipv6/tcp_ipv6.c:\n  tcp_v6_get_port                    |  -31\n  tcp_v6_hash                        |   -7\n  tcp_v6_syn_recv_sock               |   -9\n 3 functions changed, 47 bytes removed, diff: -47\n\n/home/acme/git/net-2.6/net/dccp/proto.c:\n  dccp_destroy_sock                  |   -7\n  dccp_unhash                        | -179\n  dccp_hash                          |  -49\n  dccp_set_state                     |   -7\n  dccp_done                          |   +1\n 5 functions changed, 1 bytes added, 242 bytes removed, diff: -241\n\n/home/acme/git/net-2.6/net/dccp/ipv4.c:\n  dccp_v4_get_port                   |  -31\n  dccp_v4_request_recv_sock          |   -2\n 2 functions changed, 33 bytes removed, diff: -33\n\n/home/acme/git/net-2.6/net/dccp/ipv6.c:\n  dccp_v6_get_port                   |  -31\n  dccp_v6_hash                       |   -7\n  dccp_v6_request_recv_sock          |   +5\n 3 functions changed, 5 bytes added, 38 bytes removed, diff: -33\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a19ec5800fc3bb64e2d87c4d9fdd9e636086fe0",
      "tree": "610bd4e7dbcbdae25ba3806f4256745e98617825",
      "parents": [
        "036c2e27bc3a6498afb35de017d810194032d765"
      ],
      "author": {
        "name": "Laszlo Attila Toth",
        "email": "panther@balabit.hu",
        "time": "Wed Jan 30 19:08:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:19 2008 -0800"
      },
      "message": "[NET]: Introducing socket mark socket option.\n\nA userspace program may wish to set the mark for each packets its send\nwithout using the netfilter MARK target. Changing the mark can be used\nfor mark based routing without netfilter or for packet filtering.\n\nIt requires CAP_NET_ADMIN capability.\n\nSigned-off-by: Laszlo Attila Toth \u003cpanther@balabit.hu\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9993e7d313e80bdc005d09c7def91903e0068f07",
      "tree": "ed7c65b35fd3392948ab2f6b225f69225fdcbba8",
      "parents": [
        "e186932b3d26bd975022a1e254407e95dddceae7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 21:56:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:42 2008 -0800"
      },
      "message": "[TCP]: Do not purge sk_forward_alloc entirely in tcp_delack_timer().\n\nOtherwise we beat heavily on the global tcp_memory atomics\nwhen all of the sockets in the system are slowly sending\nperioding packet clumps.\n\nNoticed and suggested by Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65f7651788e18fadb2fbb7276af935d7871e1803",
      "tree": "dcad32d4344d6d11d80061773d9d1dbc9ae92223",
      "parents": [
        "571e7682026fd0e25833d103a3eeb74be29bf199"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Jan 03 20:46:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:36 2008 -0800"
      },
      "message": "[NET]: prot_inuse cleanups and optimizations\n\n1) Cleanups (all functions are prefixed by sock_prot_inuse)\n\nsock_prot_inc_use(prot) -\u003e sock_prot_inuse_add(prot,-1)\nsock_prot_dec_use(prot) -\u003e sock_prot_inuse_add(prot,-1)\nsock_prot_inuse()       -\u003e sock_prot_inuse_get()\n\nNew functions :\n\nsock_prot_inuse_init() and sock_prot_inuse_free() to abstract pcounter use.\n\n2) if CONFIG_PROC_FS\u003dn, we can zap \u0027inuse\u0027 member from \"struct proto\",\nsince nobody wants to read the inuse value.\n\nThis saves 1372 bytes on i386/SMP and some cpu cycles.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ab224be6d69de912ee21302745ea45a99274dbc",
      "tree": "335dcef1cfacfefe3f36c21d5f144e011bc3bfba",
      "parents": [
        "a06b494b61de44617dd58612164bdde56fca7bfb"
      ],
      "author": {
        "name": "Hideo Aoki",
        "email": "haoki@redhat.com",
        "time": "Mon Dec 31 00:11:19 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:18 2008 -0800"
      },
      "message": "[NET] CORE: Introducing new memory accounting interface.\n\nThis patch introduces new memory accounting functions for each network\nprotocol. Most of them are renamed from memory accounting functions\nfor stream protocols. At the same time, some stream memory accounting\nfunctions are removed since other functions do same thing.\n\nRenaming:\n\tsk_stream_free_skb()\t\t-\u003e\tsk_wmem_free_skb()\n\t__sk_stream_mem_reclaim()\t-\u003e\t__sk_mem_reclaim()\n\tsk_stream_mem_reclaim()\t\t-\u003e\tsk_mem_reclaim()\n\tsk_stream_mem_schedule \t\t-\u003e    \t__sk_mem_schedule()\n\tsk_stream_pages()      \t\t-\u003e\tsk_mem_pages()\n\tsk_stream_rmem_schedule()\t-\u003e\tsk_rmem_schedule()\n\tsk_stream_wmem_schedule()\t-\u003e\tsk_wmem_schedule()\n\tsk_charge_skb()\t\t\t-\u003e\tsk_mem_charge()\n\nRemoveing\n\tsk_stream_rfree():\tconsolidates into sock_rfree()\n\tsk_stream_set_owner_r(): consolidates into skb_set_owner_r()\n\tsk_stream_mem_schedule()\n\nThe following functions are added.\n    \tsk_has_account(): check if the protocol supports accounting\n\tsk_mem_uncharge(): do the opposite of sk_mem_charge()\n\nIn addition, to achieve consolidation, updating sk_wmem_queued is\nremoved from sk_mem_charge().\n\nNext, to consolidate memory accounting functions, this patch adds\nmemory accounting calls to network core functions. Moreover, present\nmemory accounting call is renamed to new accounting call.\n\nFinally we replace present memory accounting calls with new interface\nin TCP and SCTP.\n\nSigned-off-by: Takahiro Yasui \u003ctyasui@redhat.com\u003e\nSigned-off-by: Hideo Aoki \u003chaoki@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21371f768bf7127ee45bfaadd17899df6a439e8f",
      "tree": "91b5debf1d861a40c942a33f1286b70031a94305",
      "parents": [
        "b15c4bcd15741b31019379298edfca28dc78029d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Dec 24 20:57:56 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:05 2008 -0800"
      },
      "message": "[SOCK] Avoid divides in sk_stream_pages() and __sk_stream_mem_reclaim()\n\nsk_forward_alloc being signed, we should take care of divides by\nSK_STREAM_MEM_QUANTUM we do in sk_stream_pages() and\n__sk_stream_mem_reclaim()\n\nThis patchs introduces SK_STREAM_MEM_QUANTUM_SHIFT, defined\nas ilog2(SK_STREAM_MEM_QUANTUM), to be able to use right\nshifts instead of plain divides.\n\nThis should help compiler to choose right shifts instead of\nexpensive divides (as seen with CONFIG_CC_OPTIMIZE_FOR_SIZE\u003dy on x86)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8df09ea3b8ccfe0c94844102d33fa46f57c08d9e",
      "tree": "a7e91a1e2c9eea21b1e1a6a67bd855899627aafe",
      "parents": [
        "ce55dd3610f7ac29bf8d159c2e2ace9aaf2c3038"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Dec 21 03:07:41 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:59:59 2008 -0800"
      },
      "message": "[SOCK] Avoid integer divides where not necessary in include/net/sock.h\n\nBecause sk_wmem_queued, sk_sndbuf are signed, a divide per two\nmay force compiler to use an integer divide.\n\nWe can instead use a right shift.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41380930d2cbdc0abf7513a675864258b7ac973d",
      "tree": "bded49b68abc1d1414acd7bb10dadc01b84fd232",
      "parents": [
        "8b7817f3a959ed99d7443afc12f78a7e1fcc2063"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Dec 12 10:46:51 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:23 2008 -0800"
      },
      "message": "[NET]: Remove FASTCALL macro\n\nX86_32 was the last user of the FASTCALL macro, now that it\nuses regparm(3) by default, this macro expands to nothing.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33eb9cfc700ae9ce621d47d6ca6d6b4ad7cd97f3",
      "tree": "d5e3c0e9644249fa327c613571613c43ec474c6b",
      "parents": [
        "7e2e109cef0d59abcb9aca8b82993e304ed8970c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 01:37:34 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:26 2008 -0800"
      },
      "message": "[NET]: Isolate the net/core/ sysctl table\n\nUsing ctl paths we can put all the stuff, related to net/core/\nsysctl table, into one file and remove all the references on it.\n\nAs a good side effect this hides the \"core_table\" name from\nthe global scope :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eeb8ffcfeaa0d909ce39147f7b8fdd6cef1aacd",
      "tree": "8e252aebdb09e023fa7bde266c1081f08c17a7f9",
      "parents": [
        "6ac552fdc6e96bf2f39c18d6e66b8c8080bbb06e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Dec 04 01:15:45 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:51 2008 -0800"
      },
      "message": "[NET]: netns compilation speedup\n\nThis patch speedups compilation when net_namespace.h is changed.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df97c708d5e6eebdd9ded1fa588eae09acf53793",
      "tree": "35bcca504e629f3b9635fd52870a8add0846f333",
      "parents": [
        "f561d0f27d6283c49359bb96048f8ac3728c812c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 29 21:22:33 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:08 2008 -0800"
      },
      "message": "[NET]: Eliminate unused argument from sk_stream_alloc_pskb\n\nThe 3rd argument is always zero (according to grep :) Eliminate\nit and merge the function with sk_stream_alloc_skb.\n\nThis saves 44 more bytes, and together with the previous patch\nwe have:\n\nadd/remove: 1/0 grow/shrink: 0/8 up/down: 183/-751 (-568)\nfunction                                     old     new   delta\nsk_stream_alloc_skb                            -     183    +183\nip_rt_init                                   529     525      -4\narp_ignore                                   112     107      -5\n__inet_lookup_listener                       284     274     -10\ntcp_sendmsg                                 2583    2481    -102\ntcp_sendpage                                1449    1300    -149\ntso_fragment                                 417     258    -159\ntcp_fragment                                1149     988    -161\n__tcp_push_pending_frames                   1998    1837    -161\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f561d0f27d6283c49359bb96048f8ac3728c812c",
      "tree": "95665f72ac84fc9c91f5c1ee568f169984631887",
      "parents": [
        "3015a347dcd470fcc8becf1f84b0502391a3c0e0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 29 20:28:50 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:07 2008 -0800"
      },
      "message": "[NET]: Uninline the sk_stream_alloc_pskb\n\nThis function seems too big for inlining. Indeed, it saves\nhalf-a-kilo when uninlined:\n\nadd/remove: 1/0 grow/shrink: 0/7 up/down: 195/-719 (-524)\nfunction                                     old     new   delta\nsk_stream_alloc_pskb                           -     195    +195\nip_rt_init                                   529     525      -4\n__inet_lookup_listener                       284     274     -10\ntcp_sendmsg                                 2583    2486     -97\ntcp_sendpage                                1449    1305    -144\ntso_fragment                                 417     267    -150\ntcp_fragment                                1149     992    -157\n__tcp_push_pending_frames                   1998    1841    -157\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ebb53d75657f86587ac8cf3e38ab0c860a8e3d4f",
      "tree": "2b1d63cb8ee54b19589d6d13a693147001e642ad",
      "parents": [
        "de4d1db369785c29d68915edfee0cb70e8199f4c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Nov 21 22:08:50 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:40 2008 -0800"
      },
      "message": "[NET] proto: Use pcounters for the inuse field\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0ef877b2c9f543e9fb7953bfe1a0cd3a4eae362",
      "tree": "8e97df63b9e1b3cac8040461c263c0c938f8b994",
      "parents": [
        "de0fa95c14bc4d4b545fae26439371ebfdcb8534"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 15 03:03:19 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:00 2008 -0800"
      },
      "message": "[NET]: Move sock_valbool_flag to socket.c\n\nThe sock_valbool_flag() helper is used in setsockopt to\nset or reset some flag on the sock. This helper is required\nin the net/socket.c only, so move it there.\n\nBesides, patch two places in sys_setsockopt() that repeat\nthis helper functionality manually.\n\nSince this is not a bugfix, but a trivial cleanup, I\nprepared this patch against net-2.6.25, but it also\napplies (with a single offset) to the latest net-2.6.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33c732c36169d7022ad7d6eb474b0c9be43a2dc1",
      "tree": "a9ac2b8a488cc288bfd2f407d8ad9dd592b29055",
      "parents": [
        "6ff7751d06f63131830102ffa0c9a38b313f100e"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Tue Nov 13 20:30:01 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:33 2008 -0800"
      },
      "message": "[IPV4]: Add raw drops counter.\n\nAdd raw drops counter for IPv4 in /proc/net/raw .\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d3e44425e3498eb33f25d94392b4fd0d56a5176",
      "tree": "453e71e0dfae127df026c64e2b1a24aa4f629b3d",
      "parents": [
        "0f99be0d115a5716292c58dfdb20d2eddd0f3387"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 08 23:41:28 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:41:28 2008 -0800"
      },
      "message": "[SOCK]: Adds a rcu_dereference() in sk_filter\n\nIt seems commit fda9ef5d679b07c9d9097aaf6ef7f069d794a8f9 introduced a RCU \nprotection for sk_filter(), without a rcu_dereference()\n\nEither we need a rcu_dereference(), either a comment should explain why we \ndont need it. I vote for the former.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21df56c6e2372e09c916111efb6c14c372a5ab2e",
      "tree": "c5b8e2c6f5a9951b267137229cb18e2b53878d01",
      "parents": [
        "483b23ffa3a5f44767038b0a676d757e0668437e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Nov 18 18:48:08 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 18 18:48:08 2007 -0800"
      },
      "message": "[TCP]: Fix TCP header misalignment\n\nIndeed my previous change to alloc_pskb has made it possible\nfor the TCP header to be misaligned iff the MTU is not a multiple\nof 4 (and less than a page).  So I suspect the optimised IPsec\nMTU calculation is giving you just such an MTU :)\n\nThis patch fixes it by changing alloc_pskb to make sure that\nthe size is at least 32-bit aligned.  This does not cause the\nproblem fixed by the previous patch because max_header is always\n32-bit aligned which means that in the SG/NOTSO case this will\nbe a no-op.\n\nI thought about putting this in the callers but all the current\ncallers are from TCP.  If and when we get a non-TCP caller we\ncan always create a TCP wrapper for this function and move the\nalignment over there.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb93134dfc2a6e6fbedc7c270a31da03fce88db9",
      "tree": "92c6d19049162f2f3eb9348a3159b5d0874a9daf",
      "parents": [
        "18b2b7bd09811779309592a10080fe9ffb93144d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Nov 14 15:45:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 14 15:45:21 2007 -0800"
      },
      "message": "[TCP]: Fix size calculation in sk_stream_alloc_pskb\n\nWe round up the header size in sk_stream_alloc_pskb so that\nTSO packets get zero tail room.  Unfortunately this rounding\nup is not coordinated with the select_size() function used by\nTCP to calculate the second parameter of sk_stream_alloc_pskb.\n\nAs a result, we may allocate more than a page of data in the\nnon-TSO case when exactly one page is desired.\n\nIn fact, rounding up the head room is detrimental in the non-TSO\ncase because it makes memory that would otherwise be available to\nthe payload head room.  TSO doesn\u0027t need this either, all it wants\nis the guarantee that there is no tail room.\n\nSo this patch fixes this by adjusting the skb_reserve call so that\nexactly the requested amount (which all callers have calculated in\na precise way) is made available as tail room.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "286ab3d46058840d68e5d7d52e316c1f7e98c59f",
      "tree": "1d70e7895c49d2b148e026aa047efe186697fff9",
      "parents": [
        "91781004b9c029ee55b7aa9ef950a373ba865dc6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 05 23:38:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:57 2007 -0800"
      },
      "message": "[NET]: Define infrastructure to keep \u0027inuse\u0027 changes in an efficent SMP/NUMA way.\n\n\"struct proto\" currently uses an array stats[NR_CPUS] to track change on\n\u0027inuse\u0027 sockets per protocol.\n\nIf NR_CPUS is big, this means we use a big memory area for this.\nMoreover, all this memory area is located on a single node on NUMA\nmachines, increasing memory pressure on the boot node.\n\nIn this patch, I tried to :\n\n- Keep a fast !CONFIG_SMP implementation\n- Keep a fast CONFIG_SMP implementation for often used protocols\n(tcp,udp,raw,...)\n- Introduce a NUMA efficient implementation\n\nSome helper macros are defined in include/net/sock.h\nThese macros take into account CONFIG_SMP\n\nIf a \"struct proto\" is declared without using DEFINE_PROTO_INUSE /\nREF_PROTO_INUSE\nmacros, it will automatically use a default implementation, using a\ndynamically allocated percpu zone.\nThis default implementation will be NUMA efficient, but might use 32/64\nbytes per possible cpu\nbecause of current alloc_percpu() implementation.\nHowever it still should be better than previous implementation based on\nstats[NR_CPUS] field.\n\nWhen a \"struct proto\" is changed to use the new macros, we use a single\nstatic \"int\" percpu variable,\nlowering the memory and cpu costs, still preserving NUMA efficiency.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1a6c4da14c365d3ee0b5de43a93f7470982637c",
      "tree": "929b046ef28e1600cf08667459bd8c9a86069dc9",
      "parents": [
        "261ab365fadd53ddc1b292b1663800e11fbf3e71"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:29:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:29:45 2007 -0700"
      },
      "message": "[NET]: Move the sock_copy() from the header\n\nThe sock_copy() call is not used outside the sock.c file,\nso just move it into a sock.c\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47e958eac280c263397582d5581e868c3227a1bd",
      "tree": "67fc50a26b7861b3330eae7f1874df851c0ef740",
      "parents": [
        "d3904b739928edd83d117f1eb5bfa69f18d6f046"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 21:22:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:22:42 2007 -0700"
      },
      "message": "[NET]: Fix the race between sk_filter_(de|at)tach and sk_clone()\n\nThe proposed fix is to delay the reference counter decrement\nuntil the quiescent state pass. This will give sk_clone() a\nchance to get the reference on the cloned filter.\n\nRegular sk_filter_uncharge can happen from the sk_free() only\nand there\u0027s no need in delaying the put - the socket is dead\nanyway and is to be release itself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "309dd5fc872448e35634d510049642312ebc170d",
      "tree": "5284d7b48980482ecba06b760ac16d9f94e66ea9",
      "parents": [
        "55b333253d5bcafbe187b50474e40789301c53c6"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 21:21:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:21:51 2007 -0700"
      },
      "message": "[NET]: Move the filter releasing into a separate call\n\nThis is done merely as a preparation for the fix.\n\nThe sk_filter_uncharge() unaccounts the filter memory and calls\nthe sk_filter_release(), which in turn decrements the refcount\nanf frees the filter.\n\nThe latter function will be required separately.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa",
      "tree": "1aed711eeecc5a303b57f1fc47e1b5746e8a72c2",
      "parents": [
        "de83c058af25aa97ed4864abab11e90e8dead6e2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:59:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[NET]: sparse warning fixes\n\nFix a bunch of sparse warnings. Mostly about 0 used as\nNULL pointer, and shadowed variable declarations.\nOne notable case was that hash size should have been unsigned.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07feaebfcc10cd35e745c7073667935246494bee",
      "tree": "297f212ebca1c6916a8b82ba176ee4ee508ccb08",
      "parents": [
        "4a1c537113cdc688aabc3fb9bb6ed18ec821c779"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 11:58:02 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:05 2007 -0700"
      },
      "message": "[NET]: Add a network namespace parameter to struct sock\n\nSockets need to get a reference to their network namespace,\nor possibly a simple hold if someone registers on the network\nnamespace notifier and will free the sockets when the namespace\nis going to be destroyed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2e9117c7aa9544d910634e17e3519fd67155229",
      "tree": "531507ed5d2031fa80775036fec1b57584a236cb",
      "parents": [
        "02b3d34631831a19ee691516e233756b270eac6d"
      ],
      "author": {
        "name": "John Heffner",
        "email": "jheffner@psc.edu",
        "time": "Wed Sep 12 10:44:19 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:01 2007 -0700"
      },
      "message": "[NET]: Change type of owner in sock_lock_t to int, rename\n\nThe type of owner in sock_lock_t is currently (struct sock_iocb *),\npresumably for historical reasons.  It is never used as this type, only\ntested as NULL or set to (void *)1.  For clarity, this changes it to type\nint, and renames to owned, to avoid any possible type casting errors.\n\nSigned-off-by: John Heffner \u003cjheffner@psc.edu\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": "4e07a91c37c69ec1647c218214591ee4fe3408fe",
      "tree": "abb4e5900b114168d57218ebb74cf0c624a38375",
      "parents": [
        "be02097cf6342eb0426833f54c95e0fb4c9bca45"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue May 29 13:17:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 31 01:23:32 2007 -0700"
      },
      "message": "[SOCK]: Shrink struct sock by 8 bytes on 64-bit.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6272e2667965dfb5b59199f462cd0f001fb304a6",
      "tree": "a14a4537dcd7af09863cc3a1c19a3efe386d67ab",
      "parents": [
        "039b6b3ed84e45a6f8316358dd2bfdc83d59fc45"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:29:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:09 2007 -0700"
      },
      "message": "cleanup compat ioctl handling\n\nMerge all compat ioctl handling into compat_ioctl.c instead of splitting it\nover compat.c and compat_ioctl.c.  This also allows to get rid of ioctl32.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nLooks-good-to: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9958089a43ae8a9af07402461c0b2b7548c7341e",
      "tree": "6d07cf01f9f6cc647dd6b01d0a16757f025845f8",
      "parents": [
        "4ac02bab77438b484a5cf855a002fb6a1d592894"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 20 17:12:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:26 2007 -0700"
      },
      "message": "[NET]: Move sk_setup_caps() out of line.\n\nIt is far too large to be an inline and not in any hot paths.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92f37fd2ee805aa77925c1e64fd56088b46094fc",
      "tree": "8251c38b83ab362116dac89d94412ce229b42831",
      "parents": [
        "c7a3c5da35055e2fa97ed4f0da3eec4bd0ef4c38"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 25 22:14:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:21 2007 -0700"
      },
      "message": "[NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support\n\nNow that network timestamps use ktime_t infrastructure, we can add a new\nSOL_SOCKET sockopt  SO_TIMESTAMPNS.\n\nThis command is similar to SO_TIMESTAMP, but permits transmission of\na \u0027timespec struct\u0027 instead of a \u0027timeval struct\u0027 control message.\n(nanosecond resolution instead of microsecond)\n\nControl message is labelled SCM_TIMESTAMPNS instead of SCM_TIMESTAMP\n\nA socket cannot mix SO_TIMESTAMP and SO_TIMESTAMPNS : the two modes are\nmutually exclusive.\n\nsock_recv_timestamp() became too big to be fully inlined so I added a\n__sock_recv_timestamp() helper function.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: linux-arch@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2a316fd068c455c609ecc155dcfaa7e208d29fe",
      "tree": "9839e2c7e05e9d25241fa7c7b27fd06214120292",
      "parents": [
        "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 08 20:41:08 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:05 2007 -0700"
      },
      "message": "[NET]: Replace CONFIG_NET_DEBUG with sysctl.\n\nCovert network warning messages from a compile time to runtime choice.\nRemoves kernel config option and replaces it with new /proc/sys/net/core/warnings.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23",
      "tree": "b5ae288b3c27d13bde9648c41d7db3cfe1884bc2",
      "parents": [
        "cb69cc52364690d7789940c480b3a9490784b680"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 18 17:33:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:04 2007 -0700"
      },
      "message": "[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution\n\nNow network timestamps use ktime_t infrastructure, we can add a new\nioctl() SIOCGSTAMPNS command to get timestamps in \u0027struct timespec\u0027.\nUser programs can thus access to nanosecond resolution.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\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": "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c",
      "tree": "4bc9d61031f4eb40d73887d6bde09e7d6bf2b259",
      "parents": [
        "3927f2e8f9afa3424bb51ca81f7abac01ffd0005"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Apr 19 16:16:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:34 2007 -0700"
      },
      "message": "[NET]: convert network timestamps to ktime_t\n\nWe currently use a special structure (struct skb_timeval) and plain\n\u0027struct timeval\u0027 to store packet timestamps in sk_buffs and struct\nsock.\n\nThis has some drawbacks :\n- Fixed resolution of micro second.\n- Waste of space on 64bit platforms where sizeof(struct timeval)\u003d16\n\nI suggest using ktime_t that is a nice abstraction of high resolution\ntime services, currently capable of nanosecond resolution.\n\nAs sizeof(ktime_t) is 8 bytes, using ktime_t in \u0027struct sock\u0027 permits\na 8 byte shrink of this structure on 64bit architectures. Some other\nstructures also benefit from this size reduction (struct ipq in\nipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)\n\nOnce this ktime infrastructure adopted, we can more easily provide\nnanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or\nSO_TIMESTAMPNS/SCM_TIMESTAMPNS)\n\nNote : this patch includes a bug correction in\ncompat_sock_get_timestamp() where a \"err \u003d 0;\" was missing (so this\nsyscall returned -ENOENT instead of 0)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCC: John find \u003clinux.kernel@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa438ccfdfd3f6db02c13b61b21454eb81cd6a13",
      "tree": "a1759259d7543586185e2fb9db21461147944f18",
      "parents": [
        "e317f6f69cb95527799d308a9421b7dc1252989a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 04 16:05:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:27 2007 -0700"
      },
      "message": "[NET]: Keep sk_backlog near sk_lock\n\nsk_backlog is a critical field of struct sock. (known famous words)\n\nIt is (ab)used in hot paths, in particular in release_sock(), tcp_recvmsg(),\ntcp_v4_rcv(), sk_receive_skb().\n\nIt really makes sense to place it next to sk_lock, because sk_backlog is only\nused after sk_lock locked (and thus memory cache line in L1 cache). This\nshould reduce cache misses and sk_lock acquisition time.\n\n(In theory, we could only move the head pointer near sk_lock, and leaving tail\nfar away, because \u0027tail\u0027 is normally not so hot, but keep it simple :) )\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64a146513f8f12ba204b7bf5cb7e9505594ead42",
      "tree": "849f875501ac6f08cf309c5b13cf21ed687974e2",
      "parents": [
        "187f5f84ef14a07dccf5f4503099708d60f6a724"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 06 11:21:05 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 06 11:21:05 2007 -0800"
      },
      "message": "[NET]: Revert incorrect accept queue backlog changes.\n\nThis reverts two changes:\n\n8488df894d05d6fa41c2bd298c335f944bb0e401\n248f06726e866942b3d8ca8f411f9067713b7ff8\n\nA backlog value of N really does mean allow \"N + 1\" connections\nto queue to a listening socket.  This allows one to specify\n\"0\" as the backlog and still get 1 connection.\n\nNoticed by Gerrit Renker and Rick Jones.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8488df894d05d6fa41c2bd298c335f944bb0e401",
      "tree": "2d79c5c57a71833a1c55f1d39e6628f486ed2539",
      "parents": [
        "bb648a0d22908116b4ef168935a160d7f17c4e6d"
      ],
      "author": {
        "name": "Wei Dong",
        "email": "weid@np.css.fujitsu.com",
        "time": "Fri Mar 02 12:37:26 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 02 20:37:33 2007 -0800"
      },
      "message": "[NET]: Fix bugs in \"Whether sock accept queue is full\" checking\n\n\twhen I use linux TCP socket, and find there is a bug in function\nsk_acceptq_is_full().\n\n\tWhen a new SYN comes, TCP module first checks its validation. If valid,\nsend SYN,ACK to the client and add the sock to the syn hash table. Next\ntime if received the valid ACK for SYN,ACK from the client. server will\naccept this connection and increase the sk-\u003esk_ack_backlog -- which is\ndone in function tcp_check_req().We check wether acceptq is full in\nfunction tcp_v4_syn_recv_sock().\n\nConsider an example:\n\n After listen(sockfd, 1) system call, sk-\u003esk_max_ack_backlog is set to\n1. As we know, sk-\u003esk_ack_backlog is initialized to 0. Assuming accept()\nsystem call is not invoked now.\n\n1. 1st connection comes. invoke sk_acceptq_is_full(). sk-\n\u003esk_ack_backlog\u003d0 sk-\u003esk_max_ack_backlog\u003d1, function return 0 accept\nthis connection. Increase the sk-\u003esk_ack_backlog\n2. 2nd connection comes. invoke sk_acceptq_is_full(). sk-\n\u003esk_ack_backlog\u003d1 sk-\u003esk_max_ack_backlog\u003d1, function return 0 accept\nthis connection. Increase the sk-\u003esk_ack_backlog\n3. 3rd connection comes. invoke sk_acceptq_is_full(). sk-\n\u003esk_ack_backlog\u003d2 sk-\u003esk_max_ack_backlog\u003d1, function return 1. Refuse\nthis connection.\n\nI think it has bugs. after listen system call. sk-\u003esk_max_ack_backlog\u003d1\nbut now it can accept 2 connections.\n\nSigned-off-by: Wei Dong \u003cweid@np.css.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4498121ca3acbf928681b71261227d28dc29b6f6",
      "tree": "f6947b8bf2cee22498fcea4e9c447c4eed4b6998",
      "parents": [
        "6548cda289b549ed60c35f16a0051609aeee2fd0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 27 09:56:42 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Feb 28 09:42:13 2007 -0800"
      },
      "message": "[NET]: Handle disabled preemption in gfp_any()\n\nctnetlink uses netlink_unicast from an atomic_notifier_chain\n(which is called within a RCU read side critical section)\nwithout holding further locks. netlink_unicast calls netlink_trim\nwith the result of gfp_any() for the gfp flags, which are passed\ndown to pskb_expand_header. gfp_any() only checks for softirq\ncontext and returns GFP_KERNEL, resulting in this warning:\n\nBUG: sleeping function called from invalid context at mm/slab.c:3032\nin_atomic():1, irqs_disabled():0\nno locks held by rmmod/7010.\n\nCall Trace:\n [\u003cffffffff8109467f\u003e] debug_show_held_locks+0x9/0xb\n [\u003cffffffff8100b0b4\u003e] __might_sleep+0xd9/0xdb\n [\u003cffffffff810b5082\u003e] __kmalloc+0x68/0x110\n [\u003cffffffff811ba8f2\u003e] pskb_expand_head+0x4d/0x13b\n [\u003cffffffff81053147\u003e] netlink_broadcast+0xa5/0x2e0\n [\u003cffffffff881cd1d7\u003e] :nfnetlink:nfnetlink_send+0x83/0x8a\n [\u003cffffffff8834f6a6\u003e] :nf_conntrack_netlink:ctnetlink_conntrack_event+0x94c/0x96a\n [\u003cffffffff810624d6\u003e] notifier_call_chain+0x29/0x3e\n [\u003cffffffff8106251d\u003e] atomic_notifier_call_chain+0x32/0x60\n [\u003cffffffff881d266d\u003e] :nf_conntrack:destroy_conntrack+0xa5/0x1d3\n [\u003cffffffff881d194e\u003e] :nf_conntrack:nf_ct_cleanup+0x8c/0x12c\n [\u003cffffffff881d4614\u003e] :nf_conntrack:kill_l3proto+0x0/0x13\n [\u003cffffffff881d482a\u003e] :nf_conntrack:nf_conntrack_l3proto_unregister+0x90/0x94\n [\u003cffffffff883551b3\u003e] :nf_conntrack_ipv4:nf_conntrack_l3proto_ipv4_fini+0x2b/0x5d\n [\u003cffffffff8109d44f\u003e] sys_delete_module+0x1b5/0x1e6\n [\u003cffffffff8105f245\u003e] trace_hardirqs_on_thunk+0x35/0x37\n [\u003cffffffff8105911e\u003e] system_call+0x7e/0x83\n\nSince netlink_unicast is supposed to be callable from within RCU\nread side critical sections, make gfp_any() check for in_atomic()\ninstead of in_softirq().\n\nAdditionally nfnetlink_send needs to use gfp_any() as well for the\ncall to netlink_broadcast).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed07536ed6731775219c1df7fa26a7588753e693",
      "tree": "c539d80fe50f28d4e294850bb33be810f46fd515",
      "parents": [
        "b9d85b08c689dbf54b9943a02f73cb54c2b0fccf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:35:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:30 2006 -0800"
      },
      "message": "[PATCH] lockdep: annotate nfs/nfsd in-kernel sockets\n\nStick NFS sockets in their own class to avoid some lockdep warnings.  NFS\nsockets are never exposed to user-space, and will hence not trigger certain\ncode paths that would otherwise pose deadlock scenarios.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Dickson \u003cSteveD@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n[ Fixed patch corruption by quilt, pointed out by Peter Zijlstra ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d7fe0f241dceade9c8d4af75498765c5ff7f27e6",
      "tree": "442ab13842a548ef56904d11fd574c98fee14e69",
      "parents": [
        "bd01f843c3368dcee735c19603251669f23f4477"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 03 23:15:30 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 04 02:00:34 2006 -0500"
      },
      "message": "[PATCH] severing skbuff.h -\u003e mm.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "58a5a7b9555ea231b557ebef5cabeaf8e951df0b",
      "tree": "9dac36b3483e9667a967f79982c965abd707e03d",
      "parents": [
        "e523a1550e877f8a8ff87a50269b7ee7bfb43464"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Thu Nov 16 14:06:06 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:51 2006 -0800"
      },
      "message": "[NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb\n\nSpotted by Ian McDonald, tentatively fixed by Gerrit Renker:\n\nhttp://www.mail-archive.com/dccp%40vger.kernel.org/msg00599.html\n\nRewritten not to unroll sk_receive_skb, in the common case, i.e. no lock\ndebugging, its optimized away.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "5084205faf45384fff25c4cf77dd5c96279283ad",
      "tree": "9a5a3cb74bf64a6ec4c1b77d7805b256978943ca",
      "parents": [
        "44bb93633f57a55979f3c2589b10fd6a2bfc7c08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:36:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:33 2006 -0800"
      },
      "message": "[NET]: Annotate callers of csum_partial_copy_...() and csum_and_copy...() 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": "fcc70d5fdc9b0bd3e99c9dacb8198224af2b4b42",
      "tree": "f4450b97bb0cf61d731004f0fbe599662aba0f20",
      "parents": [
        "67f83cbf081a70426ff667e8d14f94e13ed3bdca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 08 22:44:35 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:35 2006 -0800"
      },
      "message": "[BLUETOOTH] lockdep: annotate sk_lock nesting in AF_BLUETOOTH\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible recursive locking detected ]\n2.6.18-1.2726.fc6 #1\n"
    },
    {
      "commit": "dc9b334622bff6d22456917a034c2e2d194b9328",
      "tree": "2c939407ea168046febe7a080efb4e78ffe5d4d2",
      "parents": [
        "95f6134e175fd69ab3f088f7a09adbd3fd3548e1"
      ],
      "author": {
        "name": "Paul Bonser",
        "email": "misterpib@gmail.com",
        "time": "Thu Nov 23 17:56:13 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Nov 25 15:16:51 2006 -0800"
      },
      "message": "[NET]: Re-fix of doc-comment in sock.h\n\nRestoring old, correct comment for sk_filter_release, moving it to\nwhere it should actually be, and changing new comment into proper\ncomment for sk_filter_rcu_free, where it actually makes sense.\n\nThe original fix submitted for this on Oct 23 mistakenly documented\nthe wrong function.\n\nSigned-off-by: Paul Bonser \u003cmisterpib@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a43487f43fbd4e03c606dcb62b98374a3af88fc",
      "tree": "103ffaca0b08f51052d9bb4bafd5055f750c07cf",
      "parents": [
        "185b1aa122f87052d9154bb74990bc785372a750"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sun Oct 22 20:38:00 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 22 20:38:00 2006 -0700"
      },
      "message": "[NET]: kernel-doc fix for sock.h\n\nFix kernel-doc warning in include/net/sock.h:\nWarning(/var/linsrc/linux-2619-rc1-pv//include/net/sock.h:894): No description found for parameter \u0027rcu\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "027445c37282bc1ed26add45e573ad2d3e4860a5",
      "tree": "93eab101a938ffebaea64703033c8649df4d73f0",
      "parents": [
        "9ea0f9499d15c49df23e7aac4332d830c40e12d0"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Vectorize aio_read/aio_write fileop methods\n\nThis patch vectorizes aio_read() and aio_write() methods to prepare for\ncollapsing all aio \u0026 vectored operations into one interface - which is\naio_read()/aio_write().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Michael Holzheu \u003cHOLZHEU@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fda9ef5d679b07c9d9097aaf6ef7f069d794a8f9",
      "tree": "6a265dc2038bc5568c5a499e6c8d4733650ed3f7",
      "parents": [
        "dc435e6dac1439340eaeceef84022c4e4749796d"
      ],
      "author": {
        "name": "Dmitry Mishin",
        "email": "dim@openvz.org",
        "time": "Thu Aug 31 15:28:39 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:47 2006 -0700"
      },
      "message": "[NET]: Fix sk-\u003esk_filter field access\n\nFunction sk_filter() is called from tcp_v{4,6}_rcv() functions with arg\nneedlock \u003d 0, while socket is not locked at that moment. In order to avoid\nthis and similar issues in the future, use rcu for sk-\u003esk_filter field read\nprotection.\n\nSigned-off-by: Dmitry Mishin \u003cdim@openvz.org\u003e\nSigned-off-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\n"
    },
    {
      "commit": "4237c75c0a35535d7f9f2bfeeb4b4df1e068a0bf",
      "tree": "02adcb6fe6c346a8b99cf161ba5233ed1e572727",
      "parents": [
        "cb969f072b6d67770b559617f14e767f47e77ece"
      ],
      "author": {
        "name": "Venkat Yekkirala",
        "email": "vyekkirala@TrustedCS.com",
        "time": "Mon Jul 24 23:32:50 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:29 2006 -0700"
      },
      "message": "[MLSXFRM]: Auto-labeling of child sockets\n\nThis automatically labels the TCP, Unix stream, and dccp child sockets\nas well as openreqs to be at the same MLS level as the peer. This will\nresult in the selection of appropriately labeled IPSec Security\nAssociations.\n\nThis also uses the sock\u0027s sid (as opposed to the isec sid) in SELinux\nenforcement of secmark in rcv_skb and postroute_last hooks.\n\nSigned-off-by: Venkat Yekkirala \u003cvyekkirala@TrustedCS.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "892c141e62982272b9c738b5520ad0e5e1ad7b42",
      "tree": "c8e0c9b3e55106d2cb085a5047b9d02dbbb28653",
      "parents": [
        "08554d6b33e60aa8ee40bbef94505941c0eefef2"
      ],
      "author": {
        "name": "Venkat Yekkirala",
        "email": "vyekkirala@TrustedCS.com",
        "time": "Fri Aug 04 23:08:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:22 2006 -0700"
      },
      "message": "[MLSXFRM]: Add security sid to sock\n\nThis adds security for IP sockets at the sock level. Security at the\nsock level is needed to enforce the SELinux security policy for\nsecurity associations even when a sock is orphaned (such as in the TCP\nLAST_ACK state).\n\nThis will also be used to enforce SELinux controls over data arriving\nat or leaving a child socket while it\u0027s still waiting to be accepted.\n\nSigned-off-by: Venkat Yekkirala \u003cvyekkirala@TrustedCS.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5b5bb9a053a973c23b867738c074acb3e80c0a0",
      "tree": "8eb78d458cfb309c566d6aaafb25639723920bcd",
      "parents": [
        "0afffc723c8041a005134099847ac2a2fd0316a0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:10 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate sk_locks\n\nTeach sk_lock semantics to the lock validator.  In the softirq path the\nslock has mutex_trylock()+mutex_unlock() semantics, in the process context\nsock_lock() case it has mutex_lock()/mutex_unlock() semantics.\n\nThus we treat sock_owned_by_user() flagged areas as an exclusion area too,\nnot just those areas covered by a held sk_lock.slock.\n\nEffect on non-lockdep kernels: minimal, sk_lock_sock_init() has been turned\ninto an inline function.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c63661848581a9842dfc72d9a400285dd284fc47",
      "tree": "83c8372a5289e14237eea64207886508866ee1a4",
      "parents": [
        "a09785a2414afb261d9f719d544742af4300df22"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:08 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate bh_lock_sock()\n\nTeach special (recursive) locking code to the lock validator.  Has no effect\non non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "da21f24dd73954c2ed0cd39a698e2c9916c05d71",
      "tree": "22829e3791f0602d284b8f5398526b228faa9501",
      "parents": [
        "543655244866b8ec648fea1eb9c32a35ffba5721"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:07 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate sock_lock_init()\n\nTeach special (multi-initialized, per-address-family) locking code to the lock\nvalidator.  Has no effect on non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\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": "b0da8537037f337103348f239ad901477e907aa8",
      "tree": "498a5dceb0d536fa54dcf4acc26ae1d1b43dfaf1",
      "parents": [
        "877ce7c1b3afd69a9b1caeb1b9964c992641f52a"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Thu Jun 29 12:30:00 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 29 16:58:08 2006 -0700"
      },
      "message": "[NET]: Add ECN support for TSO\n\nIn the current TSO implementation, NETIF_F_TSO and ECN cannot be\nturned on together in a TCP connection.  The problem is that most\nhardware that supports TSO does not handle CWR correctly if it is set\nin the TSO packet.  Correct handling requires CWR to be set in the\nfirst packet only if it is set in the TSO header.\n\nThis patch adds the ability to turn on NETIF_F_TSO and ECN using\nGSO if necessary to handle TSO packets with CWR set.  Hardware\nthat handles CWR correctly can turn on NETIF_F_TSO_ECN in the dev-\u003e\nfeatures flag.\n\nAll TSO packets with CWR set will have the SKB_GSO_TCPV4_ECN set.  If\nthe output device does not have the NETIF_F_TSO_ECN feature set, GSO\nwill split the packet up correctly with CWR only set in the first\nsegment.\n\nWith help from Herbert Xu \u003cherbert@gondor.apana.org.au\u003e.\n\nSince ECN can always be enabled with TSO, the SOCK_NO_LARGESEND sock\nflag is completely removed.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4b8ea7849544114e9d3d682df4d400180854677",
      "tree": "502e33a7c2edaf9ffe899da39d0e7036128ccc12",
      "parents": [
        "c8a553ad7f0bf943047943a758cf07017819cb3c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu Jun 22 16:00:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:42 2006 -0700"
      },
      "message": "[NET]: fix net-core kernel-doc\n\nWarning(/var/linsrc/linux-2617-g4//include/linux/skbuff.h:304): No description found for parameter \u0027dma_cookie\u0027\nWarning(/var/linsrc/linux-2617-g4//include/net/sock.h:1274): No description found for parameter \u0027copied_early\u0027\nWarning(/var/linsrc/linux-2617-g4//net/core/dev.c:3309): No description found for parameter \u0027chan\u0027\nWarning(/var/linsrc/linux-2617-g4//net/core/dev.c:3309): No description found for parameter \u0027event\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37c3185a02d4b85fbe134bf5204535405dd2c957",
      "tree": "7712fb706bb446b5b6a8ae25f365b4e135d9a1fb",
      "parents": [
        "f4c50d990dcf11a296679dc05de3873783236711"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 03:07:29 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:36 2006 -0700"
      },
      "message": "[NET]: Added GSO toggle\n\nThis patch adds a generic segmentation offload toggle that can be turned\non/off for each net device.  For now it only supports in TCPv4.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cee4cca740d209bcb4b9857baa2253d5ba4e3fbe",
      "tree": "88a23004393ea4a32cad79839479c8e653e401d6",
      "parents": [
        "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
        "9348f0de2d2b541b4ba64fb1f4efee9710a3d731"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/hdrcleanup-2.6\n\n* git://git.infradead.org/hdrcleanup-2.6: (63 commits)\n  [S390] __FD_foo definitions.\n  Switch to __s32 types in joystick.h instead of C99 types for consistency.\n  Add \u003csys/types.h\u003e to headers included for userspace in \u003clinux/input.h\u003e\n  Move inclusion of \u003clinux/compat.h\u003e out of user scope in asm-x86_64/mtrr.h\n  Remove struct fddi_statistics from user view in \u003clinux/if_fddi.h\u003e\n  Move user-visible parts of drivers/s390/crypto/z90crypt.h to include/asm-s390\n  Revert include/media changes: Mauro says those ioctls are only used in-kernel(!)\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/cramfs_fs.h\u003e\n  Use __uXX types in \u003clinux/i2o_dev.h\u003e, include \u003clinux/ioctl.h\u003e too\n  Remove private struct dx_hash_info from public view in \u003clinux/ext3_fs.h\u003e\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/affs_hardblocks.h\u003e\n  Use __uXX types in \u003clinux/divert.h\u003e for struct divert_blk et al.\n  Use __u32 for elf_addr_t in \u003casm-powerpc/elf.h\u003e, not u32. It\u0027s user-visible.\n  Remove PPP_FCS from user view in \u003clinux/ppp_defs.h\u003e, remove __P mess entirely\n  Use __uXX types in user-visible structures in \u003clinux/nbd.h\u003e\n  Don\u0027t use \u0027u32\u0027 in user-visible struct ip_conntrack_old_tuple.\n  Use __uXX types for S390 DASD volume label definitions which are user-visible\n  S390 BIODASDREADCMB ioctl should use __u64 not u64 type.\n  Remove unneeded inclusion of \u003clinux/time.h\u003e from \u003clinux/ufs_fs.h\u003e\n  Fix private integer types used in V4L2 ioctls.\n  ...\n\nManually resolve conflict in include/linux/mtd/physmap.h\n"
    },
    {
      "commit": "b38dfee3d616ffadb58d4215e3ff9d1d7921031e",
      "tree": "55ae104c8522e973291f490c9902580de798ae93",
      "parents": [
        "c8c9f9a3de2c50c876b1068dd41f9a06c5749f80"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 09 16:13:01 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:30:20 2006 -0700"
      },
      "message": "[NET]: skb_trim audit\n\nI found a few more spots where pskb_trim_rcsum could be used but were not.\nThis patch changes them to use it.\n\nAlso, sk_filter can get paged skb data.  Therefore we must use pskb_trim\ninstead of skb_trim.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\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": "97fc2f0848c928c63c2ae619deee61a0b1107b69",
      "tree": "651f5ec78128605736d6c777a13697d5e58a1b62",
      "parents": [
        "de5506e155276d385712c2aa1c2d9a27cd4ed947"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue May 23 17:55:33 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:25:48 2006 -0700"
      },
      "message": "[I/OAT]: Structure changes for TCP recv offload to I/OAT\n\nAdds an async_wait_queue and some additional fields to tcp_sock, and a\ndma_cookie_t to sk_buff.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5047f09b56d0bc3c21aec9cb16de60283da645c6",
      "tree": "09a07554b933c3bb912ce3bfc0ea7c7e1f16041c",
      "parents": [
        "c0f1fe00c3923135b2c2f443448585482da8a53e",
        "5528e568a760442e0ec8fd2dea1f0791875a066b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat May 06 19:59:18 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat May 06 19:59:18 2006 +0100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "da753beaeb1446aa87bcca7e8a0026633a8914f0",
      "tree": "910ca47bce30c4ef5df66c0d6545051f61d2d49e",
      "parents": [
        "a536e0778781c1f2ce38cf8e1d82ce258f0193c1"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Fri Apr 28 15:21:23 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Apr 29 18:33:15 2006 -0700"
      },
      "message": "[NET]: use hlist_unhashed()\n\nUse hlist_unhashed() rather than accessing inside data structure.\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "dc6de33674608f978ec29f5c2f7e3af458c06f78",
      "tree": "1b314717cdb27cf75478c13f85249f85f6997f48",
      "parents": [
        "b60b49ea6a3e1f8dcaf4148dad0daab61ab766d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 20 00:10:50 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 20 00:10:50 2006 -0700"
      },
      "message": "[NET]: Add skb-\u003etruesize assertion checking.\n\nAdd some sanity checking.  truesize should be at least sizeof(struct\nsk_buff) plus the current packet length.  If not, then truesize is\nseriously mangled and deserves a kernel log message.\n\nCurrently we\u0027ll do the check for release of stream socket buffers.\n\nBut we can add checks to more spots over time.\n\nIncorporating ideas from Herbert Xu.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0088a50e7c49d1ba285c88fe06345f223652fd3",
      "tree": "82e3fd2dfbab6e7b73f6c6aabf9ba108d007e4da",
      "parents": [
        "1d1818316f0b61e0997a159680e1e631a23a407e"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda@ilport.com.ua",
        "time": "Tue Mar 28 01:08:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 28 17:02:45 2006 -0800"
      },
      "message": "[NET]: deinline 200+ byte inlines in sock.h\n\nSizes in bytes (allyesconfig, i386) and files where those inlines\nare used:\n\n238 sock_queue_rcv_skb 2.6.16/net/x25/x25_in.o\n238 sock_queue_rcv_skb 2.6.16/net/rose/rose_in.o\n238 sock_queue_rcv_skb 2.6.16/net/packet/af_packet.o\n238 sock_queue_rcv_skb 2.6.16/net/netrom/nr_in.o\n238 sock_queue_rcv_skb 2.6.16/net/llc/llc_sap.o\n238 sock_queue_rcv_skb 2.6.16/net/llc/llc_conn.o\n238 sock_queue_rcv_skb 2.6.16/net/irda/af_irda.o\n238 sock_queue_rcv_skb 2.6.16/net/ipx/af_ipx.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv6/udp.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv6/raw.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv4/udp.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv4/raw.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv4/ipmr.o\n238 sock_queue_rcv_skb 2.6.16/net/econet/econet.o\n238 sock_queue_rcv_skb 2.6.16/net/econet/af_econet.o\n238 sock_queue_rcv_skb 2.6.16/net/bluetooth/sco.o\n238 sock_queue_rcv_skb 2.6.16/net/bluetooth/l2cap.o\n238 sock_queue_rcv_skb 2.6.16/net/bluetooth/hci_sock.o\n238 sock_queue_rcv_skb 2.6.16/net/ax25/ax25_in.o\n238 sock_queue_rcv_skb 2.6.16/net/ax25/af_ax25.o\n238 sock_queue_rcv_skb 2.6.16/net/appletalk/ddp.o\n238 sock_queue_rcv_skb 2.6.16/drivers/net/pppoe.o\n\n276 sk_receive_skb 2.6.16/net/decnet/dn_nsp_in.o\n276 sk_receive_skb 2.6.16/net/dccp/ipv6.o\n276 sk_receive_skb 2.6.16/net/dccp/ipv4.o\n276 sk_receive_skb 2.6.16/net/dccp/dccp_ipv6.o\n276 sk_receive_skb 2.6.16/drivers/net/pppoe.o\n\n209 sk_dst_check 2.6.16/net/ipv6/ip6_output.o\n209 sk_dst_check 2.6.16/net/ipv4/udp.o\n209 sk_dst_check 2.6.16/net/decnet/dn_nsp_out.o\n\nLarge inlines with multiple callers:\nSize  Uses Wasted Name and definition\n\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  238   21   4360 sock_queue_rcv_skb    include/net/sock.h\n  109   10    801 sock_recv_timestamp   include/net/sock.h\n  276    4    768 sk_receive_skb        include/net/sock.h\n   94    8    518 __sk_dst_check        include/net/sock.h\n  209    3    378 sk_dst_check  include/net/sock.h\n  131    4    333 sk_setup_caps include/net/sock.h\n  152    2    132 sk_stream_alloc_pskb  include/net/sock.h\n  125    2    105 sk_stream_writequeue_purge    include/net/sock.h\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9932cf954691f20d548cd6010d89d1d48597e104",
      "tree": "cb7272b087f64b142759e61e3fdd81669f48c849",
      "parents": [
        "f67ed26f2b3e92c0450deae3ffc3fff21c878a75"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 24 15:12:37 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 24 15:45:00 2006 -0800"
      },
      "message": "[NET]: Fill in a 32-bit hole in struct sock on 64-bit platforms.\n\nThis makes struct sock 8 bytes smaller on 64-bit.\n\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": "265a92856b17524c87da0258ac0d3cec80ae1d35",
      "tree": "31ebb3ef3c990ea64a1b93a1785d2abafe8534ec",
      "parents": [
        "6f5e6b9e69bf043074a0edabe3d271899c34eb79"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Fri Mar 17 16:05:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 17 16:05:43 2006 -0800"
      },
      "message": "[NET]: Fix race condition in sk_wait_event().\n\nIt is broken, the condition is checked out of socket lock. It is\nwonderful the bug survived for so long time.\n\n[ This fixes bugzilla #6233:\n  race condition in tcp_sendmsg when connection became established ]\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dec456d1fe73e0539625f0973ee8ef8fb805943",
      "tree": "56d37da8d8e37154030d3f45224ae852195977e6",
      "parents": [
        "6e2be3ea4fab4d1c02e369719311e8d7ae6cc7c1"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Feb 02 20:40:09 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 02 20:40:09 2006 -0800"
      },
      "message": "[NET]: Add CONFIG_NETDEBUG to suppress bad packet messages.\n\nIf you are on a hostile network, or are running protocol tests, you can\neasily get the logged swamped by messages about bad UDP and ICMP packets.\nThis turns those messages off unless a config option is enabled.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bad4dc919573dbe9a5b41dd9edff279e99822d7",
      "tree": "530b791512cfd2f310c5806d109242bccf090fd7",
      "parents": [
        "dbbc0988288d9643044e8bd8c7e7de70016ecd23"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@ispwest.com",
        "time": "Fri Jan 06 13:08:20 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:08:20 2006 -0800"
      },
      "message": "[NET]: Change sk_run_filter()\u0027s return type in net/core/filter.c\n\nIt should return an unsigned value, and fix sk_filter() as well.\n\nSigned-off-by: Kris Katterjohn \u003ckjak@ispwest.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25995ff577675b58dbd848b7758e7bad87411947",
      "tree": "4d47595b01f8645552fa8af7b2be2019f133fefb",
      "parents": [
        "ce1d4d3e88b3a69d23c3feb436a0b36b6ca0642b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:42:22 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:19 2006 -0800"
      },
      "message": "[SOCK]: Introduce sk_receive_skb\n\nIts common enough to to justify that, TCP still can\u0027t use it as it has the\nprequeueing stuff, still to be made generic in the not so distant future :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d6ee43e0b8b8d4847627fd43739b98ec2b9404f",
      "tree": "a2a66381d2351610c81362bf218e743f6ccf56ef",
      "parents": [
        "fc44b9805324c0ad2733ea2feea9935cc056709d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:25:19 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:54 2006 -0800"
      },
      "message": "[TWSK]: Introduce struct timewait_sock_ops\n\nSo that we can share several timewait sockets related functions and\nmake the timewait mini sockets infrastructure closer to the request\nmini sockets one.\n\nNext changesets will take advantage of this, moving more code out of\nTCP and DCCP v4 and v6 to common infrastructure.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1cbe4b7ad0bc4b1d98ea708a3fecb7362aa4088",
      "tree": "04ec26c728645dd1da2474b2b883a532b43811ad",
      "parents": [
        "f1f71e03b17db3b9edb0264a8be7719bd5c35582"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "benjamin.c.lahaise@intel.com",
        "time": "Tue Dec 13 23:22:19 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:44 2006 -0800"
      },
      "message": "[NET]: Avoid atomic xchg() for non-error case\n\nIt also looks like there were 2 places where the test on sk_err was\nmissing from the event wait logic (in sk_stream_wait_connect and\nsk_stream_wait_memory), while the rest of the sock_error() users look\nto be doing the right thing.  This version of the patch fixes those,\nand cleans up a few places that were testing -\u003esk_err directly.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec",
      "tree": "09775f0479168cd53494155a5789e78df218b497",
      "parents": [
        "caa20d9abe810be2ede9612b6c9db6ce7d6edf80"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Nov 10 17:14:59 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 17:14:59 2005 -0800"
      },
      "message": "[TCP]: speed up SACK processing\n\nUse \"hints\" to speed up the SACK processing. Various forms \nof this have been used by TCP developers (Web100, STCP, BIC)\nto avoid the 2x linear search of outstanding segments.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ee6b535af4c2c97b4e3b88f37f244bf1004ebd4",
      "tree": "c8a45fcf863e8d72b91fd91ef94fd1f2d70fecb3",
      "parents": [
        "b541ca2c5a3f3f399d6f2ec9da33c1be5a8d8c19"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Nov 08 09:39:42 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:39:42 2005 -0800"
      },
      "message": "[NET]: sk_add_backlog convert from macro to inline\n\nThere is no reason for sk_add_backlog to be a macro. It can\njust be an inline function and get type checking.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d877f3bda870ab5f001bd92528654471d5966b3",
      "tree": "1c05b62abead153956c4ca250ffb1891887e77c9",
      "parents": [
        "fd4f2df24bc23e6b8fc069765b425c7dacf52347"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:20:43 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81c3d5470ecc70564eb9209946730fe2be93ad06",
      "tree": "1efa553c305a6453769dacfaf580bc6ccf146d82",
      "parents": [
        "399de50bbbb2501a6db43daaa8a2dafbc9bcfe0c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:13:38 2005 -0700"
      },
      "message": "[INET]: speedup inet (tcp/dccp) lookups\n\nArnaldo and I agreed it could be applied now, because I have other\npending patches depending on this one (Thank you Arnaldo)\n\n(The other important patch moves skc_refcnt in a separate cache line,\nso that the SMP/NUMA performance doesnt suffer from cache line ping pongs)\n\n1) First some performance data :\n--------------------------------\n\ntcp_v4_rcv() wastes a *lot* of time in __inet_lookup_established()\n\nThe most time critical code is :\n\nsk_for_each(sk, node, \u0026head-\u003echain) {\n     if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif))\n         goto hit; /* You sunk my battleship! */\n}\n\nThe sk_for_each() does use prefetch() hints but only the begining of\n\"struct sock\" is prefetched.\n\nAs INET_MATCH first comparison uses inet_sk(__sk)-\u003edaddr, wich is far\naway from the begining of \"struct sock\", it has to bring into CPU\ncache cold cache line. Each iteration has to use at least 2 cache\nlines.\n\nThis can be problematic if some chains are very long.\n\n2) The goal\n-----------\n\nThe idea I had is to change things so that INET_MATCH() may return\nFALSE in 99% of cases only using the data already in the CPU cache,\nusing one cache line per iteration.\n\n3) Description of the patch\n---------------------------\n\nAdds a new \u0027unsigned int skc_hash\u0027 field in \u0027struct sock_common\u0027,\nfilling a 32 bits hole on 64 bits platform.\n\nstruct sock_common {\n\tunsigned short\t\tskc_family;\n\tvolatile unsigned char\tskc_state;\n\tunsigned char\t\tskc_reuse;\n\tint\t\t\tskc_bound_dev_if;\n\tstruct hlist_node\tskc_node;\n\tstruct hlist_node\tskc_bind_node;\n\tatomic_t\t\tskc_refcnt;\n+\tunsigned int\t\tskc_hash;\n\tstruct proto\t\t*skc_prot;\n};\n\nStore in this 32 bits field the full hash, not masked by (ehash_size -\n1) Using this full hash as the first comparison done in INET_MATCH\npermits us immediatly skip the element without touching a second cache\nline in case of a miss.\n\nSuppress the sk_hashent/tw_hashent fields since skc_hash (aliased to\nsk_hash and tw_hash) already contains the slot number if we mask with\n(ehash_size - 1)\n\nFile include/net/inet_hashtables.h\n\n64 bits platforms :\n#define INET_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))\n     ((*((__u64 *)\u0026(inet_sk(__sk)-\u003edaddr)))\u003d\u003d (__cookie))   \u0026\u0026  \\\n     ((*((__u32 *)\u0026(inet_sk(__sk)-\u003edport))) \u003d\u003d (__ports))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n32bits platforms:\n#define TCP_IPV4_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\\\n     (((__sk)-\u003esk_hash \u003d\u003d (__hash))                 \u0026\u0026  \\\n     (inet_sk(__sk)-\u003edaddr          \u003d\u003d (__saddr))   \u0026\u0026  \\\n     (inet_sk(__sk)-\u003ercv_saddr      \u003d\u003d (__daddr))   \u0026\u0026  \\\n     (!((__sk)-\u003esk_bound_dev_if) || ((__sk)-\u003esk_bound_dev_if \u003d\u003d (__dif))))\n\n\n- Adds a prefetch(head-\u003echain.first) in \n__inet_lookup_established()/__tcp_v4_check_established() and \n__inet6_lookup_established()/__tcp_v6_check_established() and \n__dccp_v4_check_established() to bring into cache the first element of the \nlist, before the {read|write}_lock(\u0026head-\u003elock);\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6baf1f417d092bd2de7c8892cecad456024c993f",
      "tree": "c4af445058eca6f68186286651a0622abd0611f6",
      "parents": [
        "aa07ca5793414ce257ad98809147bd1dbb7a3837"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Sep 05 18:14:11 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Sep 05 18:14:11 2005 -0700"
      },
      "message": "[NET]: Do not protect sysctl_optmem_max with CONFIG_SYSCTL\n\nThe ipv4 and ipv6 protocols need to access it unconditionally.\nSYSCTL\u003dn build failure reported by Russell King.\n\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": "8cd25c1fcfbf6460983e99091d278187421c1a1d",
      "tree": "1ce86192ffd1ff35f22e18e07284845850e5fa96",
      "parents": [
        "1bc0986957b63a2fbbc46ab95d3d1d72830bda83"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Aug 20 17:14:11 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:02:38 2005 -0700"
      },
      "message": "[NET]: fix PROC_FS\u003dn compile\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d179cd12928443f3ec29cfbc3567439644bd0afc",
      "tree": "0bfc57e73f0bf9f7bb9d5c8ce7d3d5afe550f94e",
      "parents": [
        "e92ae93a8aa66aea12935420cb22d4df1c18d023"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 14:57:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:54 2005 -0700"
      },
      "message": "[NET]: Implement SKB fast cloning.\n\nProtocols that make extensive use of SKB cloning,\nfor example TCP, eat at least 2 allocations per\npacket sent as a result.\n\nTo cut the kmalloc() count in half, we implement\na pre-allocation scheme wherein we allocate\n2 sk_buff objects in advance, then use a simple\nreference count to free up the memory at the\ncorrect time.\n\nBased upon an initial patch by Thomas Graf and\nsuggestions from Herbert Xu.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20380731bc2897f2952ae055420972ded4cd786e",
      "tree": "abd31e5ebfadcf4f9024634eec8b11855029e512",
      "parents": [
        "9deff7f2365958c5c5aa8cb5a0dd651c4dd83f8f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 16 02:18:02 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:32 2005 -0700"
      },
      "message": "[NET]: Fix sparse warnings\n\nOf this type, mostly:\n\nCHECK   net/ipv6/netfilter.c\nnet/ipv6/netfilter.c:96:12: warning: symbol \u0027ipv6_netfilter_init\u0027 was not declared. Should it be static?\nnet/ipv6/netfilter.c:101:6: warning: symbol \u0027ipv6_netfilter_fini\u0027 was not declared. Should it be static?\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61bbcf28a8cb0ba56f8193d512f7222e711a294",
      "tree": "33ae1976ab3b08aac516debb2742d2c6696d5436",
      "parents": [
        "25ed891019b84498c83903ecf53df7ce35e9cff6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 17:24:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:58:24 2005 -0700"
      },
      "message": "[NET]: Store skb-\u003etimestamp as offset to a base timestamp\n\nReduces skb size by 8 bytes on 64-bit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64ce207306debd7157f47282be94770407bec01c",
      "tree": "b4004f01b2b0e935b95bcce9a78e60a9e9e17f65",
      "parents": [
        "64cf1e5d8b5f88d56509260e08fa0d8314277350"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 20:50:53 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:56:08 2005 -0700"
      },
      "message": "[NET]: Make NETDEBUG pure printk wrappers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.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": "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": "87d11ceb9deb7a3f13fdee6e89d9bb6be7d27a71",
      "tree": "3b5f6f15a76e6d58e5088cad707859390757181a",
      "parents": [
        "c676270bcd25015b978722ec0352c330dcc87883"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:10:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:42:36 2005 -0700"
      },
      "message": "[SOCK]: Introduce sk_clone\n\nOut of tcp_create_openreq_child, will be used in\ndccp_create_openreq_child, and is a nice sock function anyway.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e48c414ee61f4ac8d5cff2973e66a7cbc8a93aa5",
      "tree": "c4656efe48b75adf5742514c3e4286007f20bdca",
      "parents": [
        "8feaf0c0a5488b3d898a9c207eb6678f44ba3f26"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:09:46 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:42:18 2005 -0700"
      },
      "message": "[INET]: Generalise the TCP sock ID lookup routines\n\nAnd also some TIME_WAIT functions.\n\n[acme@toy net-2.6.14]$ grep built-in /tmp/before.size /tmp/after.size\n/tmp/before.size: 282955   13122    9312  305389   4a8ed net/ipv4/built-in.o\n/tmp/after.size:  281566   13122    9312  304000   4a380 net/ipv4/built-in.o\n[acme@toy net-2.6.14]$\n\nI kept them still inlined, will uninline at some point to see what\nwould be the performance difference.\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": "6cbb0df788b90777a7ed0f9d8261260353f48076",
      "tree": "152b75c0279b8f612412f24a5ab35ab6d5a208d8",
      "parents": [
        "614c6cb4f225a7da9f13e5dd0fac3b531078eb9f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:49:02 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:37:48 2005 -0700"
      },
      "message": "[SOCK]: Introduce sk_setup_caps\n\nFrom tcp_v4_setup_caps, that always is preceded by a call to\n__sk_dst_set, so coalesce this sequence into sk_setup_caps, removing\none call to a TCP function in the IP layer.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "614c6cb4f225a7da9f13e5dd0fac3b531078eb9f",
      "tree": "2fd96c3476681cf76647592d4f162004b8c7416e",
      "parents": [
        "e6848976b721eeb5551cd94673faafeef78d9f35"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 19:47:37 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:37:42 2005 -0700"
      },
      "message": "[SOCK]: Rename __tcp_v4_rehash to __sk_prot_rehash\n\nThis operation was already generic and DCCP will use it.\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": "53b924b31fa53ac3007df3fef6870d5074a9adf8",
      "tree": "117e7f530fa2aa37751cfd22908cd81253fd08f8",
      "parents": [
        "66a79a19a7c582efd99bb143c3a59fbda006eb39"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Aug 23 10:11:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 23 10:11:30 2005 -0700"
      },
      "message": "[NET]: Fix socket bitop damage\n\nThe socket flag cleanups that went into 2.6.12-rc1 are basically oring\nthe flags of an old socket into the socket just being created.\nUnfortunately that one was just initialized by sock_init_data(), so already\nhas SOCK_ZAPPED set.  As the result zapped sockets are created and all\nincoming connection will fail due to this bug which again was carefully\nreplicated to at least AX.25, NET/ROM or ROSE.\n\nIn order to keep the abstraction alive I\u0027ve introduced sock_copy_flags()\nto copy the socket flags from one sockets to another and used that\ninstead of the bitwise copy thing.  Anyway, the idea here has probably\nbeen to copy all flags, so sock_copy_flags() should be the right thing.\nWith this the ham radio protocols are usable again, so I hope this will\nmake it into 2.6.13.\n\nSigned-off-by: Ralf Baechle DL5RB \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86a76caf8705e3524e15f343f3c4806939a06dc8",
      "tree": "ac2022a6073b5af228e009178048bdab070d2230",
      "parents": [
        "b03efcfb2180289718991bb984044ce6c5b7d1b0"
      ],
      "author": {
        "name": "Victor Fusco",
        "email": "victor@cetuc.puc-rio.br",
        "time": "Fri Jul 08 14:57:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 14:57:47 2005 -0700"
      },
      "message": "[NET]: Fix sparse warnings\n\nFrom: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\n\nFix the sparse warning \"implicit cast to nocast type\"\n\nSigned-off-by: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "c65f7f00c587828e3d50737805a78f74804972de"
}
