Messages in this thread | | | Date | Wed, 19 May 2004 03:08:17 +0200 | From | Andrea Arcangeli <> | Subject | Re: invalidate_inode_pages2 |
| |
On Tue, May 18, 2004 at 06:00:28PM -0700, Andrew Morton wrote: > OK. Can we do a full pte invalidation and force a major fault?
we'd need to take the page_table_lock to do that from there, I find safer to stay at the pagecache layer at that point inside the nfs filesystem routines. the semantics of invalidate_inode_pages2 doesn't require a synchronous invalidate with major fault, both O_DIRECT and nfs cannot provide distributed shared memory anyways, all it matters is that _future_ reads will trigger readpage again to provide inode invalidate semantics.
> > > It's currently the case that pages which are mapped into process pagetables > > > are always up to date, which sounds like a good invariant to have. This > > > > I already intentionally broke that invariant in 2.4 just to make exactly > > this thing work safely, this is needed for correct O_DIRECT semantics > > too. > > > > All it matters is that the pages are re-read after munmap+mmap. > > > > > changes that rule. I dunno if it'll break anything though. > > > > It didn't break anything in 2.4 AFIK. > > It might have caused some of the debug checks in fs/buffer.c to get angry > when it's used by direct-IO. But they're gone now anyway...
sounds good then ;) - 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/
| |