Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Jun 2016 09:08:45 -0400
From:      Michael Butler <imb@protected-networks.net>
To:        Matthew Macy <mmacy@nextbsd.org>, "K. Macy" <kmacy@freebsd.org>
Cc:        "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   Re: repeatable panic on pageout with 945GM
Message-ID:  <939f9d2b-e925-e8e0-0ff3-8d90623728c6@protected-networks.net>
In-Reply-To: <1551419a1db.12929035f45012.326107747932338888@nextbsd.org>
References:  <2490f1c7-8153-ece3-49ed-4b3886564fd7@protected-networks.net> <da19738b-6bf1-10a3-4428-43b6095ec35a@protected-networks.net> <205d4423-b834-9a21-785f-fa15d44c78ec@protected-networks.net> <CAHM0Q_PR5Aoak6A7f=tsRy0DJFCmLDVfRGpceZ0mXU3P%2BxO8DA@mail.gmail.com> <1551419a1db.12929035f45012.326107747932338888@nextbsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 06/02/16 22:31, Matthew Macy wrote:
> Tell me if that makes any difference.
> 
> -M
> 
> 
>  ---- On Thu, 02 Jun 2016 16:55:53 -0700 K. Macy <kmacy@freebsd.org> wrote ---- 
>  > It looks like it might be trying to remove mappings for a page that doesn't 
>  > have any. It's a bit odd. Likely a bug in cdev_pager_free_page or gem 
>  > release mmap. Compile the kernel and driver with -O0 and look at the page. 
>  > It's too bad I don't support AGP yet with DRM 4.6. Maybe in a week or two. 
> 
> 
> 
>  diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c
> index 013f0d5..917ece7 100644
> --- a/sys/vm/device_pager.c
> +++ b/sys/vm/device_pager.c
> @@ -211,7 +211,8 @@ cdev_pager_free_page(vm_object_t object, vm_page_t m)
>         VM_OBJECT_ASSERT_WLOCKED(object);
>         if (object->type == OBJT_MGTDEVICE) {
>                 KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("unmanaged %p", m));
> -               pmap_remove_all(m);
> +               if (pmap_page_is_mapped(page))
> +                       pmap_remove_all(m);
>                 vm_page_lock(m);
>                 vm_page_remove(m);
>                 vm_page_unlock(m);
> 

This "band-aid" seems to have worked. I haven't had a single panic since
- Thanks! :-)

I tried to compile with -O0 but, for some reason, it panics in the sound
driver with a double-fault. When I get time, I'll recompile only the
files involved and see if I can't get a decent trace (and dump) to
identify the cause,

	imb





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?939f9d2b-e925-e8e0-0ff3-8d90623728c6>