net_sched: use idr to allocate u32 filter handles
authorCong Wang <xiyou.wangcong@gmail.com>
Mon, 25 Sep 2017 17:13:51 +0000 (10:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Sep 2017 16:43:41 +0000 (09:43 -0700)
commite7614370d6f04711c4e4b48f7055e5008fa4ed42
tree756a9810028ce2c9992024883bc6fad21ebe29d9
parent1d8134fea2eb460698a281f91c03c400f7e546ce
net_sched: use idr to allocate u32 filter handles

Instead of calling u32_lookup_ht() in a loop to find
a unused handle, just switch to idr API to allocate
new handles. u32 filters are special as the handle
could contain a hash table id and a key id, so we
need two IDR to allocate each of them.

Cc: Chris Mi <chrism@mellanox.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_u32.c