Re: [PATCH 10 of 20] ipath - support for userspace apps using coredriver

From: Andrew Morton
Date: Wed Mar 15 2006 - 22:28:24 EST


"Bryan O'Sullivan" <bos@xxxxxxxxxxxxx> wrote:
>
> On Wed, 2006-03-15 at 18:37 -0800, Roland Dreier wrote:
> > Roland> I think you should always be doing a get_page().
> >
> > Bryan> Yeah. I think so too, but when I do it, I get an oops.
> >
> > Hmm, looking at that oops might help debug your problem.
>
> This is what it looks like when I always call get_page in my nopage
> handler (after checking that the pfn is valid and pfn_to_page hasn't
> given me junk).
>
> Bad page state at free_hot_cold_page (in process 'mpi_hello', page ffff810002098af8)
> flags:0x0100000000000404 mapping:0000000000000000 mapcount:0 count:0 (Not tainted)

It still has PG_reserved set. I'd suggest you simply not set PG_reserved
on these pages.

> Call Trace:<ffffffff80169577>{bad_page+135} <ffffffff8016a743>{free_hot_cold_page+112}
> <ffffffff8016a839>{__pagevec_free+41} <ffffffff801710ba>{release_pages+331}
> <ffffffff8017fce9>{free_pages_and_swap_cache+125} <ffffffff80176953>{unmap_vmas+1186}
> <ffffffff80179a58>{exit_mmap+124} <ffffffff80139fe6>{mmput+37}
> <ffffffff8013f2d4>{do_exit+584} <ffffffff8013fdd1>{sys_exit_group+0}
> <ffffffff80149fd9>{get_signal_to_deliver+1594} <ffffffff8010f23a>{do_signal+116}
> <ffffffff8011017e>{retint_signal+61}

hm. Are these pages supposed to be owned by the userspace process? To have their
lifetime controlled by that process?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/