)]}'
{
  "commit": "27b75c95f10d249574d9c4cb9dab878107faede8",
  "tree": "466656d86aaa395951e12b50903e730203c5f86f",
  "parents": [
    "e6484930d7c73d324bccda7d43d131088da697b9"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "eric.dumazet@gmail.com",
    "time": "Fri Oct 15 05:44:11 2010 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Oct 20 03:02:23 2010 -0700"
  },
  "message": "net: avoid RCU for NOCACHE dst\n\nThere is no point using RCU for dst we allocate for a very short time\n(used once).\n\nChange dst_release() to take DST_NOCACHE into account, but also change\nskb_dst_set_noref() to force a refcount increment for such dst.\n\nThis is a _huge_ gain, because we dont waste memory to store xx thousand\nof dsts. Instead of queueing them to RCU, we can free them instantly.\n\nCPU caches can stay hot, re-using same memory blocks to hold temporary\ndsts.\n\nNote : remove unneeded smp_mb__before_atomic_dec(); in dst_release(),\nsince atomic_dec_return() implies a full memory barrier.\n\nStress test, 160.000.000 udp frames sent, IP route cache disabled\n(DDOS).\n\nBefore:\n\nreal    0m38.091s\nuser    0m13.189s\nsys     7m53.018s\n\nAfter:\n\nreal\t0m29.946s\nuser\t0m12.157s\nsys\t7m40.605s\n\nFor reference, if IP route cache was enabled :\n\nreal\t0m32.030s\nuser\t0m10.521s\nsys\t8m15.243s\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": "05a358f1ba11a3035e37e8e064a2983f6276ba87",
      "old_mode": 33188,
      "old_path": "include/linux/skbuff.h",
      "new_id": "e6ba898de61c181cea2cad515ce78cb63719136b",
      "new_mode": 33188,
      "new_path": "include/linux/skbuff.h"
    },
    {
      "type": "modify",
      "old_id": "32e542d7f47277931c5f2bb5a80a7f130c683582",
      "old_mode": 33188,
      "old_path": "net/core/dst.c",
      "new_id": "8abe628b79f173f96fc9e2372f442c91dacc2984",
      "new_mode": 33188,
      "new_path": "net/core/dst.c"
    },
    {
      "type": "modify",
      "old_id": "ff98983d2a45465dade3905ce877430d91150d80",
      "old_mode": 33188,
      "old_path": "net/ipv4/route.c",
      "new_id": "d6cb2bfcd8e1baf7495e55ce83b534b2b0955b2f",
      "new_mode": 33188,
      "new_path": "net/ipv4/route.c"
    }
  ]
}
