Re: repeatable panic on pageout with 945GM

From: Michael Butler <imb_at_protected-networks.net>
Date: Sat, 4 Jun 2016 09:08:45 -0400
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_at_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
> _at__at_ -211,7 +211,8 _at__at_ 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
Received on Sat Jun 04 2016 - 11:08:58 UTC

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