[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070306230841.69409ffc.akpm@linux-foundation.org>
Date: Tue, 6 Mar 2007 23:08:41 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Nick Piggin <npiggin@...e.de>
Cc: Linux Memory Management <linux-mm@...ck.org>,
Linux Kernel <linux-kernel@...r.kernel.org>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>
Subject: Re: [patch 3/6] mm: fix fault vs invalidate race for linear
mappings
On Wed, 7 Mar 2007 07:57:27 +0100 Nick Piggin <npiggin@...e.de> wrote:
> >
> > Why was truncate_inode_pages_range() altered to unmap the page if it got
> > mapped again?
> >
> > Oh. Because the unmap_mapping_range() call got removed from vmtruncate().
> > Why? (Please send suitable updates to the changelog).
>
> We have to ensure it is unmapped, and be prepared to unmap it while under
> the page lock.
But vmtruncate() dropped i_size, so nobody will map this page into
pagetables from then on.
> > I guess truncate of a mmapped area isn't sufficiently common to worry about
> > the inefficiency of this change.
>
> Yeah, and it should be more efficient for files that aren't mmapped,
> because we don't have to take i_mmap_lock for them.
>
> > Lots of memory barriers got removed in memory.c, unchangeloggedly.
>
> Yeah they were all for the lockless truncate_count checks. Now that
> we use the page lock, we don't need barriers.
>
> > Gratuitous renaming of locals in do_no_page() makes the change hard to
> > review. Should have been a separate patch.
> >
> > In fact, the patch would have been heaps clearer if that renaming had been
> > a separate patch.
>
> Shall I?
If you don't have anything better to do, yes please ;)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists