repeatable panic on pageout with 945GM
Michael Butler
imb at protected-networks.net
Sat Jun 4 13:08:58 UTC 2016
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
> @@ -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
More information about the freebsd-current
mailing list