lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <3c479d8a-f98a-a4c9-bd85-6332e919bf35@oracle.com> Date: Wed, 15 Jan 2020 13:51:23 -0800 From: santosh.shilimkar@...cle.com To: Leon Romanovsky <leon@...nel.org>, Doug Ledford <dledford@...hat.com>, Jason Gunthorpe <jgg@...lanox.com>, "David S . Miller" <davem@...emloft.net> Cc: Leon Romanovsky <leonro@...lanox.com>, RDMA mailing list <linux-rdma@...r.kernel.org>, Hans Westgaard Ry <hans.westgaard.ry@...cle.com>, Moni Shoua <monis@...lanox.com>, linux-netdev <netdev@...r.kernel.org> Subject: Re: [PATCH mlx5-next 09/10] net/rds: Handle ODP mr registration/unregistration On 1/15/20 4:43 AM, Leon Romanovsky wrote: > From: Hans Westgaard Ry <hans.westgaard.ry@...cle.com> > > On-Demand-Paging MRs are registered using ib_reg_user_mr and > unregistered with ib_dereg_mr. > > Signed-off-by: Hans Westgaard Ry <hans.westgaard.ry@...cle.com> > Signed-off-by: Leon Romanovsky <leonro@...lanox.com> > --- Have already reviewed this patchset on internal list. Couple of minor nits below o.w patch looks good to me. Acked-by: Santosh Shilimkar <santosh.shilimkar@...cle.com> [...] > diff --git a/net/rds/ib_rdma.c b/net/rds/ib_rdma.c > index c8c1e3ae8d84..5a02b313ec50 100644 > --- a/net/rds/ib_rdma.c > +++ b/net/rds/ib_rdma.c > @@ -37,8 +37,15 @@ > > #include "rds_single_path.h" > #include "ib_mr.h" > +#include "rds.h" > > struct workqueue_struct *rds_ib_mr_wq; > +struct rds_ib_dereg_odp_mr { > + struct work_struct work; > + struct ib_mr *mr; > +}; > + > +static void rds_ib_odp_mr_worker(struct work_struct *work); > > static struct rds_ib_device *rds_ib_get_device(__be32 ipaddr) > { > @@ -213,6 +220,8 @@ void rds_ib_sync_mr(void *trans_private, int direction) > struct rds_ib_mr *ibmr = trans_private; > struct rds_ib_device *rds_ibdev = ibmr->device; > > + if (ibmr->odp) > + return; Add a new line here. > switch (direction) { > case DMA_FROM_DEVICE: > ib_dma_sync_sg_for_cpu(rds_ibdev->dev, ibmr->sg, [...] > diff --git a/net/rds/rdma.c b/net/rds/rdma.c > index eb23c38ce2b3..3c6afdda709b 100644 > --- a/net/rds/rdma.c > +++ b/net/rds/rdma.c > @@ -177,13 +177,14 @@ static int __rds_rdma_map(struct rds_sock *rs, struct rds_get_mr_args *args, > struct rds_conn_path *cp) > { > struct rds_mr *mr = NULL, *found; > + struct scatterlist *sg = NULL; > unsigned int nr_pages; > struct page **pages = NULL; > - struct scatterlist *sg; > void *trans_private; > unsigned long flags; > rds_rdma_cookie_t cookie; > - unsigned int nents; > + unsigned int nents = 0; > + int need_odp = 0; > long i; > int ret; > > @@ -196,6 +197,20 @@ static int __rds_rdma_map(struct rds_sock *rs, struct rds_get_mr_args *args, > ret = -EOPNOTSUPP; > goto out; > } New line pls
Powered by blists - more mailing lists