Re: r353072 > r353427 > r353709

From: Gary Jennejohn <gljennjohn_at_gmail.com>
Date: Sun, 20 Oct 2019 10:42:23 +0200
On Sat, 19 Oct 2019 22:07:52 -0500
Clay Daniels <clay.daniels.jr_at_gmail.com> wrote:

> 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-October074660.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
> _at__at_ -239,7 +239,7 _at__at_ 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:
> 

This is a patch to a file used in the port itself, not to the kernel
sources under /usr/src/sys.

This should be pretty clear from this line in the referenced link
to the posting in freebsd-current:
# cat files/patch-linuxkpi_gplv2_src_linux__page.c

In other words, the patch must be put in the files directory in
the port itself.

> /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
> 
> 
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"


-- 
Gary Jennejohn
Received on Sun Oct 20 2019 - 06:42:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:22 UTC