Re: [patch 2/3] mmu_notifier: Callbacks to invalidate addressranges

From: Robin Holt
Date: Fri Feb 01 2008 - 05:32:37 EST


On Thu, Jan 31, 2008 at 08:43:58PM -0800, Christoph Lameter wrote:
> On Thu, 31 Jan 2008, Robin Holt wrote:
>
> > > Index: linux-2.6/mm/memory.c
> > ...
> > > @@ -1668,6 +1678,7 @@ gotten:
> > > page_cache_release(old_page);
> > > unlock:
> > > pte_unmap_unlock(page_table, ptl);
> > > + mmu_notifier(invalidate_range_end, mm, 0);
> >
> > I think we can get an _end call without the _begin call before it.
>
> If that would be true then also the pte would have been left locked.
>
> We always hit unlock. Maybe I just do not see it?

Maybe I haven't looked closely enough, but let's start with some common
assumptions. Looking at do_wp_page from 2.6.24 (I believe that is what
my work area is based upon). On line 1559, the function begins being
declared.

On lines 1614 and 1630, we do "goto unlock" where the _end callout is
soon made. The _begin callout does not come until after those branches
have been taken (occurs on line 1648).

Thanks,
Robin
--
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/