Whamcloud - gitweb
LU-12678 lnet: discard lnet_kvaddr_to_page 41/52041/3
authorMr NeilBrown <neilb@suse.de>
Wed, 23 Aug 2023 00:18:41 +0000 (20:18 -0400)
committerOleg Drokin <green@whamcloud.com>
Thu, 31 Aug 2023 06:41:17 +0000 (06:41 +0000)
This function is not needed, so discard it.

Change-Id: Iffe9745adf477a5f4b78d8ef191849179426cb07
Signed-off-by: Mr NeilBrown <neilb@suse.de>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52041
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Timothy Day <timday@amazon.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/autoconf/lustre-lnet.m4
lnet/include/lnet/lib-lnet.h
lnet/lnet/lib-md.c
lustre/ptlrpc/client.c

index 9a47cd2..4877660 100644 (file)
@@ -983,17 +983,6 @@ AC_DEFUN([LN_CONFIG_SK_DATA_READY], [
 ]) # LN_CONFIG_SK_DATA_READY
 
 #
-# LN_EXPORT_KMAP_TO_PAGE
-#
-# 3.10 Export kmap_to_page
-#
-AC_DEFUN([LN_EXPORT_KMAP_TO_PAGE], [
-LB_CHECK_EXPORT([kmap_to_page], [mm/highmem.c],
-       [AC_DEFINE(HAVE_KMAP_TO_PAGE, 1,
-               [kmap_to_page is exported by the kernel])])
-]) # LN_EXPORT_KMAP_TO_PAGE
-
-#
 # LN_HAVE_HYPERVISOR_IS_TYPE
 #
 # 4.14 commit 79cc74155218316b9a5d28577c7077b2adba8e58
@@ -1151,8 +1140,6 @@ LN_CONFIG_BACKOFF
 LN_CONFIG_O2IB
 LN_CONFIG_GNILND
 LN_CONFIG_KFILND
-# 3.10 - Check export
-LN_EXPORT_KMAP_TO_PAGE
 ]) # LN_PROG_LINUX
 
 #
index 3fcf86e..b95ac1d 100644 (file)
@@ -888,7 +888,6 @@ void lnet_me_unlink(struct lnet_me *me);
 
 void lnet_md_unlink(struct lnet_libmd *md);
 void lnet_md_deconstruct(struct lnet_libmd *lmd, struct lnet_event *ev);
-struct page *lnet_kvaddr_to_page(unsigned long vaddr);
 struct page *lnet_get_first_page(struct lnet_libmd *md, unsigned int offset);
 int lnet_cpt_of_md(struct lnet_libmd *md, unsigned int offset);
 
index 9e200c9..9bd9e33 100644 (file)
@@ -74,37 +74,6 @@ lnet_md_unlink(struct lnet_libmd *md)
 }
 
 struct page *
-lnet_kvaddr_to_page(unsigned long vaddr)
-{
-       if (is_vmalloc_addr((void *)vaddr))
-               return vmalloc_to_page((void *)vaddr);
-
-#ifdef CONFIG_HIGHMEM
-
-#ifdef HAVE_KMAP_TO_PAGE
-       /*
-        * This ifdef is added to handle the kernel versions
-        * which have kmap_to_page() function exported. If so,
-        * we should use it. Otherwise, remain with the legacy check.
-        */
-       return kmap_to_page((void *)vaddr);
-#else
-
-       if (vaddr >= PKMAP_ADDR(0) && vaddr < PKMAP_ADDR(LAST_PKMAP)) {
-               /* No highmem pages only used for bulk (kiov) I/O */
-               CERROR("find page for address in highmem\n");
-               LBUG();
-       }
-       return virt_to_page(vaddr);
-#endif /* HAVE_KMAP_TO_PAGE */
-#else
-
-       return virt_to_page(vaddr);
-#endif /* CONFIG_HIGHMEM */
-}
-EXPORT_SYMBOL(lnet_kvaddr_to_page);
-
-struct page *
 lnet_get_first_page(struct lnet_libmd *md, unsigned int offset)
 {
        unsigned int niov;
@@ -239,12 +208,16 @@ lnet_md_build(const struct lnet_md *umd, int unlink)
                lmd->md_length = len;
                i = 0;
                while (len) {
+                       struct page *p;
                        int plen;
 
+                       if (is_vmalloc_addr(pa))
+                               p = vmalloc_to_page(pa);
+                       else
+                               p = virt_to_page(pa);
                        plen = min_t(int, len, PAGE_SIZE - offset_in_page(pa));
 
-                       lmd->md_kiov[i].bv_page =
-                               lnet_kvaddr_to_page((unsigned long) pa);
+                       lmd->md_kiov[i].bv_page = p;
                        lmd->md_kiov[i].bv_offset = offset_in_page(pa);
                        lmd->md_kiov[i].bv_len = plen;
 
@@ -252,6 +225,7 @@ lnet_md_build(const struct lnet_md *umd, int unlink)
                        pa += plen;
                        i += 1;
                }
+
                WARN(!(lmd->md_options  & LNET_MD_GNILND) && i > LNET_MAX_IOV,
                        "Max IOV exceeded: %d should be < %d\n",
                        i, LNET_MAX_IOV);
index 3167bf0..d0f058e 100644 (file)
@@ -77,11 +77,13 @@ static int ptlrpc_prep_bulk_frag_pages(struct ptlrpc_bulk_desc *desc,
        while (len > 0) {
                int page_len = min_t(unsigned int, PAGE_SIZE - offset,
                                     len);
-               unsigned long vaddr = (unsigned long)frag;
+               struct page *p;
 
-               ptlrpc_prep_bulk_page_nopin(desc,
-                                           lnet_kvaddr_to_page(vaddr),
-                                           offset, page_len);
+               if (!is_vmalloc_addr(frag))
+                       p = virt_to_page((unsigned long)frag);
+               else
+                       p = vmalloc_to_page(frag);
+               ptlrpc_prep_bulk_page_nopin(desc, p, offset, page_len);
                offset = 0;
                len -= page_len;
                frag += page_len;