)]}'
{
  "commit": "eec4df9885f7822cdeca82577a25cac4598fa7cf",
  "tree": "36295f78f105e3f69b571edb3b2feddaf99dfb73",
  "parents": [
    "342bde1b70c79bfc8509b017b3987f3c7541ff8e"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "eric.dumazet@gmail.com",
    "time": "Thu Nov 12 07:44:25 2009 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Fri Nov 13 20:46:55 2009 -0800"
  },
  "message": "ipv4: speedup inet_dump_ifaddr()\n\nStephen Hemminger a écrit :\n\u003e On Thu, 12 Nov 2009 15:11:36 +0100\n\u003e Eric Dumazet \u003ceric.dumazet@gmail.com\u003e wrote:\n\u003e\n\u003e\u003e When handling large number of netdevices, inet_dump_ifaddr()\n\u003e\u003e is very slow because it has O(N^2) complexity.\n\u003e\u003e\n\u003e\u003e Instead of scanning one single list, we can use the NETDEV_HASHENTRIES\n\u003e\u003e sub lists of the dev_index hash table, and RCU lookups.\n\u003e\u003e\n\u003e\u003e Signed-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n\u003e\n\u003e You might be able to make RCU critical section smaller by moving\n\u003e it into loop.\n\u003e\n\nIndeed. But we dump at most one skb (\u003c\u003d 8192 bytes ?), so rcu_read_lock\nholding time is small, unless we meet many netdevices without\naddresses. I wonder if its really common...\n\nThanks\n\n[PATCH net-next-2.6] ipv4: speedup inet_dump_ifaddr()\n\nWhen handling large number of netdevices, inet_dump_ifaddr()\nis very slow because it has O(N2) complexity.\n\nInstead of scanning one single list, we can use the NETDEV_HASHENTRIES\nsub lists of the dev_index hash table, and RCU lookups.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c2045f9615da5098c05716b8bdebf2b077b85650",
      "old_mode": 33188,
      "old_path": "net/ipv4/devinet.c",
      "new_id": "7620382058a0abce7956fed3e6826e6db7be9270",
      "new_mode": 33188,
      "new_path": "net/ipv4/devinet.c"
    }
  ]
}
