> -----Original Message----- > From: Guoqing Jiang <guoqing.jiang@xxxxxxxxx> > Sent: Monday, 21 August 2023 10:48 > To: Bernard Metzler <BMT@xxxxxxxxxxxxxx>; jgg@xxxxxxxx; leon@xxxxxxxxxx > Cc: linux-rdma@xxxxxxxxxxxxxxx > Subject: [EXTERNAL] [PATCH V2 3/3] RDMA/siw: Call llist_reverse_order in > siw_run_sq > > We can call the function to get fifo list. > > Signed-off-by: Guoqing Jiang <guoqing.jiang@xxxxxxxxx> > --- > drivers/infiniband/sw/siw/siw_qp_tx.c | 12 +----------- > 1 file changed, 1 insertion(+), 11 deletions(-) > > diff --git a/drivers/infiniband/sw/siw/siw_qp_tx.c > b/drivers/infiniband/sw/siw/siw_qp_tx.c > index 4b292e0504f1..eb3d438828e2 100644 > --- a/drivers/infiniband/sw/siw/siw_qp_tx.c > +++ b/drivers/infiniband/sw/siw/siw_qp_tx.c > @@ -1229,17 +1229,7 @@ int siw_run_sq(void *data) > break; > > active = llist_del_all(&tx_task->active); > - /* > - * llist_del_all returns a list with newest entry first. > - * Re-order list for fairness among QP's. > - */ > - while (active) { > - struct llist_node *tmp = active; > - > - active = llist_next(active); > - tmp->next = fifo_list; > - fifo_list = tmp; > - } > + fifo_list = llist_reverse_order(active); > while (fifo_list) { > qp = container_of(fifo_list, struct siw_qp, tx_list); > fifo_list = llist_next(fifo_list); > -- > 2.35.3 Oh yes, that function already exists. Many thanks! I'd keep the comment, since it might be not obvious why we reverse the list. Acked-by: Bernard Metzler <bmt@xxxxxxxxxxxxxx>