Re: Race between vmtruncate and mapped areas?

Andrea Arcangeli
2003-05-15T19:19:21Z

On Thu, May 15, 2003 at 09:38:26AM -0700, Daniel McNeil wrote:
> On Thu, 2003-05-15 at 02:40, Andrea Arcangeli wrote:
> > 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.
>
> You could use the seqlock.h sequence locking. It only uses 1 sequence
> counter. The 2.5 isize patch 1 has a sequence lock without the spinlock
> so it only uses 4 bytes and it is somewhat more readable. I don't
> think it has more branches.
>
> I've attached the isize seqlock.h patch.

what do you think of the rmb vs mb in the reader side? Can I use rmb
too? I used mb() to go safe. I mean gettimeofday is a no brainer since
it does only reads inside the critical section anyways. But here I feel
I need mb().

And yes, there are no more branches sorry, just an additional or.

Andrea