On Mon, Sep 17, 2018 at 12:19 AM Vlad Buslov <vla...@mellanox.com> wrote: > @@ -482,16 +483,25 @@ static int tcf_block_insert(struct tcf_block *block, > struct net *net, > struct netlink_ext_ack *extack) > { > struct tcf_net *tn = net_generic(net, tcf_net_id); > + int err; > + > + idr_preload(GFP_KERNEL); > + spin_lock(&tn->idr_lock); > + err = idr_alloc_u32(&tn->idr, block, &block->index, block->index, > + GFP_NOWAIT);
Why GFP_NOWAIT rather than GFP_ATOMIC here?