)]}'
{
  "commit": "767e97e1e0db0d0f3152cd2f3bd3403596aedbad",
  "tree": "cda6089e75f98fc3c9812993cf790fccac98b67a",
  "parents": [
    "546add79468183f266c75c632c96e4b0029e0d96"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "eric.dumazet@gmail.com",
    "time": "Wed Oct 06 17:49:21 2010 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Oct 06 18:01:33 2010 -0700"
  },
  "message": "neigh: RCU conversion of struct neighbour\n\nThis is the second step for neighbour RCU conversion.\n\n(first was commit d6bf7817 : RCU conversion of neigh hash table)\n\nneigh_lookup() becomes lockless, but still take a reference on found\nneighbour. (no more read_lock()/read_unlock() on tbl-\u003elock)\n\nstruct neighbour gets an additional rcu_head field and is freed after an\nRCU grace period.\n\nFuture work would need to eventually not take a reference on neighbour\nfor temporary dst (DST_NOCACHE), but this would need dst-\u003e_neighbour to\nuse a noref bit like we did for skb-\u003e_dst.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "37845dae6488b6df58e2e200ac0d7a7732098323",
      "old_mode": 33188,
      "old_path": "include/net/neighbour.h",
      "new_id": "a4538d5537047d1bf92e461a6ad89c8f4c90305e",
      "new_mode": 33188,
      "new_path": "include/net/neighbour.h"
    },
    {
      "type": "modify",
      "old_id": "dd8920e4f508fe5b55a1b53c805c9316df2d2c2d",
      "old_mode": 33188,
      "old_path": "net/core/neighbour.c",
      "new_id": "3ffafaa0414cd6e4789a791e52f35fec59d02580",
      "new_mode": 33188,
      "new_path": "net/core/neighbour.c"
    }
  ]
}
