On 2020-03-18 08:02, Max Gurtovoy wrote: > For spreading the completion vectors fairly, add global ida for RDMA > channeles and use ida_simple_{get,remove} API. This is a preparation ^^^^^^^^^ channels? > +/* Will be used to allocate an index for srpt_rdma_ch. */ > +static DEFINE_IDA(srpt_channel_ida); I don't think that we need a global data structure for spreading work across completion vectors. How about assigning 0 to ch->idx if SRP_MTCH_ACTION is not set during login and assigning 1 .. n to ch->idx for all other channels for which SRP_MTCH_ACTION is set during login? > + /* Spread the io channeles across completion vectors */ ^^^^^^^^^^^^ RDMA channels? Thanks, Bart.