From: Jason Gunthorpe <jgg@ziepe.ca>
To: "Fabio M. De Francesco" <fmdefrancesco@gmail.com>
Cc: Li Zhijian <lizhijian@fujitsu.com>,
Zhu Yanjun <zyjzyj2000@gmail.com>,
Leon Romanovsky <leon@kernel.org>,
linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org,
Ira Weiny <ira.weiny@intel.com>
Subject: Re: [for-next PATCH 4/5] RDMA/rxe: refactor iova_to_vaddr
Date: Mon, 21 Nov 2022 14:53:54 -0400 [thread overview]
Message-ID: <Y3vJQkc40o5zfM5v@ziepe.ca> (raw)
In-Reply-To: <CAPj211to20yHUy8o-Lg6TMjB5rpwrfPCUtQqxfeDFHUDR4+wJw@mail.gmail.com>
On Wed, Nov 16, 2022 at 01:37:14PM +0100, Fabio M. De Francesco wrote:
> > - return (void *)(uintptr_t)mr->map[m]->buf[n].addr + offset;
> > + if (mr->ibmr.type == IB_MR_TYPE_USER) {
> > + char *paddr;
> > + struct page *pg = mr->map[m]->buf[n].page;
> > +
> > + paddr = kmap_local_page(pg);
> > + if (paddr == NULL) {
> > + pr_warn("Failed to map page");
> > + return NULL;
> > + }
>
> I know nothing about this code but I am here as a result of regular checks for
> changes to HIGHMEM mappings across the entire kernel. So please forgive me if
> I'm objecting to the correct changes.
>
> 1) It looks like this code had a call to page_address() and you converted it
> to mapping with kmap_local_page().
It only worked properly because the kconfig is blocking CONFIG_HIGHMEM
so ZONE_HIGHMEM doesn't exist. These pages are obtained from GUP and
could be anything.
This is done indirectly through
config INFINIBAND_VIRT_DMA
def_bool !HIGHMEM
But this patch is undoing parts of what are causing that restriction
by using the proper APIs. Though I'm not sure if we can eventually get
to remove it for RXE completely.
Jason
next prev parent reply other threads:[~2022-11-21 18:54 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-11 4:30 [for-next PATCH 0/5] iova_to_vaddr refactor Li Zhijian
2022-11-11 4:30 ` [for-next PATCH 1/5] RDMA/rxe: Remove rxe_phys_buf.size Li Zhijian
2022-11-18 16:38 ` Jason Gunthorpe
2022-11-11 4:30 ` [for-next PATCH 2/5] RDMA/rxe: use iova_to_vaddr to transform iova for rxe_mr_copy Li Zhijian
2022-11-18 16:41 ` Jason Gunthorpe
2022-11-11 4:30 ` [for-next PATCH 3/5] RDMA/rxe: iova_to_vaddr cleanup Li Zhijian
2022-11-11 4:30 ` [for-next PATCH 4/5] RDMA/rxe: refactor iova_to_vaddr Li Zhijian
2022-11-16 12:37 ` Fabio M. De Francesco
2022-11-18 1:32 ` lizhijian
2022-11-21 18:53 ` Jason Gunthorpe [this message]
2022-11-22 23:24 ` Fabio M. De Francesco
2022-11-22 23:55 ` Fabio M. De Francesco
2022-11-16 12:49 ` Fabio M. De Francesco
2022-11-18 17:33 ` Jason Gunthorpe
2022-11-11 4:32 ` [for-next PATCH 5/5] RDMA/rxe: Rename iova_to_vaddr to rxe_map_iova Li Zhijian
2022-11-11 6:13 ` [for-next PATCH 0/5] iova_to_vaddr refactor lizhijian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y3vJQkc40o5zfM5v@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=fmdefrancesco@gmail.com \
--cc=ira.weiny@intel.com \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=lizhijian@fujitsu.com \
--cc=zyjzyj2000@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®