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 <km...@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


_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to