On Mon, Apr 19, 2021 at 09:37:16AM +0200, Gioh Kim wrote: > From: Gioh Kim <gi-oh.kim@xxxxxxxxxxxxxxx> > > RNBD can make double-queues for irq-mode and poll-mode. > For example, on 4-CPU system 8 request-queues are created, > 4 for irq-mode and 4 for poll-mode. > If the IO has HIPRI flag, the block-layer will call .poll function > of RNBD. Then IO is sent to the poll-mode queue. > Add optional nr_poll_queues argument for map_devices interface. > > To support polling of RNBD, RTRS client creates connections > for both of irq-mode and direct-poll-mode. > > For example, on 4-CPU system it could've create 5 connections: > con[0] => user message (softirq cq) > con[1:4] => softirq cq > > After this patch, it can create 9 connections: > con[0] => user message (softirq cq) > con[1:4] => softirq cq > con[5:8] => DIRECT-POLL cq > > Cc: Leon Romanovsky <leonro@xxxxxxxxxx> > Cc: linux-rdma@xxxxxxxxxxxxxxx > Signed-off-by: Gioh Kim <gi-oh.kim@xxxxxxxxx> > Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxx> > Acked-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > --- > drivers/block/rnbd/rnbd-clt-sysfs.c | 55 ++++++++++++---- > drivers/block/rnbd/rnbd-clt.c | 89 +++++++++++++++++++++++--- > drivers/block/rnbd/rnbd-clt.h | 5 +- > drivers/infiniband/ulp/rtrs/rtrs-clt.c | 62 ++++++++++++++---- > drivers/infiniband/ulp/rtrs/rtrs-pri.h | 1 + > drivers/infiniband/ulp/rtrs/rtrs.h | 3 +- > 6 files changed, 181 insertions(+), 34 deletions(-) > Thanks, Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxx>