Messages in this thread | | | Date | Tue, 25 Feb 2003 11:57:08 -0600 | From | Dave McCracken <> | Subject | Re: 2.5.62-mm3 - no X for me |
| |
--On Tuesday, February 25, 2003 01:55:37 -0800 Andrew Morton <akpm@digeo.com> wrote:
> Ah, thank you. > > kernel BUG at mm/rmap.c:248! > > The fickle finger of fate points McCrackenwards.
Yep. He tripped over my sanity check that pages not marked anon actually have a real mapping pointer. Apparently X allocates a page that should be marked anon but isn't.
My main reason for adding the anon flag was to prove to myself that the mapping pointer can be trusted. Apparently it can, generally, but it looks like I haven't successfully tracked down all the places that should set it. It looks like anon pages can come from random sources, so it might be an impossible task to find them all.
I know you said you like the idea of having the flag, but I think the cleanest fix would be to change the check from
if (PageAnon(page)) to if (page->mapping && !PageSwapCache(page))
Or I could set the anon flag based on that test. I know page flags are getting scarce, so I'm leaning toward removing the flag entirely.
What would you recommend?
Dave McCracken
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |