Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Oct 2019 22:07:52 -0500
From:      Clay Daniels <clay.daniels.jr@gmail.com>
To:        Evilham <contact@evilham.com>
Cc:        "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   Re: r353072 > r353427 > r353709
Message-ID:  <f187f806-11fa-0dea-b97a-109350ea38ae@gmail.com>
In-Reply-To: <4948bdbf-f79c-482b-87f5-e0f72c527b19@yggdrasil.evilham.com>
References:  <CAGLDxTXwhZT-VC63d16ZGjKozezC=J5tsoKDh7BBfp0zsb8yCQ@mail.gmail.com> <4948bdbf-f79c-482b-87f5-e0f72c527b19@yggdrasil.evilham.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 10/19/19 4:54 AM, Evilham wrote:
> Have you seen the recent threads about this?
> Particularly this with some steps that worked-for-me (tm):
>  https://lists.freebsd.org/pipermail/freebsd-current/2019-October/074660.html 
>
> -- 
> Evilham

i looked at the patch  & made a file which says:

diff --git a/linuxkpi/gplv2/src/linux_page.c 
b/linuxkpi/gplv2/src/linux_page.c
index e2b85c45c..060ae85ed 100644
--- a/linuxkpi/gplv2/src/linux_page.c
+++ b/linuxkpi/gplv2/src/linux_page.c
@@ -239,7 +239,7 @@ retry:
              page = vm_page_lookup(devobj, i);
              if (page == NULL)
                  continue;
-            if (vm_page_sleep_if_busy(page, "linuxkpi"))
+            if (!vm_page_busy_acquire(page, VM_ALLOC_WAITFAIL))
                  goto retry;
              cdev_pager_free_page(devobj, page);
          }

Not knowing much about patching, I decided to locate linux_page.c and 
did so on my install at:

/usr/src/sys/compat/lynuxpki/common/src/linux_page.c

I figured if it was just a one line change, good old vi would do the 
trick, but after carefully looking through my linux_page,c file, I found 
what I think is the section, and this is what it says (my handwritten 
transcription from the console screen of the freebsd computer to my 
linux workstation)

---
retry:
    page = vm_page_alloc_contig(NULL, 0, req
       npages, 0, pmax, PAGE_SIZE, 0, VM_MEMATTR_DEFAULT);
    if (page == NULL) {
         if (flags & M_WAITOK) {
            if (!vm_page_reclaim_config (req,
                npages, 0, pmax, PAGE_SIZE, 0)) {
                   vm_wait(NULL);
           }
           FLAGS &= ~M_WAITOK;
           go to retry;
        }
         return (NULL)
      }
}
---

Excuse the spacing.

Anyway, I suspect I must have an updated version of linux_page.c but not 
sure. What I might do is go ahead and go to the 
/usr/ports/graphics/drm-kmod directory and make install clean, then load 
xorg and see what happens. I'm going to have a bite of super first.

Clay





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f187f806-11fa-0dea-b97a-109350ea38ae>