Re: Race between vmtruncate and mapped areas?

Paul McKenney
2003-05-17T18:19:39Z

> On Thu, May 15, 2003 at 02:20:00AM -0700, Andrew Morton wrote:
> > Andrea Arcangeli <andrea@suse.de> wrote:
> > >
> > > and it's still racy
> >
> > damn, and it just booted ;)
> >
> > I'm just a little bit concerned over the ever-expanding inode. Do you
> > think the dual sequence numbers can be replaced by a single generation
> > counter?
>
> yes, I wrote it as a single counter first, but was unreadable and it had
> more branches, so I added the other sequence number to make it cleaner.
> I don't mind another 4 bytes, that cacheline should be hot anyways.
>
> > I do think that we should push the revalidate operation over into the
vm_ops.
> > That'll require an extra arg to ->nopage, but it has a spare one anyway
(!).
>
> not sure why you need a callback, the lowlevel if needed can serialize
> using the same locking in the address space that vmtruncate uses. I
> would wait a real case need before adding a callback.

FYI, we verified that the revalidate callback could also do the same
job that the proposed nopagedone callback does -- permitting filesystems
that provide their on vm_operations_struct to avoid the race between
page faults and invalidating a page from a mapped file.

Thanx, Paul