)]}'
{
  "log": [
    {
      "commit": "ddd4aa424b866a08ceba7ddf38e61542c91b93a0",
      "tree": "654235ceccd1c3f9dfbb7422ebe09b21544325d6",
      "parents": [
        "7a71ed899e77cc822abb863e24a422dcf7e9fa33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 09 15:36:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 10 13:29:30 2011 -0800"
      },
      "message": "inetpeer: Add redirect and PMTU discovery cached info.\n\nValidity of the cached PMTU information is indicated by it\u0027s\nexpiration value being non-zero, just as per dst-\u003eexpires.\n\nThe scheme we will use is that we will remember the pre-ICMP value\nheld in the metrics or route entry, and then at expiration time\nwe will restore that value.\n\nIn this way PMTU expiration does not kill off the cached route as is\ndone currently.\n\nRedirect information is permanent, or at least until another redirect\nis received.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a71ed899e77cc822abb863e24a422dcf7e9fa33",
      "tree": "2811b8ca75c7019522f73c7d972208ae3a3ea8f9",
      "parents": [
        "b6644cb706610874104dbf3359e3b67aa59cbc27"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 09 14:30:26 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 10 13:22:28 2011 -0800"
      },
      "message": "inetpeer: Abstract address representation further.\n\nFuture changes will add caching information, and some of\nthese new elements will be addresses.\n\nSince the family is implicit via the -\u003edaddr.family member,\nreplicating the family in ever address we store is entirely\nredundant.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92d8682926342d2b6aa5b2ecc02221e00e1573a0",
      "tree": "7f70b9cc2975716ab60ddd632b9fecf0a51b828d",
      "parents": [
        "0131ba451e20239c5dc701027c1a2edef95e1a6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:55:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:59:53 2011 -0800"
      },
      "message": "inetpeer: Move ICMP rate limiting state into inet_peer entries.\n\nLike metrics, the ICMP rate limiting bits are cached state about\na destination.  So move it into the inet_peer entries.\n\nIf an inet_peer cannot be bound (the reason is memory allocation\nfailure or similar), the policy is to allow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "144001bddcb4db62c2261f1d703d835851031577",
      "tree": "e10cd1840542b2a6d4873ff8477314d91e453881",
      "parents": [
        "606598237c856b0c6584c2263288657658140da9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 13:52:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 27 13:52:16 2011 -0800"
      },
      "message": "inetpeer: Mark metrics as \"new\" in fresh inetpeer entries.\n\nSet the RTAX_LOCKED metric to INETPEER_METRICS_NEW (basically,\nall ones) on fresh inetpeer entries.\n\nThis way code can determine if default metrics have been loaded\nin from a routing table entry already.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3408404a4c2a4eead9d73b0bbbfe3f225b65f492",
      "tree": "b0be5af0a2886a3f5bc075d94c4c621ff6802973",
      "parents": [
        "d1dc7abf2fafa34b0ffcd070fd59405aa9c0a4d8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:37:46 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:38:09 2011 -0800"
      },
      "message": "inetpeer: Use correct AVL tree base pointer in inet_getpeer().\n\nFamily was hard-coded to AF_INET but should be daddr-\u003efamily.\n\nThis fixes crashes when unlinking ipv6 peer entries, since the\nunlink code was looking up the base pointer properly.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8790ca172a1550949804a2ad59ccea310f680c9f",
      "tree": "f9a0bf451adc36dab6e4cb9f5430827bbd827384",
      "parents": [
        "67d5288049f46f816181f63eaa8f1371877ad8ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 17:28:18 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 17:28:18 2010 -0800"
      },
      "message": "inetpeer: Kill use of inet_peer_address_t typedef.\n\nThey are verboten these days.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3419363808f2481b24a817f491878e1795db4c7",
      "tree": "76cfa3c55d6798a9bf25d200778dc212841f6cb0",
      "parents": [
        "672f007d65f50468a4a1e55825fe58e5b035324d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:27:11 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:27:11 2010 -0800"
      },
      "message": "ipv6: Add infrastructure to bind inet_peer objects to routes.\n\nThey are only allowed on cached ipv6 routes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "021e9299113363cc1b713f86b2cba30b8e6cb5dd",
      "tree": "2e6f5bb98960ba927280beb987168f6bd5a4ba6d",
      "parents": [
        "026630450244b8f8d1baf54548be0800aa1823ed"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:12:23 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:12:23 2010 -0800"
      },
      "message": "inetpeer: Add v6 peers tree, abstract root properly.\n\nAdd the ipv6 peer tree instance, and adapt remaining\ndirect references to \u0027v4_peers\u0027 as needed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "026630450244b8f8d1baf54548be0800aa1823ed",
      "tree": "073336c16d43756018592a5cd3714aafab6a4582",
      "parents": [
        "b534ecf1cd26f094497da6ae28a6ab64cdbe1617"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:08:53 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 12:08:53 2010 -0800"
      },
      "message": "inetpeer: Abstract address comparisons.\n\nNow v4 and v6 addresses will both work properly.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b534ecf1cd26f094497da6ae28a6ab64cdbe1617",
      "tree": "bdf8a55183a38926b8f34f709cb51a4db2f5f6b8",
      "parents": [
        "582a72da9a41be9227dc931d728ae2906880a589"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:54:19 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:54:19 2010 -0800"
      },
      "message": "inetpeer: Make inet_getpeer() take an inet_peer_adress_t pointer.\n\nAnd make an inet_getpeer_v4() helper, update callers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "582a72da9a41be9227dc931d728ae2906880a589",
      "tree": "0c1943d6c5eabdbfef6560ac49db322d4becf43d",
      "parents": [
        "98158f5a853cafd33b254ae0eacc0dd69f90b93b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:53:55 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:53:55 2010 -0800"
      },
      "message": "inetpeer: Introduce inet_peer_address_t.\n\nCurrently only the v4 aspect is used, but this will change.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98158f5a853cafd33b254ae0eacc0dd69f90b93b",
      "tree": "ccffd30760090c9b20d89d9bb30ed50246b699e6",
      "parents": [
        "c20ec76157747434652e721cdd4dccd8654ad370"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:41:59 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 30 11:41:59 2010 -0800"
      },
      "message": "inetpeer: Abstract out the tree root accesses.\n\nInstead of directly accessing \"peer\", change to code to\noperate using a \"struct inet_peer_base *\" pointer.\n\nThis will facilitate the addition of a seperate tree for\nipv6 peer entries.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b914c4ea929a4ba6fb97967800dc473c31552b98",
      "tree": "630f7c81d82e580e5aa5164c0e4cf1d0dadca3ba",
      "parents": [
        "7a2b03c5175e9ddcc2a2d48ca86dea8a88b68383"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 23:55:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:33 2010 -0700"
      },
      "message": "inetpeer: __rcu annotations\n\nAdds __rcu annotations to inetpeer\n\t(struct inet_peer)-\u003eavl_left\n\t(struct inet_peer)-\u003eavl_right\n\nThis is a tedious cleanup, but removes one smp_wmb() from link_to_pool()\nsince we now use more self documenting rcu_assign_pointer().\n\nNote the use of RCU_INIT_POINTER() instead of rcu_assign_pointer() in\nall cases we dont need a memory barrier.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "317fe0e6c5dc9448bcef41a2e31fecfd3dba7f55",
      "tree": "c2a042e1c8bb96b7fdeadf658309ead1b6e8dabc",
      "parents": [
        "fdb93f8ac39aa5902f3d264edd50dffcabfdd13b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 16 04:52:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 16 11:55:39 2010 -0700"
      },
      "message": "inetpeer: restore small inet_peer structures\n\nAddition of rcu_head to struct inet_peer added 16bytes on 64bit arches.\n\nThats a bit unfortunate, since old size was exactly 64 bytes.\n\nThis can be solved, using an union between this rcu_head an four fields,\nthat are normally used only when a refcount is taken on inet_peer.\nrcu_head is used only when refcnt\u003d-1, right before structure freeing.\n\nAdd a inet_peer_refcheck() function to check this assertion for a while.\n\nWe can bring back SLAB_HWCACHE_ALIGN qualifier in kmem cache creation.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f2f89209500623ccb4713ec4af7de86fd30a9e4",
      "tree": "6a48b8183ac6d60d8ce6a9c907de1ea35c1ca918",
      "parents": [
        "d5f31fbfd8fa3836a918592032853c41d1797c3d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 15 21:47:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 15 21:47:39 2010 -0700"
      },
      "message": "inetpeer: do not use zero refcnt for freed entries\n\nFollowup of commit aa1039e73cc2 (inetpeer: RCU conversion)\n\nUnused inet_peer entries have a null refcnt.\n\nUsing atomic_inc_not_zero() in rcu lookups is not going to work for\nthem, and slow path is taken.\n\nFix this using -1 marker instead of 0 for deleted entries.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa1039e73cc2cf834e99c09d2033d5d2675357b9",
      "tree": "0db06e4adddaf0f77b4e8de170710b74a17375e4",
      "parents": [
        "7b34a4644b4342896e0c1967b8f953213ea4a990"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 15 08:23:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 15 14:23:38 2010 -0700"
      },
      "message": "inetpeer: RCU conversion\n\ninetpeer currently uses an AVL tree protected by an rwlock.\n\nIt\u0027s possible to make most lookups use RCU\n\n1) Add a struct rcu_head to struct inet_peer\n\n2) add a lookup_rcu_bh() helper to perform lockless and opportunistic\nlookup. This is a normal function, not a macro like lookup().\n\n3) Add a limit to number of links followed by lookup_rcu_bh(). This is\nneeded in case we fall in a loop.\n\n4) add an smp_wmb() in link_to_pool() right before node insert.\n\n5) make unlink_from_pool() use atomic_cmpxchg() to make sure it can take\nlast reference to an inet_peer, since lockless readers could increase\nrefcount, even while we hold peers.lock.\n\n6) Delay struct inet_peer freeing after rcu grace period so that\nlookup_rcu_bh() cannot crash.\n\n7) inet_getpeer() first attempts lockless lookup.\n   Note this lookup can fail even if target is in AVL tree, but a\nconcurrent writer can let tree in a non correct form.\n   If this attemps fails, lock is taken a regular lookup is performed\nagain.\n\n8) convert peers.lock from rwlock to a spinlock\n\n9) Remove SLAB_HWCACHE_ALIGN when peer_cachep is created, because\nrcu_head adds 16 bytes on 64bit arches, doubling effective size (64 -\u003e\n128 bytes)\nIn a future patch, this is probably possible to revert this part, if rcu\nfield is put in an union to share space with rid, ip_id_count, tcp_ts \u0026\ntcp_ts_stamp. These fields being manipulated only with refcnt \u003e 0.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6cc1d642de9284cb26488ea390d915b50ee2504",
      "tree": "7652471f541c11f63f54e282a04a9cba614e8d5e",
      "parents": [
        "6b10de38f0ef4e921a1f6e5cba2b6c92d6b46ecd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jun 14 19:35:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 14 23:13:08 2010 -0700"
      },
      "message": "inetpeer: various changes\n\nTry to reduce cache line contentions in peer management, to reduce IP\ndefragmentation overhead.\n\n- peer_fake_node is marked \u0027const\u0027 to make sure its not modified.\n  (tested with CONFIG_DEBUG_RODATA\u003dy)\n\n- Group variables in two structures to reduce number of dirtied cache\nlines. One named \"peers\" for avl tree root, its number of entries, and\nassociated lock. (candidate for RCU conversion)\n\n- A second one named \"unused_peers\" for unused list and its lock\n\n- Add a !list_empty() test in unlink_from_unused() to avoid taking lock\nwhen entry is not unused.\n\n- Use atomic_dec_and_lock() in inet_putpeer() to avoid taking lock in\nsome cases.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c1409a0a2b88585ec0c03f1de0aafa178c56313",
      "tree": "e9fc25badfb716e5368079535f548cc8e4b5576a",
      "parents": [
        "234b27c3fd58fc0e15c04dd0fbf4337fac9c2a06"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 12 09:33:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:46:58 2009 -0800"
      },
      "message": "inetpeer: Optimize inet_getid()\n\nWhile investigating for network latencies, I found inet_getid() was a\ncontention point for some workloads, as inet_peer_idlock is shared\nby all inet_getid() users regardless of peers.\n\nOne way to fix this is to make ip_id_count an atomic_t instead\nof __u16, and use atomic_add_return().\n\nIn order to keep sizeof(struct inet_peer) \u003d 64 on 64bit arches\ntcp_ts_stamp is also converted to __u32 instead of \"unsigned long\".\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9319100c1ad7d0ed4045ded767684ad25670436",
      "tree": "98ab9f9f9bf353d26e8a8f78d1edfeba2957d2ea",
      "parents": [
        "e0db4a786bbd73145b4feb45c75d49b6e60fe72c"
      ],
      "author": {
        "name": "Jianjun Kong",
        "email": "jianjun@zeuux.org",
        "time": "Mon Nov 03 00:23:42 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 00:23:42 2008 -0800"
      },
      "message": "net: clean up net/ipv4/ah4.c esp4.c fib_semantics.c inet_connection_sock.c inetpeer.c ip_output.c\n\nSigned-off-by: Jianjun Kong \u003cjianjun@zeuux.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d71209ded2ba6010070d02005384897c59859d00",
      "tree": "a812e34e54e36f74ce9ef61f6e9e42100d0a6ef4",
      "parents": [
        "22649d1afbe6988688a07fd70abb06f1e2213567"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 12 21:27:28 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 12 21:27:28 2007 -0800"
      },
      "message": "[INET]: Use list_head-s in inetpeer.c\n\nThe inetpeer.c tracks the LRU list of inet_perr-s, but makes\nit by hands. Use the list_head-s for this.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc7b93800b48324667e218a4b6b784b853cf4dd7",
      "tree": "7b8512b68c888298aff7e1a44cf4be5ef36697f4",
      "parents": [
        "c2e68052429fdf87702fccd272951282bef1c60a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 20 19:39:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 19:39:17 2007 -0700"
      },
      "message": "[IPV4]: Fix inetpeer gcc-4.2 warnings\n\n  CC      net/ipv4/inetpeer.o\nnet/ipv4/inetpeer.c: In function \u0027unlink_from_pool\u0027:\nnet/ipv4/inetpeer.c:297: warning: the address of \u0027stack\u0027 will always evaluate as \u0027true\u0027\nnet/ipv4/inetpeer.c:297: warning: the address of \u0027stack\u0027 will always evaluate as \u0027true\u0027\nnet/ipv4/inetpeer.c: In function \u0027inet_getpeer\u0027:\nnet/ipv4/inetpeer.c:409: warning: the address of \u0027stack\u0027 will always evaluate as \u0027true\u0027\nnet/ipv4/inetpeer.c:409: warning: the address of \u0027stack\u0027 will always evaluate as \u0027true\u0027\n\n\"Fix\" by checking for !\u003d NULL.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "243bbcaa09e8482aa28065cbc2eb99f0ca2fc8d6",
      "tree": "e542a4ed151de034779fa311f8d89a55ac90f685",
      "parents": [
        "43e683926f808cec9802466c27cee7499eda3d11"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Mar 06 20:23:10 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:49 2007 -0700"
      },
      "message": "[IPV4]: Optimize inet_getpeer()\n\n1) Some sysctl vars are declared __read_mostly\n\n2) We can avoid updating stack[] when doing an AVL lookup only.\n\n    lookup() macro is extended to receive a second parameter, that may be NULL\nin case of a pure lookup (no need to save the AVL path). This removes\nunnecessary instructions, because compiler knows if this _stack parameter is\nNULL or not.\n\n    text size of net/ipv4/inetpeer.o is 2063 bytes instead of 2107 on x86_64\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.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": "4663afe2c848e2abc8791202beecf40684f13eb4",
      "tree": "4d67cf3a9910bb9c224b4495b554560ec438477e",
      "parents": [
        "ea614d7f4fb2d436b7a5ee490d1011615f6b38d5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Oct 12 21:21:06 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Oct 15 23:14:17 2006 -0700"
      },
      "message": "[NET]: reduce sizeof(struct inet_peer), cleanup, change in peer_check_expire()\n\n1) shrink struct inet_peer on 64 bits platforms.\n"
    },
    {
      "commit": "53576d9b995605a9edc7414b900a9218c8f23b1f",
      "tree": "a0287612fda29ef5908febacecd001f59fe2ff28",
      "parents": [
        "d878e72e419db9ff4c66848375ee30a19820e4de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 22:18:43 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:09 2006 -0700"
      },
      "message": "[IPV4]: inetpeer annotations\n\nThis one is interesting - we use net-endian value as search key, but\norder the tree by *host-endian* comparisons of keys.  OK since we only\ncare about lookups.  Annotated inet_getpeer() and friends.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5d679f33900c71d1a76ba07c5b04055abd34480",
      "tree": "fb581f7156870056dbb91feaab9d3dd22fdcf61e",
      "parents": [
        "ff5dfe736dd9f6c74b206aa77c0465dfd503bdb9"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Aug 26 19:25:52 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:19 2006 -0700"
      },
      "message": "[NET]: Use SLAB_PANIC\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7466d90f858ad89dda6f47b744e0a839937907a3",
      "tree": "1718f61cd2019ef3f1fc9ae50aeb0ef0d864352c",
      "parents": [
        "bde3445c562dc72f0003550ba30db1e39be10366"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Jul 09 18:18:00 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 10 14:50:30 2006 -0700"
      },
      "message": "[IPV4] inetpeer: Get rid of volatile from peer_total\n\nThe variable peer_total is protected by a lock.  The volatile marker\nmakes no sense.  This shaves off 20 bytes on i386.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09a626600b437d91f6b13ade5c7c4b374893c54e",
      "tree": "a6de3c2a33b7d896cd22a3fe799d1b40d28daf40",
      "parents": [
        "4bba3925924148c24fb0c7636a04ad69a6a56b84"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Sun Jan 08 22:24:28 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jan 09 14:16:18 2006 -0800"
      },
      "message": "[NET]: Change some \"if (x) BUG();\" to \"BUG_ON(x);\"\n\nThis changes some simple \"if (x) BUG();\" statements to \"BUG_ON(x);\"\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89cee8b1cbb9dac40c92ef1968aea2b45f82fd18",
      "tree": "01049841b15a9c2f3f136710382c7e4c11c1b1e5",
      "parents": [
        "d5228a4f49db32d22a39c653281b527ef371129c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Dec 13 23:14:27 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:31 2006 -0800"
      },
      "message": "[IPV4]: Safer reassembly\n\nAnother spin of Herbert Xu\u0027s \"safer ip reassembly\" patch\nfor 2.6.16.\n\n(The original patch is here:\nhttp://marc.theaimsgroup.com/?l\u003dlinux-netdev\u0026m\u003d112281936522415\u0026w\u003d2\nand my only contribution is to have tested it.)\n\nThis patch (optionally) does additional checks before accepting IP\nfragments, which can greatly reduce the possibility of reassembling\nfragments which originated from different IP datagrams.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Arthur Kepner \u003cakepner@sgi.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d06afab73a75f40ae2864e6c296356bab1ab473",
      "tree": "1d9c8c24a1024a12a4e8df841fba5809fa914356",
      "parents": [
        "7c352bdf048811b8128019ffc1e886161e09c11c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 09 13:10:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:48 2005 -0700"
      },
      "message": "[PATCH] timer initialization cleanup: DEFINE_TIMER\n\nClean up timer initialization by introducing DEFINE_TIMER a\u0027la\nDEFINE_SPINLOCK.  Build and boot-tested on x86.  A similar patch has been\nbeen in the -RT tree for some time.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba89966c1984513f4f2cc0a6c182266be44ddd03",
      "tree": "6e5766fc5c287708c03e0a162531dfd4785b0703",
      "parents": [
        "29cb9f9c5502f6218cd3ea574efe46a5e55522d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Aug 26 12:05:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:11:18 2005 -0700"
      },
      "message": "[NET]: use __read_mostly on kmem_cache_t , DEFINE_SNMP_STAT pointers\n\nThis patch puts mostly read only data in the right section\n(read_mostly), to help sharing of these data between CPUS without\nmemory ping pongs.\n\nOn one of my production machine, tcp_statistics was sitting in a\nheavily modified cache line, so *every* SNMP update had to force a\nreload.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "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": "0742fd53a3774781255bd1e471e7aa2e4a82d5f7",
      "tree": "020e6d1ccb1d7ce07cdb26b7317fa2ca58e689b3",
      "parents": [
        "f2ccd8fa06c8e302116e71df372f5c1f83432e03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Aug 09 19:35:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:33:20 2005 -0700"
      },
      "message": "[IPV4]: possible cleanups\n\nThis patch contains the following possible cleanups:\n- make needlessly global code static\n- #if 0 the following unused global function:\n  - xfrm4_state.c: xfrm4_state_fini\n- remove the following unneeded EXPORT_SYMBOL\u0027s:\n  - ip_output.c: ip_finish_output\n  - ip_output.c: sysctl_ip_default_ttl\n  - fib_frontend.c: ip_dev_find\n  - inetpeer.c: inet_peer_idlock\n  - ip_options.c: ip_options_compile\n  - ip_options.c: ip_options_undo\n  - net/core/request_sock.c: sysctl_max_syn_backlog\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1344a41637114485fac7afa1505bce2ff862807a",
      "tree": "cf8f84bee2b6e23a17e97beef53791a698256f77",
      "parents": [
        "c3a20692ca5c8eb8cf5d0f489d4fc839ce7593d1"
      ],
      "author": {
        "name": "Dave Johnson",
        "email": "djohnson+linux-kernel@sw.starentnetworks.com",
        "time": "Tue Aug 23 10:10:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 23 10:10:15 2005 -0700"
      },
      "message": "[IPV4]: Fix negative timer loop with lots of ipv4 peers.\n\nFrom: Dave Johnson \u003cdjohnson+linux-kernel@sw.starentnetworks.com\u003e\n\nFound this bug while doing some scaling testing that created 500K inet\npeers.\n\npeer_check_expire() in net/ipv4/inetpeer.c isn\u0027t using inet_peer_gc_mintime\ncorrectly and will end up creating an expire timer with less than the\nminimum duration, and even zero/negative if enough active peers are\npresent.\n\nIf \u003e65K peers, the timer will be less than inet_peer_gc_mintime, and with\n\u003e70K peers, the timer duration will reach zero and go negative.\n\nThe timer handler will continue to schedule another zero/negative timer in\na loop until peers can be aged.  This can continue for at least a few\nminutes or even longer if the peers remain active due to arriving packets\nwhile the loop is occurring.\n\nBug is present in both 2.4 and 2.6.  Same patch will apply to both just\nfine.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
