)]}'
{
  "log": [
    {
      "commit": "8a6e77d5209e459a9ec5c268c39800c06cd1dc86",
      "tree": "141421761c5ac9b398cab84b3674d30ec2fd4e00",
      "parents": [
        "fc0b927d9a5024e138c4318fe19a590f23e3eeec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 21 00:21:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 26 15:49:07 2011 -0500"
      },
      "message": "decnet: proper socket refcounting\n\nBetter use sk_reset_timer() / sk_stop_timer() helpers to make sure we\ndont access already freed/reused memory later.\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "618f9bc74a039da76fa027ac2600c5b785b964c5",
      "tree": "ff69bc14b711c9c9d4c691d2a8c262401d62c8c9",
      "parents": [
        "ebb762f27fed083cb993a0816393aba4615f6544"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Nov 23 02:13:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 26 14:29:51 2011 -0500"
      },
      "message": "net: Move mtu handling down to the protocol depended handlers\n\nWe move all mtu handling from dst_mtu() down to the protocol\nlayer. So each protocol can implement the mtu handling in\na different manner.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ebb762f27fed083cb993a0816393aba4615f6544",
      "tree": "c065070f78d4a272d99183606d103519426bb344",
      "parents": [
        "6b600b26c0215bf9ed04062ecfacf0bc20e2588c"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Nov 23 02:12:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 26 14:29:50 2011 -0500"
      },
      "message": "net: Rename the dst_opt default_mtu method to mtu\n\nWe plan to invoke the dst_opt-\u003edefault_mtu() method unconditioally\nfrom dst_mtu(). So rename the method to dst_opt-\u003emtu() to match\nthe name with the new meaning.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf",
      "tree": "b0fd4e724bdb1c0a1783616614ae5a9dec1cfa5c",
      "parents": [
        "d9b9384215e17c68d7b6bd05d6fa409e5d4140d7"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 15 11:47:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:30 2011 -0400"
      },
      "message": "net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules\n\nThese files are non modular, but need to export symbols using\nthe macros now living in export.h -- call out the include so\nthat things won\u0027t break when we remove the implicit presence\nof module.h from everywhere.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "a9b3cd7f323b2e57593e7215362a7b02fc933e3a",
      "tree": "eba1741956aef3015d5b1a07253bf93c4c1bc7df",
      "parents": [
        "76f793e3a47139d340185cbc1a314740c09b13d3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 01 16:19:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 02 04:29:23 2011 -0700"
      },
      "message": "rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER\n\nWhen assigning a NULL value to an RCU protected pointer, no barrier\nis needed. The rcu_assign_pointer, used to handle that but will soon\nchange to not handle the special case.\n\nConvert all rcu_assign_pointer of NULL value.\n\n//smpl\n@@ expression P; @@\n\n- rcu_assign_pointer(P, NULL)\n+ RCU_INIT_POINTER(P, NULL)\n\n// \u003c/smpl\u003e\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3aaeb38c40e5a6c08dd31a1b64da65c4352be36",
      "tree": "1c17b41d11edc7a7b3477a294cba440f2a14796c",
      "parents": [
        "69cce1d1404968f78b177a0314f5822d5afdbbfb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 00:40:17 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 00:40:17 2011 -0700"
      },
      "message": "net: Add -\u003eneigh_lookup() operation to dst_ops\n\nIn the future dst entries will be neigh-less.  In that environment we\nneed to have an easy transition point for current users of\ndst-\u003eneighbour outside of the packet output fast path.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69cce1d1404968f78b177a0314f5822d5afdbbfb",
      "tree": "26223264fd69ea8078d0013fd5a76eb7aeb04c12",
      "parents": [
        "9cbb7ecbcff85077bb12301aaf4c9b5a56c5993d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:09:49 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:11:35 2011 -0700"
      },
      "message": "net: Abstract dst-\u003eneighbour accesses behind helpers.\n\ndst_{get,set}_neighbour()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f40b161de4f27402b4c0659ad2ae83fad5a0cdd",
      "tree": "9e2dbd4ba8a66916c690b0e5791ac25ea0958c26",
      "parents": [
        "69ecca86da4890c13a5e29c51b4ac76a1a8a62c9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 13:34:11 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:11:17 2011 -0700"
      },
      "message": "neigh: Pass neighbour entry to output ops.\n\nThis will get us closer to being able to do \"neigh stuff\"\ncompletely independent of the underlying dst_entry for\nprotocols (ipv4/ipv6) that wish to do so.\n\nWe will also be able to make dst entries neigh-less.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "542d4d685febf3110d1a08d0bcb9f6ef060b76f7",
      "tree": "8bfb9b8c8f7e8d359030781367634269f843d3e3",
      "parents": [
        "b23b5455b6458920179a1f27513ce42e70d11f37"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 18:06:24 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 18:30:59 2011 -0700"
      },
      "message": "neigh: Kill ndisc_ops-\u003equeue_xmit\n\nIt is always dev_queue_xmit().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47ec132a40d788d45e2f088545dea68798034dab",
      "tree": "f3089b58b4ef12cca150bdd4bf213d8a627a0035",
      "parents": [
        "0895b08adeb3f660cdff21990d0a9c2b59a919e7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:39:57 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:39:57 2011 -0700"
      },
      "message": "neigh: Kill neigh_ops-\u003ehh_output\n\nIt\u0027s always dev_queue_xmit().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06f8fe11bb4a84de9d9faa50c7ffbe40b90d395a",
      "tree": "79c244cd97661156649b6af488c4827729da634e",
      "parents": [
        "4a9e4b09326baa6db30ae35e3521bf5259b238f5"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Jul 01 09:43:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 01 16:11:15 2011 -0700"
      },
      "message": "decnet: Reduce switch/case indent\n\nMake the case labels the same indent as the switch.\n\ngit diff -w shows differences for line wrapping.\n(fit multiple lines to 80 columns, join where possible)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea110733874d5176cb56dcf612a629ffac09dbf0",
      "tree": "d079bb9990ecf7dadc326b62605fb4de1f6fad4f",
      "parents": [
        "3c8def9776c3d4636291432522ea312f7a44be95"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jun 13 16:21:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@conan.davemloft.net",
        "time": "Thu Jun 16 23:19:27 2011 -0400"
      },
      "message": "net: Remove casts of void *\n\nUnnecessary casts of void * clutter the code.\n\nThese are the remainder casts after several specific\npatches to remove netdev_priv and dev_priv.\n\nDone via coccinelle script:\n\n$ cat cast_void_pointer.cocci\n@@\ntype T;\nT *pt;\nvoid *pv;\n@@\n\n- pt \u003d (T *)pv;\n+ pt \u003d pv;\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@conan.davemloft.net\u003e\n"
    },
    {
      "commit": "c7ac8679bec9397afe8918f788cbcef88c38da54",
      "tree": "c152712de4c997ea79252ef9ac72aaedb8f88c18",
      "parents": [
        "929dd047720785f099e12113780b3d7914ce6d9f"
      ],
      "author": {
        "name": "Greg Rose",
        "email": "gregory.v.rose@intel.com",
        "time": "Fri Jun 10 01:27:09 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Jun 09 20:38:07 2011 -0700"
      },
      "message": "rtnetlink: Compute and store minimum ifinfo dump size\n\nThe message size allocated for rtnl ifinfo dumps was limited to\na single page.  This is not enough for additional interface info\navailable with devices that support SR-IOV and caused a bug in\nwhich VF info would not be displayed if more than approximately\n40 VFs were created per interface.\n\nImplement a new function pointer for the rtnl_register service that will\ncalculate the amount of data required for the ifinfo dump and allocate\nenough data to satisfy the request.\n\nSigned-off-by: Greg Rose \u003cgregory.v.rose@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "1e547757eca3c30eeeac526716e4ae833c2a9a2f",
      "tree": "3afe4937b0ef0e6f8b496d486d48ab4347daa053",
      "parents": [
        "217f18639bc18ba4bbb67481113037344c148938"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 18:10:12 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:53 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(dn_dev_free_ifa_rcu) to kfree_rcu()\n\nThe rcu callback dn_dev_free_ifa_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(dn_dev_free_ifa_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "e67f88dd12f610da98ca838822f2c9b4e7c6100e",
      "tree": "6cf01b794984aaad97b6e6ff6e5103bc48d68191",
      "parents": [
        "dcfd9cdc1222f14d6180514e533289493a0716fb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 27 22:56:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 15:26:28 2011 -0700"
      },
      "message": "net: dont hold rtnl mutex during netlink dump callbacks\n\nFour years ago, Patrick made a change to hold rtnl mutex during netlink\ndump callbacks.\n\nI believe it was a wrong move. This slows down concurrent dumps, making\ngood old /proc/net/ files faster than rtnetlink in some situations.\n\nThis occurred to me because one \"ip link show dev ...\" was _very_ slow\non a workload adding/removing network devices in background.\n\nAll dump callbacks are able to use RCU locking now, so this patch does\nroughly a revert of commits :\n\n1c2d670f366 : [RTNETLINK]: Hold rtnl_mutex during netlink dump callbacks\n6313c1e0992 : [RTNETLINK]: Remove unnecessary locking in dump callbacks\n\nThis let writers fight for rtnl mutex and readers going full speed.\n\nIt also takes care of phonet : phonet_route_get() is now called from rcu\nread section. I renamed it to phonet_route_get_rcu()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Remi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf91166223772ef4a2ed98b9874958bf6a2470df",
      "tree": "f8c86cc60798db9e4469031a8dceb5fcb512fb81",
      "parents": [
        "5c1e6aa300a7a669dc469d2dcb20172c6bd8fed9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 14:31:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 22:26:00 2011 -0700"
      },
      "message": "net: Use non-zero allocations in dst_alloc().\n\nMake dst_alloc() and it\u0027s users explicitly initialize the entire\nentry.\n\nThe zero\u0027ing done by kmem_cache_zalloc() was almost entirely\nredundant.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c1e6aa300a7a669dc469d2dcb20172c6bd8fed9",
      "tree": "61796a49f8b9236eee4730ff8142e79bd43f0f51",
      "parents": [
        "778865a550e7958c1211242cc481f48d46de0f04"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 14:13:38 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 22:25:59 2011 -0700"
      },
      "message": "net: Make dst_alloc() take more explicit initializations.\n\nNow the dst-\u003edev, dev-\u003eobsolete, and dst-\u003eflags values can\nbe specified as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a01c1335a308ee660518e33db03fb5f5e1dfc166",
      "tree": "bd31d76a300b1c2655e026e9f618a4224bf5370e",
      "parents": [
        "482e3febc2e7df78411005dcdd7621c16b98b088"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 20:47:07 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 20:47:07 2011 -0700"
      },
      "message": "decnet: Don\u0027t leak entries when rebuilding zone.\n\nAs noticed by Ben Hutchings, when we move entries from\none table to another we leak all except the first entry.\n\nPut back the \"next\" variable removed by commit\n9bf9055eb716f85372c41b3fbc51f90bc7653740 (\"decnet: Fix set-but-unused\nvariable.\") and use it properly.\n\nReported-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9bf9055eb716f85372c41b3fbc51f90bc7653740",
      "tree": "d496b9839063a2c334cf3a39629767fdb46a50f0",
      "parents": [
        "21f825e61878db94c7093c8407602fc89fc38ad9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 00:14:09 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 00:14:09 2011 -0700"
      },
      "message": "decnet: Fix set-but-unused variable.\n\n\"next\" in dn_rebuild_zone() is set but not actually used,\nkill it off.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bef55aebd560c5a6f8883c421abccee39978c58c",
      "tree": "b1adbe59af8817ee6ef3009fe8c296d3c87fc067",
      "parents": [
        "1958b856c1a59c0f1e892b92debb8c9fe4f364dc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 17:17:10 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:55 2011 -0800"
      },
      "message": "decnet: Convert to use flowidn where applicable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d28f42c1bd4bb2363d88df74d0128b4da135b4a",
      "tree": "cb2e652fe79a2bc307e871bc2d3fa51cc8051e45",
      "parents": [
        "ca116922afa8cc5ad46b00c0a637b1cde5ca478a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:29:39 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:44 2011 -0800"
      },
      "message": "net: Put flowi_* prefix on AF independent members of struct flowi\n\nI intend to turn struct flowi into a union of AF specific flowi\nstructs.  There will be a common structure that each variant includes\nfirst, much like struct sock_common.\n\nThis is the first step to move in that direction.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "452edd598f60522c11f7f88fdbab27eb36509d1a",
      "tree": "df1510e9848e591a412c8bfa724253470c48c4c2",
      "parents": [
        "3872b284087081ee5cb0e4630954c2f7a2153cf5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "message": "xfrm: Return dst directly from xfrm_lookup()\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80c0bc9e37adfc892af82cb6aa8cace79f8a96cb",
      "tree": "0f4abc233d9661e85c7c7ecb064a75a8f0984f1f",
      "parents": [
        "a1414715f0ac905fb4b3a158ff6548d37bbe6165"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:36:37 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:36:37 2011 -0800"
      },
      "message": "xfrm: Kill XFRM_LOOKUP_WAIT flag.\n\nThis can be determined from the flow flags instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c7bd1a14071b99d6535b710bc998ae5d3abbb66",
      "tree": "05f31758aa4d6b49b70a4af4a8df4a83588610c2",
      "parents": [
        "0c4dcd58fd69aded93b0dc6917cd88b262c8aa3f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 16 14:08:44 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 17 15:44:00 2011 -0800"
      },
      "message": "net: Add initial_ref arg to dst_alloc().\n\nThis allows avoiding multiple writes to the initial __refcnt.\n\nThe most simplest cases of wanting an initial reference of \"1\"\nin ipv4 and ipv6 have been converted, the rest have been left\nalong and kept at the existing \"0\".\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62fa8a846d7de4b299232e330c74b7783539df76",
      "tree": "e401dbdbf4b11cbd27bdc3a47d9dc8b512173c9f",
      "parents": [
        "b4e69ac670d71b5748dc81e536b2cb103489badd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 20:51:05 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 20:51:05 2011 -0800"
      },
      "message": "net: Implement read-only protection and COW\u0027ing of metrics.\n\nRouting metrics are now copy-on-write.\n\nInitially a route entry points it\u0027s metrics at a read-only location.\nIf a routing table entry exists, it will point there.  Else it will\npoint at the all zero metric place-holder called \u0027dst_default_metrics\u0027.\n\nThe writeability state of the metrics is stored in the low bits of the\nmetrics pointer, we have two bits left to spare if we want to store\nmore states.\n\nFor the initial implementation, COW is implemented simply via kmalloc.\nHowever future enhancements will change this to place the writable\nmetrics somewhere else, in order to increase sharing.  Very likely\nthis \"somewhere else\" will be the inetpeer cache.\n\nNote also that this means that metrics updates may transiently fail\nif we cannot COW the metrics successfully.\n\nBut even by itself, this patch should decrease memory usage and\nincrease cache locality especially for routing workloads.  In those\ncases the read-only metric copies stay in place and never get written\nto.\n\nTCP workloads where metrics get updated, and those rare cases where\nPMTU triggers occur, will take a very slight performance hit.  But\nthat hit will be alleviated when the long-term writable metrics\nmove to a more sharable location.\n\nSince the metrics storage went from a u32 array of RTAX_MAX entries to\nwhat is essentially a pointer, some retooling of the dst_entry layout\nwas necessary.\n\nMost importantly, we need to preserve the alignment of the reference\ncount so that it doesn\u0027t share cache lines with the read-mostly state,\nas per Eric Dumazet\u0027s alignment assertion checks.\n\nThe only non-trivial bit here is the move of the \u0027flags\u0027 member into\nthe writeable cacheline.  This is OK since we are always accessing the\nflags around the same moment when we made a modification to the\nreference count.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "441c793a56502638d45d5da2195056d686147370",
      "tree": "df9860150ce675a2f05e657f2ccad572eced7a66",
      "parents": [
        "6997e618910b902081a5123f228aac620faa899b"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Jan 13 22:19:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:20:04 2011 -0800"
      },
      "message": "net: cleanup unused macros in net directory\n\nClean up some unused macros in net/*.\n1. be left for code change. e.g. PGV_FROM_VMALLOC, PGV_FROM_VMALLOC, KMEM_SAFETYZONE.\n2. never be used since introduced to kernel.\n   e.g. P9_RDMA_MAX_SGE, UTIL_CTRL_PKT_SIZE.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "4b7bd364700d9ac8372eff48832062b936d0793b",
      "tree": "0dbf78c95456a0b02d07fcd473281f04a87e266d",
      "parents": [
        "c0d8768af260e2cbb4bf659ae6094a262c86b085",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nConflicts:\n\tMAINTAINERS\n\tarch/arm/mach-omap2/pm24xx.c\n\tdrivers/scsi/bfa/bfa_fcpim.c\n\nNeeded to update to apply fixes for which the old branch was too\noutdated.\n"
    },
    {
      "commit": "d33e455337ea2c71d09d7f4367d6ad6dd32b6965",
      "tree": "d1b35b1be5ab73df6f7e57b86a2e68fad2990adf",
      "parents": [
        "9fe146aef44afe5ec677d8150b6ae94e09b773f7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 14 13:01:14 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 14 13:01:14 2010 -0800"
      },
      "message": "net: Abstract default MTU metric calculation behind an accessor.\n\nLike RTAX_ADVMSS, make the default calculation go through a dst_ops\nmethod rather than caching the computation in the routing cache\nentries.\n\nNow dst metrics are pretty much left as-is when new entries are\ncreated, thus optimizing metric sharing becomes a real possibility.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dbaee3b37e118a96bb7b8eb0d9bbaeeb46264be",
      "tree": "37000c5d7e663e4ae9800a7bcde9934984b8bae9",
      "parents": [
        "cc6f02dd490dac4ad821d5077b934c9b37037cd0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 13 12:52:14 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 13 12:52:14 2010 -0800"
      },
      "message": "net: Abstract default ADVMSS behind an accessor.\n\nMake all RTAX_ADVMSS metric accesses go through a new helper function,\ndst_metric_advmss().\n\nLeave the actual default metric as \"zero\" in the real metric slot,\nand compute the actual default value dynamically via a new dst_ops\nAF specific callback.\n\nFor stacked IPSEC routes, we use the advmss of the path which\npreserves existing behavior.\n\nUnlike ipv4/ipv6, DecNET ties the advmss to the mtu and thus updates\nadvmss on pmtu updates.  This inconsistency in advmss handling\nresults in more raw metric accesses than I wish we ended up with.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "defb3519a64141608725e2dac5a5aa9a3c644bae",
      "tree": "2f44985e44aef53a0d99991b9f5c2f0eb6dbf4ad",
      "parents": [
        "84b3cdc38cd2882d7ac3c2ae4b6faf5c199874e3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 21:16:57 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 09 10:46:36 2010 -0800"
      },
      "message": "net: Abstract away all dst_entry metrics accesses.\n\nUse helper functions to hide all direct accesses, especially writes,\nto dst_entry metrics values.\n\nThis will allow us to:\n\n1) More easily change how the metrics are stored.\n\n2) Implement COW for metrics.\n\nIn particular this will help us put metrics into the inetpeer\ncache if that is what we end up doing.  We can make the _metrics\nmember a pointer instead of an array, initially have it point\nat the read-only metrics in the FIB, and then on the first set\ngrab an inetpeer entry and point the _metrics member there.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "fe6c791570efe717946ea7b7dd50aec96b70d551",
      "tree": "1becb5e8aea7a9c9a7d78f987bd73b0a5d8ee434",
      "parents": [
        "f8bf5681cf15f77692c8ad8cb95d059ff7c622c9",
        "f19872575ff7819a3723154657a497d9bca66b33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:15:38 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:47:38 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/ar9003_eeprom.c\n\tnet/llc/af_llc.c\n"
    },
    {
      "commit": "3c6f27bf33052ea6ba9d82369fb460726fb779c0",
      "tree": "0159223767a5edaaad3133df1bc4f061da0723a0",
      "parents": [
        "462ca99c2ff6caae94dde5c05b56b54f6c01602a"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Tue Nov 23 11:02:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 28 11:32:30 2010 -0800"
      },
      "message": "DECnet: don\u0027t leak uninitialized stack byte\n\nA single uninitialized padding byte is leaked to userspace.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCC: stable \u003cstable@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5811662b15db018c740c57d037523683fd3e6123",
      "tree": "f820610a6024799a26699f22dc9a4ef5dee07978",
      "parents": [
        "dd68ad2235b4625e0dc928b2b4c614d265f976d3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Nov 12 18:43:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 12:27:45 2010 -0800"
      },
      "message": "net: use the macros defined for the members of flowi\n\nUse the macros defined for the members of flowi to clean the code up.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c25ecd0a21d5e08160cb5cc984f9e2b8ee347443",
      "tree": "0e4dcacf1bf603f259b8d27445a10e60fa8d00d7",
      "parents": [
        "190683a9d5457e6d962c232ffbecac3ab158dddd",
        "9457b24a0955bbdd2e89220a75de69fe09501bba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 14 11:57:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 14 11:57:05 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "c753796769e4fb0cd813b6e5801b3c01f4681d4f",
      "tree": "f137ec0b76593a2aa1a6a263bcc1e4cf82bdf7b5",
      "parents": [
        "ed1deb7021b4dfee1d544b91edff4ef92f5c3b54"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 11 17:07:48 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 11 17:07:48 2010 -0800"
      },
      "message": "ipv4: Make rt-\u003efl.iif tests lest obscure.\n\nWhen we test rt-\u003efl.iif against zero, we\u0027re seeing if it\u0027s\nan output or an input route.\n\nMake that explicit with some helper functions.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d987e5c75107ca7515fa19e857cfa24aab6ec8f",
      "tree": "6392c5f08f0df39d42a079336f6be3960ac404dc",
      "parents": [
        "67286640f638f5ad41a946b9a3dc75327950248f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 09 23:24:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 10 12:12:00 2010 -0800"
      },
      "message": "net: avoid limits overflow\n\nRobin Holt tried to boot a 16TB machine and found some limits were\nreached : sysctl_tcp_mem[2], sysctl_udp_mem[2]\n\nWe can switch infrastructure to use long \"instead\" of \"int\", now\natomic_long_t primitives are available for free.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Robin Holt \u003cholt@sgi.com\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc766e4c4965915ab52a1d1fa3c7a7b3e7bc07f0",
      "tree": "d45160f52eea37d4e5149d511c3c577bef253801",
      "parents": [
        "e4a7b93bd5d84e1e79917d024d17d745d190fc9a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 29 03:09:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 08 13:50:08 2010 -0800"
      },
      "message": "decnet: RCU conversion and get rid of dev_base_lock\n\nWhile tracking dev_base_lock users, I found decnet used it in\ndnet_select_source(), but for a wrong purpose:\n\nWriters only hold RTNL, not dev_base_lock, so readers must use RCU if\nthey cannot use RTNL.\n\nAdds an rcu_head in struct dn_ifaddr and handle proper RCU management.\n\nAdds __rcu annotation in dn_route as well.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "fc66f95c68b6d4535a0ea2ea15d5cf626e310956",
      "tree": "ac3a7f08ad741a67ff683bf93e5669ddcae95ed7",
      "parents": [
        "0ed8ddf4045fcfcac36bad753dc4046118c603ec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 08 06:37:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 13:06:53 2010 -0700"
      },
      "message": "net dst: use a percpu_counter to track entries\n\nstruct dst_ops tracks number of allocated dst in an atomic_t field,\nsubject to high cache line contention in stress workload.\n\nSwitch to a percpu_counter, to reduce number of time we need to dirty a\ncentral location. Place it on a separate cache line to avoid dirtying\nread only fields.\n\nStress test :\n\n(Sending 160.000.000 UDP frames,\nIP route cache disabled, dual E5540 @2.53GHz,\n32bit kernel, FIB_TRIE, SLUB/NUMA)\n\nBefore:\n\nreal    0m51.179s\nuser    0m15.329s\nsys     10m15.942s\n\nAfter:\n\nreal\t0m45.570s\nuser\t0m15.525s\nsys\t9m56.669s\n\nWith a small reordering of struct neighbour fields, subject of a\nfollowing patch, (to separate refcnt from other read mostly fields)\n\nreal\t0m41.841s\nuser\t0m15.261s\nsys\t8m45.949s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6bf781712a1d25cc8987036b3a48535b331eb91",
      "tree": "cf83ab68ef2519576578d8336a43cc13cd375cde",
      "parents": [
        "110b2499370c401cdcc7c63e481084467291d556"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 04 06:15:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 14:54:36 2010 -0700"
      },
      "message": "net neigh: RCU conversion of neigh hash table\n\nDavid\n\nThis is the first step for RCU conversion of neigh code.\n\nNext patches will convert hash_buckets[] and \"struct neighbour\" to RCU\nprotected objects.\n\nThanks\n\n[PATCH net-next] net neigh: RCU conversion of neigh hash table\n\nInstead of storing hash_buckets, hash_mask and hash_rnd in \"struct\nneigh_table\", a new structure is defined :\n\nstruct neigh_hash_table {\n       struct neighbour        **hash_buckets;\n       unsigned int            hash_mask;\n       __u32                   hash_rnd;\n       struct rcu_head         rcu;\n};\n\nAnd \"struct neigh_table\" has an RCU protected pointer to such a\nneigh_hash_table.\n\nThis means the signature of (*hash)() function changed: We need to add a\nthird parameter with the actual hash_rnd value, since this is not\nanymore a neigh_table field.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb8a10bbd10a45db0eb45bac520489bdbc0917ef",
      "tree": "f489756f44d1666d60bd4d7779de409b7d8d83cc",
      "parents": [
        "f7df0b8d924ad2f39852ea397d39a51fbb955212"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Aug 05 10:29:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 16 21:06:30 2010 -0700"
      },
      "message": "net/decnet: Adjust confusing if indentation\n\nIndent the branch of an if.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r disable braces4@\nposition p1,p2;\nstatement S1,S2;\n@@\n\n(\nif (...) { ... }\n|\nif (...) S1@p1 S2@p2\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nif (p1[0].column \u003d\u003d p2[0].column):\n  cocci.print_main(\"branch\",p1)\n  cocci.print_secs(\"after\",p2)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8d1f30b95a635dbd610dcc5eb641aca8f4768cf",
      "tree": "71424d82a96facd5fcf05cc769ef2ba52b584aeb",
      "parents": [
        "592fcb9dfafaa02dd0edc207bf5d3a0ee7a1f8df"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "message": "net-next: remove useless union keyword\n\nremove useless union keyword in rtable, rt6_info and dn_route.\n\nSince there is only one member in a union, the union keyword isn\u0027t useful.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fa21e07e6acefa31f974d57fba2b6920a7ebd1a",
      "tree": "4254644ef2579e9ac96db6ec0535b5e4231fd18e",
      "parents": [
        "b60b6592baa69c43a5a0f55d6300a7feaab15338"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 23:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:14 2010 -0700"
      },
      "message": "net: Remove unnecessary returns from void function()s\n\nThis patch removes from net/ (but not any netfilter files)\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e4b1057121bc756b91758a434b504d2010f6088",
      "tree": "b016cf2c728289c7e36d9e4e488f30ab0bd0ae6e",
      "parents": [
        "3b254c54ec46eb022cb26ee6ab37fae23f5f7d6a",
        "3ee943728fff536edaf8f59faa58aaa1aa7366e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tnet/bridge/br_device.c\n\tnet/bridge/br_forward.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "25239cee7e8732dbdc9f5d324f1c22a3bdec1d1f",
      "tree": "c3f36730571a7eb185abcd973b2f4c9616bd8096",
      "parents": [
        "3d0c9c4eb2dbdcc461be4084abd87a9a9e70f713"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:02:05 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:13:54 2010 +0200"
      },
      "message": "net: rtnetlink: decouple rtnetlink address families from real address families\n\nDecouple rtnetlink address families from real address families in socket.h to\nbe able to add rtnetlink interfaces to code that is not a real address family\nwithout increasing AF_MAX/NPROTO.\n\nThis will be used to add support for multicast route dumping from all tables\nas the proc interface can\u0027t be extended to support anything but the main table\nwithout breaking compatibility.\n\nThis partialy undoes the patch to introduce independant families for routing\nrules and converts ipmr routing rules to a new rtnetlink family. Similar to\nthat patch, values up to 127 are reserved for real address families, values\nabove that may be used arbitrarily.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3d0c9c4eb2dbdcc461be4084abd87a9a9e70f713",
      "tree": "3a71a67a1f40afd7afbe0389259eb27d23fbfa36",
      "parents": [
        "8c52d509e84bbf26cffb8b6e75b399689af67885"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:02:04 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 26 16:02:04 2010 +0200"
      },
      "message": "net: fib_rules: mark arguments to fib_rules_register const and __net_initdata\n\nfib_rules_register() duplicates the template passed to it without modification,\nmark the argument as const. Additionally the templates are only needed when\ninstantiating a new namespace, so mark them as __net_initdata, which means\nthey can be discarded when CONFIG_NET_NS\u003dn.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "aa395145165cb06a0d0885221bbe0ce4a564391d",
      "tree": "118b0403621f10db8dc3dbf12079f9af5b19e05d",
      "parents": [
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 13:03:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 16:37:13 2010 -0700"
      },
      "message": "net: sk_sleep() helper\n\nDefine a new function to return the waitqueue of a \"struct sock\".\n\nstatic inline wait_queue_head_t *sk_sleep(struct sock *sk)\n{\n\treturn sk-\u003esk_sleep;\n}\n\nChange all read occurrences of sk_sleep by a call to this function.\n\nNeeded for a future RCU conversion. sk_sleep wont be a field directly\navailable.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62910554656cdcd6b6f84a5154c4155aae4ca231",
      "tree": "dcf14004f6fd2ef7154362ff948bfeba0f3ea92d",
      "parents": [
        "22265a5c3c103cf8c50be62e6c90d045eb649e6d",
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tnet/ipv6/netfilter/ip6t_REJECT.c\n\tnet/netfilter/xt_limit.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0f87b1dd01b51dc3c789f7a212656a4a87eee1bd",
      "tree": "2ce87a26afecd5c0400a6e743534a402a6ca8aec",
      "parents": [
        "28bb17268b92b0c568f2496e5e631008f9108409"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:31 2010 -0700"
      },
      "message": "net: fib_rules: decouple address families from real address families\n\nDecouple the address family values used for fib_rules from the real\naddress families in socket.h. This allows to use fib_rules for\ncode that is not a real address family without increasing AF_MAX/NPROTO.\n\nValues up to 127 are reserved for real address families and map directly\nto the corresponding AF value, values starting from 128 are for other\nuses. rtnetlink is changed to invoke the AF_UNSPEC dumpit/doit handlers\nfor these families.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28bb17268b92b0c568f2496e5e631008f9108409",
      "tree": "ba2d619dbb6caf9ad81849e58d7409b790f9539c",
      "parents": [
        "d8a566beaa75c6ad5e38cdccf0ea5294323e7866"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:30 2010 -0700"
      },
      "message": "net: fib_rules: set family in fib_rule_hdr centrally\n\nAll fib_rules implementations need to set the family in their -\u003efill()\nfunctions. Since the value is available to the generic fib_nl_fill_rule()\nfunction, set it there.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8a566beaa75c6ad5e38cdccf0ea5294323e7866",
      "tree": "56fc11f0806e9e869e65c44a697c896add4b78f6",
      "parents": [
        "561155110307ad304226a23272244398fa46cbae"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 13 05:03:15 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 14:49:30 2010 -0700"
      },
      "message": "net: fib_rules: consolidate IPv4 and DECnet -\u003edefault_pref() functions.\n\nBoth functions are equivalent, consolidate them since a following patch\nneeds a third implementation for multicast routing.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6c6712a42ca3f9fa7f4a3d7c40e3a9dd1fd9e03",
      "tree": "42032b4978874e8ffcf6c851d13324b8c8c7c113",
      "parents": [
        "7a161ea92471087a1579239d7a58dd06eaa5601c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 08 23:03:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 01:41:33 2010 -0700"
      },
      "message": "net: sk_dst_cache RCUification\n\nWith latest CONFIG_PROVE_RCU stuff, I felt more comfortable to make this\nwork.\n\nsk-\u003esk_dst_cache is currently protected by a rwlock (sk_dst_lock)\n\nThis rwlock is readlocked for a very small amount of time, and dst\nentries are already freed after RCU grace period. This calls for RCU\nagain :)\n\nThis patch converts sk_dst_lock to a spinlock, and use RCU for readers.\n\n__sk_dst_get() is supposed to be called with rcu_read_lock() or if\nsocket locked by user, so use appropriate rcu_dereference_check()\ncondition (rcu_read_lock_held() || sock_owned_by_user(sk))\n\nThis patch avoids two atomic ops per tx packet on UDP connected sockets,\nfor example, and permits sk_dst_lock to be much less dirtied.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "22bedad3ce112d5ca1eaf043d4990fa2ed698c87",
      "tree": "b6fba5688d48b1396f01d13ee53610dea7749c15",
      "parents": [
        "a748ee2426817a95b1f03012d8f339c45c722ae1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:15 2010 -0700"
      },
      "message": "net: convert multicast list to list_head\n\nConverts the list and the core manipulating with it to be the same as uc_list.\n\n+uses two functions for adding/removing mc address (normal and \"global\"\n variant) instead of a function parameter.\n+removes dev_mcast.c completely.\n+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for\n manipulation with lists on a sandbox (used in bonding and 80211 drivers)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "5d877d876cfb96c0c3254184171b4767501f4f95",
      "tree": "6d57a3b4fbda96e442e47ce83cdaf5d14c767dbd",
      "parents": [
        "b2e0b385d77069031edb957839aaaa8441b47287"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 04:09:14 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:03:06 2010 +0100"
      },
      "message": "netfilter: decnet: use NFPROTO values for NF_HOOK invocation\n\nThe semantic patch used was:\n// \u003csmpl\u003e\n@@\n@@\n NF_HOOK(\n-PF_DECnet,\n+NFPROTO_DECNET,\n ...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "a898def29e4119bc01ebe7ca97423181f4c0ea2d",
      "tree": "e6f89d4f4a91fd24507ad600ebb9ad620ec9d9a8",
      "parents": [
        "3120438ad68601f341e61e7cb1323b0e1a6ca367"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:49 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 09:41:03 2010 +0100"
      },
      "message": "net: Add checking to rcu_dereference() primitives\n\nUpdate rcu_dereference() primitives to use new lockdep-based\nchecking. The rcu_dereference() in __in6_dev_get() may be\nprotected either by rcu_read_lock() or RTNL, per Eric Dumazet.\nThe rcu_dereference() in __sk_free() is protected by the fact\nthat it is never reached if an update could change it.  Check\nfor this by using rcu_dereference_check() to verify that the\nstruct sock\u0027s -\u003esk_wmem_alloc counter is zero.\n\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-5-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
      "tree": "a43d56fa72913a1cc98a0bbebe054d08581b3a7c",
      "parents": [
        "ee1262dbc65ce0b6234a915d8432171e8d77f518",
        "28b4d5cc17c20786848cdc07b7ea237a309776bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)\n  mac80211: fix reorder buffer release\n  iwmc3200wifi: Enable wimax core through module parameter\n  iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter\n  iwmc3200wifi: Coex table command does not expect a response\n  iwmc3200wifi: Update wiwi priority table\n  iwlwifi: driver version track kernel version\n  iwlwifi: indicate uCode type when fail dump error/event log\n  iwl3945: remove duplicated event logging code\n  b43: fix two warnings\n  ipw2100: fix rebooting hang with driver loaded\n  cfg80211: indent regulatory messages with spaces\n  iwmc3200wifi: fix NULL pointer dereference in pmkid update\n  mac80211: Fix TX status reporting for injected data frames\n  ath9k: enable 2GHz band only if the device supports it\n  airo: Fix integer overflow warning\n  rt2x00: Fix padding bug on L2PAD devices.\n  WE: Fix set events not propagated\n  b43legacy: avoid PPC fault during resume\n  b43: avoid PPC fault during resume\n  tcp: fix a timewait refcnt race\n  ...\n\nFix up conflicts due to sysctl cleanups (dead sysctl_check code and\nCTL_UNNUMBERED removed) in\n\tkernel/sysctl_check.c\n\tnet/ipv4/sysctl_net_ipv4.c\n\tnet/ipv6/addrconf.c\n\tnet/sctp/sysctl.c\n"
    },
    {
      "commit": "e9c5158ac26affd5d8ce006521bdfb7148090e18",
      "tree": "a8d43fb446a1908175923f4109c977dcb84e4f91",
      "parents": [
        "3a765edadb28cc736d185f67d1ba6bedcc85f4b9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 12:22:55 2009 -0800"
      },
      "message": "net: Allow fib_rule_unregister to batch\n\nRefactor the code so fib_rules_register always takes a template instead\nof the actual fib_rules_ops structure that will be used.  This is\nrequired for network namespace support so 2 out of the 3 callers already\ndo this, it allows the error handling to be made common, and it allows\nfib_rules_unregister to free the template for hte caller.\n\nModify fib_rules_unregister to use call_rcu instead of syncrhonize_rcu\nto allw multiple namespaces to be cleaned up in the same rcu grace\nperiod.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09ad9bc752519cc167d0a573e1acf69b5c707c67",
      "tree": "0e190a9ffb90d7e0534136c3e9f31dce02f423c3",
      "parents": [
        "4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "message": "net: use net_eq to compare nets\n\nGenerated with the following semantic patch\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 \u003d\u003d n2\n+ net_eq(n1, n2)\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 !\u003d n2\n+ !net_eq(n1, n2)\n\napplied over {include,net,drivers/net}.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8572d8f2a2ba75408b97dc24ef47c83671795d7",
      "tree": "052506a457939fea00d138d3a982d778df34e14c",
      "parents": [
        "86b1bc68e2f4244e4ea5db5458df9d19259fbb30"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 05 13:32:03 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 12 02:05:06 2009 -0800"
      },
      "message": "sysctl net: Remove unused binary sysctl code\n\nNow that sys_sysctl is a compatiblity wrapper around /proc/sys\nall sysctl strategy routines, and all ctl_name and strategy\nentries in the sysctl tables are unused, and can be\nrevmoed.\n\nIn addition neigh_sysctl_register has been modified to no longer\ntake a strategy argument and it\u0027s callers have been modified not\nto pass one.\n\nCc: \"David Miller\" \u003cdavem@davemloft.net\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "e5c140a340c4796054b0f6e9035e1faa7edfa6d6",
      "tree": "ca150ab28a91eba36838ffc1519840fac705aa82",
      "parents": [
        "41bdecf17e6dba92256c65972ec79a482d978be5"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 11 07:40:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 11 19:22:18 2009 -0800"
      },
      "message": "decnet: convert dndev_lock to spinlock\n\nThere is no reason for this lock to be reader/writer since\nthe reader only has lock held for a very brief period.\nThe overhead of read_lock is more expensive than spinlock.\n\nCompile tested only, I am not a decnet user.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41bdecf17e6dba92256c65972ec79a482d978be5",
      "tree": "f0fb46bda6bc72483a30bb726cf35ffdf77cbf0c",
      "parents": [
        "08e9897d512fe7a67e46209543b3815b57a36dc7"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 11 07:39:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 11 19:22:15 2009 -0800"
      },
      "message": "decnet: add RTNL lock when reading address list\n\nAdd missing locking in the case of auto binding to the\ndefault device. The address list might change while this code is looking\nat the list.\n\nCompile tested only, I am not a decnet user.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa918602b61a71b4a9f47861b7e65c70258516c1",
      "tree": "052575c7add697afb550a025695a221c6680a046",
      "parents": [
        "e576b9ef41c2c1b13e0c123b6e9d0589723c68bf"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Nov 10 07:54:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 22:26:31 2009 -0800"
      },
      "message": "decnet: use RCU to find network devices\n\nWhen showing device statistics use RCU rather than read_lock(\u0026dev_base_lock)\nCompile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "230f9bb701d37ae9b48e96456689452978f5c439",
      "tree": "9d2690917533bbb4498c8c9df838de2d38360912",
      "parents": [
        "000ba2e43f33901859fd794bb33c885909d53b3b",
        "887e671f324d9898aaedb29a6ece6c853c394067"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:55:55 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:55:55 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/usb/cdc_ether.c\n\nAll CDC ethernet devices of type USB_CLASS_COMM need to use\n\u0027\u0026mbm_info\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "887e671f324d9898aaedb29a6ece6c853c394067",
      "tree": "ff6e580e0342453b3e7251681ad6bc67ad7958a7",
      "parents": [
        "f9dd09c7f7199685601d75882447a6598be8a3e0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 06 00:50:39 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:50:39 2009 -0800"
      },
      "message": "decnet: netdevice refcount leak\n\nWhile working on device refcount stuff, I found a device refcount leak\nthrough DECNET.\nThis nasty bug can be used to hold refcounts on any !DECNET netdevice.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f378b684453f2a028eda463ce383370545d9cc9",
      "tree": "dc50d087e137c6d173e25ae10ecd0f10823eca7a",
      "parents": [
        "13f18aa05f5abe135f47b6417537ae2b2fedc18c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "message": "net: pass kern to net_proto_family create function\n\nThe generic __sock_create function has a kern argument which allows the\nsecurity system to make decisions based on if a socket is being created by\nthe kernel or by userspace.  This patch passes that flag to the\nnet_proto_family specific create function, so it can do the same thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4d745db12bd2d45a456565ed63325bbfc689e68",
      "tree": "2fdee34d2a383bd4891e038bd8e5fb3245cc4aba",
      "parents": [
        "d94d9fee9fa4e66a0b91640a694b8b10177075b3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 10:59:38 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 10:59:38 2009 -0800"
      },
      "message": "decnet: avoid touching device refcount in dn_dev_by_index()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6d14c84566d6b70ad9dc1618db0dec87cca9300",
      "tree": "5ec75245cfda4d61e6b4506b6217f047ff4af01a",
      "parents": [
        "d0075634cf9d288988f57392a1f132d2053af961"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 05:43:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 05:43:23 2009 -0800"
      },
      "message": "net: Introduce for_each_netdev_rcu() iterator\n\nAdds RCU management to the list of netdevices.\n\nConvert some for_each_netdev() users to RCU version, if\nit can avoid read_lock-ing dev_base_lock\n\nIe:\n\tread_lock(\u0026dev_base_loack);\n\tfor_each_netdev(net, dev)\n\t\tsome_action();\n\tread_unlock(\u0026dev_base_lock);\n\nbecomes :\n\n\trcu_read_lock();\n\tfor_each_netdev_rcu(net, dev)\n\t\tsome_action();\n\trcu_read_unlock();\n\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea94ff3b55188df157a8740bdf3976a87563d705",
      "tree": "a124cd047f8ed18c27aace29eafd2b343575857a",
      "parents": [
        "f04c8276248d3dd3e15a9a72f9711ba5e4069049"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Mon Oct 19 23:46:45 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 18:55:46 2009 -0700"
      },
      "message": "net: Fix for dst_negative_advice\n\ndst_negative_advice() should check for changed dst and reset\nsk_tx_queue_mapping accordingly. Pass sock to the callers of\ndst_negative_advice.\n\n(sk_reset_txq is defined just for use by dst_negative_advice. The\nonly way I could find to get around this is to move dst_negative_()\nfrom dst.h to dst.c, include sock.h in dst.c, etc)\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f",
      "tree": "1b693e4e027f3e42224e6221ae018daeb562e5e1",
      "parents": [
        "f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 05 05:58:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:46 2009 -0700"
      },
      "message": "net: mark net_proto_ops as const\n\nAll usages of structure net_proto_ops should be declared const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4481374ce88ba8f460c8b89f2572027bd27057d0",
      "tree": "6896601b6a1da0e3e932ffa75fcff966c834c02c",
      "parents": [
        "4738e1b9cf8f9e28d7de080a5e6ce5d0095ea18f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: replace various uses of num_physpages by totalram_pages\n\nSizing of memory allocations shouldn\u0027t depend on the number of physical\npages found in a system, as that generally includes (perhaps a huge amount\nof) non-RAM pages.  The amount of what actually is usable as storage\nshould instead be used as a basis here.\n\nSome of the calculations (i.e.  those not intending to use high memory)\nshould likely even use (totalram_pages - totalhigh_pages).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89d69d2b75a8f7e258f4b634cd985374cfd3202e",
      "tree": "2f01d6ae1844c92ef09160ad1966edee34ee2d8a",
      "parents": [
        "dcbfef820bdd1cdb412ccf234840e23edf67014f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 11:13:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:57 2009 -0700"
      },
      "message": "net: make neigh_ops constant\n\nThese tables are never modified at runtime. Move to read-only\nsection.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e8635a8e1f2d4a9e1bfc6c3b21419a5921e674f",
      "tree": "fe9a6f5d21259e51d0ac87f00787b32248f2851a",
      "parents": [
        "6b1344724e10c166d9e3c17011ed879ddf302e94"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Jun 20 00:53:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 19:15:35 2009 -0700"
      },
      "message": "net: remove NET_RX_BAD and NET_RX_CN* defines\n\nalmost no users in the tree; and the few that use them treat them\nlike NET_RX_DROP.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10e85448019097e4fcfa535f612f51d0d31a34f4",
      "tree": "7e5c958ec04dec01dcb7b70251527495686b0d32",
      "parents": [
        "b9389796fa4c87fbdff33816e317cdae5f36dd0b"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Jun 26 10:46:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 13:51:27 2009 -0700"
      },
      "message": "decnet: Use rcu_barrier() on module unload.\n\nThe decnet module unloading as been disabled with a \u0027#if 0\u0027 statement,\nbecause it have had issues.\n\nWe add a rcu_barrier() anyhow for correctness.\n\nThe maintainer (Chrissie Caulfield) will look into the unload issue\nwhen time permits.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Chrissie Caulfield \u003cchristine.caulfield@googlemail.com\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e6d363abcd0d05766c82f1a9c905a4c974a199",
      "tree": "f2b5c46354d95f91e743ae748b8add0de8bffd17",
      "parents": [
        "d3b238a03efd6d644ff93c8b10a1d38a596f2e34"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 17 19:05:41 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:29:12 2009 -0700"
      },
      "message": "net: correct off-by-one write allocations reports\n\ncommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nchanged initial sk_wmem_alloc value.\n\nWe need to take into account this offset when reporting\nsk_wmem_alloc to user, in PROC_FS files or various\nioctls (SIOCOUTQ/TIOCOUTQ)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bec571ec762a4cf855ad4446f833086fc154b60e",
      "tree": "4ff3f63d60bd6a7735caebedf6e27c3e3a74efe4",
      "parents": [
        "b6211ae7f2e56837c6a4849316396d1535606e90"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 28 16:43:52 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 28 16:43:52 2009 -0700"
      },
      "message": "decnet: Use SKB queue and list helpers instead of doing it by-hand.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04af8cf6f320031090ab6fa4600b912b0c18fb4b",
      "tree": "636fce0f62c6fb50a7229bc628e187589ab46679",
      "parents": [
        "288ddad5b095ff65812cf1060c67d23c07568871"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Wed May 20 17:26:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 20 17:26:23 2009 -0700"
      },
      "message": "net: Remove unused parameter from fill method in fib_rules_ops.\n\nThe netlink message header (struct nlmsghdr) is an unused parameter in\nfill method of fib_rules_ops struct.  This patch removes this\nparameter from this method and fixes the places where this method is\ncalled.\n\n(include/net/fib_rules.h)\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b3521eeb7598c3b10c7e14361a7974464527702",
      "tree": "dbad2dc2822694f86493cf60e4b969f80fbce3d1",
      "parents": [
        "980c9e8ceeb69ac4c921173d0d06323f5c678647"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Mon May 11 05:52:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 17 11:59:45 2009 -0700"
      },
      "message": "ipv4: remove an unused parameter from configure method of fib_rules_ops.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9948bb6a6db6ad6a8bf2ccaaceb780404f1f43df",
      "tree": "b4b5d05a0561d669f0d59b5e0cdc26bf9c6284fd",
      "parents": [
        "23b6cc425d718fce2501d5f60e368cfa44ef7d86"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 08 06:30:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 09 13:15:47 2009 -0700"
      },
      "message": "decnet: Use data ready call back, rather than hand coding it\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0bffffc148cd8e75a48a89ad2ddb74e4081a20a",
      "tree": "3a4d350d65d88bb1df8906b4822af2350ceb1cfc",
      "parents": [
        "a3ac80a130300573de351083cf4a5b46d233e8bf"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Mar 21 13:36:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 21 13:36:17 2009 -0700"
      },
      "message": "net/*: use linux/kernel.h swap()\n\ntcp_sack_swap seems unnecessary so I pushed swap to the caller.\nAlso removed comment that seemed then pointless, and added include\nwhen not already there. Compile tested.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7546dd97d27306d939c13e03318aae695badaa88",
      "tree": "ced310466fd679ceae4e676ae8c31fd78b7bd72f",
      "parents": [
        "3f612132c7164d5cc9ed677a2fdf8950222d2170"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 09 08:18:29 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 10 05:22:43 2009 -0700"
      },
      "message": "net: convert usage of packet_type to read_mostly\n\nProtocols that use packet_type can be __read_mostly section for better\nlocality. Elminate any unnecessary initializations of NULL.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e57c624be8f99e56560fd2f4f485fe29f28dd74f",
      "tree": "ca39acaf5fe229c7a63c170d4fb4900ab8b4b35a",
      "parents": [
        "8521c27ee79533db444dcac291992b6bf8d61fc8"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Wed Feb 25 10:32:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:13:35 2009 -0800"
      },
      "message": "decnet: fix sparse warnings: symbol shadows an earlier one\n\nImpact: Remove redundant variable declarations, resp. rename\ninner scope variable.\n\nFix this sparse warnings:\n  net/decnet/af_decnet.c:1252:40: warning: symbol \u0027skb\u0027 shadows an earlier one\n  net/decnet/af_decnet.c:1223:24: originally declared here\n  net/decnet/af_decnet.c:1582:29: warning: symbol \u0027val\u0027 shadows an earlier one\n  net/decnet/af_decnet.c:1527:22: originally declared here\n  net/decnet/dn_dev.c:687:21: warning: symbol \u0027err\u0027 shadows an earlier one\n  net/decnet/dn_dev.c:670:13: originally declared here\n  net/decnet/sysctl_net_decnet.c:182:21: warning: symbol \u0027len\u0027 shadows an earlier one\n  net/decnet/sysctl_net_decnet.c:173:16: originally declared here\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8521c27ee79533db444dcac291992b6bf8d61fc8",
      "tree": "2002369a6b2fbc370b7b4075b23ec67e61dde669",
      "parents": [
        "63d819caebcc3ca260ca0214d29044293969aa2f"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Wed Feb 25 10:32:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:13:34 2009 -0800"
      },
      "message": "decnet: fix sparse warnings: context imbalance\n\nImpact: Attribute functions with __acquires(...) resp. __releases(...).\n\nFix this sparse warnings:\n  net/decnet/dn_dev.c:1324:13: warning: context imbalance in \u0027dn_dev_seq_start\u0027 - wrong count at exit\n  net/decnet/dn_dev.c:1366:13: warning: context imbalance in \u0027dn_dev_seq_stop\u0027 - unexpected unlock\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db849df63cdc95e0345b1f4bcf8bbfa19ef592b6",
      "tree": "b514c99af60c3e239d0bae2ffa8b5ca740404efd",
      "parents": [
        "f3fbbe0f6f6cbac4c2aa3d71d95e49cf148286d6"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Feb 25 00:39:01 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:07:36 2009 -0800"
      },
      "message": "decnet: remove some pointless conditionals before kfree_skb()\n\nRemove some pointless conditionals before kfree_skb().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ce85fe402137824246bad03ff85f3913d565c17",
      "tree": "3a54c150e9616709a8f65270cd1f4aeecac4d48e",
      "parents": [
        "4fb0a54a55d34c28dc53c39567ce171166572699"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "message": "netlink: change nlmsg_notify() return value logic\n\nThis patch changes the return value of nlmsg_notify() as follows:\n\nIf NETLINK_BROADCAST_ERROR is set by any of the listeners and\nan error in the delivery happened, return the broadcast error;\nelse if there are no listeners apart from the socket that\nrequested a change with the echo flag, return the result of the\nunicast notification. Thus, with this patch, the unicast\nnotification is handled in the same way of a broadcast listener\nthat has set the NETLINK_BROADCAST_ERROR socket flag.\n\nThis patch is useful in case that the caller of nlmsg_notify()\nwants to know the result of the delivery of a netlink notification\n(including the broadcast delivery) and take any action in case\nthat the delivery failed. For example, ctnetlink can drop packets\nif the event delivery failed to provide reliable logging and\nstate-synchronization at the cost of dropping packets.\n\nThis patch also modifies the rtnetlink code to ignore the return\nvalue of rtnl_notify() in all callers. The function rtnl_notify()\n(before this patch) returned the error of the unicast notification\nwhich makes rtnl_set_sk_err() reports errors to all listeners. This\nis not of any help since the origin of the change (the socket that\nrequested the echoing) notices the ENOBUFS error if the notification\nfails and should resync itself.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09640e6365c679b5642b1c41b6d7078f51689ddf",
      "tree": "a2b80c153bd23fe59db8c6994fda29923819fcea",
      "parents": [
        "ee437770c42088b9b653e8b3bf28a61fa647f84e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sun Feb 01 00:45:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 01 00:45:17 2009 -0800"
      },
      "message": "net: replace uses of __constant_{endian}\n\nBase versions handle constant folding now.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5eaa65b240c5eb7bf2235eb9dd177c83e6e3832c",
      "tree": "1a6b217cfc5b241b298a8765f68fcb5f711f9bc3",
      "parents": [
        "2107fb8b5bf018be691afdd4c6ffaecf0c3307be"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Dec 10 15:18:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 15:18:31 2008 -0800"
      },
      "message": "net: Make static\n\nSparse asked whether these could be static.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4106aa88a440430d387e022f2ad6dc1e0d52e98",
      "tree": "09064e6e767301ca28357ed5125e99123f5beaca",
      "parents": [
        "5b9ab2ec04ec1e1e53939768805612ac191d7ba2"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Nov 27 00:12:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 27 00:12:47 2008 -0800"
      },
      "message": "decnet: remove private wrappers of endian helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nReviewed-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52479b623d3d41df84c499325b6a8c7915413032",
      "tree": "196f303f296b53dc89a05954d9c03226a9b4158b",
      "parents": [
        "cdcbca7c1f1946758cfacb69bc1c7eeaccb11e2d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "message": "netns xfrm: lookup in netns\n\nPass netns to xfrm_lookup()/__xfrm_lookup(). For that pass netns\nto flow_cache_lookup() and resolver callback.\n\nTake it from socket or netdevice. Stub DECnet to init_net.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf005b1d0e34d8c964347331c43de089c674a5a1",
      "tree": "c766e3fec0fa742ec38c2419bce4035e03424425",
      "parents": [
        "6c0bce37ffc8f000a516fadf6dee84579c4c8f9b"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Fri Nov 21 17:15:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 21 17:15:03 2008 -0800"
      },
      "message": "net: remove redundant argument comments\n\nRemove redundant argument comments in files of net/*\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6bb3ce25d05f2990c8a19adaf427531430267c1f",
      "tree": "38c19e4776b36163b9d100258139d58287475f6b",
      "parents": [
        "9b739ba5e66c96938fbc07a4dbd9da5b81eac56f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 11 17:25:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 17:25:22 2008 -0800"
      },
      "message": "net: remove struct dst_entry::entry_size\n\nUnused after kmem_cache_zalloc() conversion.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d9f239a1edb31d6133230f478fd1dc2da338ec5",
      "tree": "305fa0da95a49db4e342f3f3042f8be0968b03ce",
      "parents": [
        "6cf3f41e6c08bca6641a695449791c38a25f35ff"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 03 18:21:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 18:21:05 2008 -0800"
      },
      "message": "net: \u0027\u0026\u0027 redux\n\nI want to compile out proc_* and sysctl_* handlers totally and\nstub them to NULL depending on config options, however usage of \u0026\nwill prevent this, since taking adress of NULL pointer will break\ncompilation.\n\nSo, drop \u0026 in front of every -\u003eproc_handler and every -\u003estrategy\nhandler, it was never needed in fact.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "b225ee5bed70254a100896c473e6dd8c2be45c18"
}
