[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <be153da3-fc43-a70e-ff15-8c57d727f2f3@linux.vnet.ibm.com>
Date: Wed, 3 May 2017 09:23:31 +0200
From: Laurent Dufour <ldufour@...ux.vnet.ibm.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: paulmck@...ux.vnet.ibm.com, peterz@...radead.org,
akpm@...ux-foundation.org, kirill@...temov.name,
ak@...ux.intel.com, mhocko@...nel.org, dave@...olabs.net,
jack@...e.cz, linux-kernel@...r.kernel.org, linux-mm@...ck.org,
haren@...ux.vnet.ibm.com, khandual@...ux.vnet.ibm.com,
npiggin@...il.com, bsingharora@...il.com
Subject: Re: [RFC v3 05/17] RCU free VMAs
On 30/04/2017 07:05, Matthew Wilcox wrote:
> On Thu, Apr 27, 2017 at 05:52:44PM +0200, Laurent Dufour wrote:
>> +static inline bool vma_is_dead(struct vm_area_struct *vma, unsigned int sequence)
>> +{
>> + int ret = RB_EMPTY_NODE(&vma->vm_rb);
>> + unsigned seq = ACCESS_ONCE(vma->vm_sequence.sequence);
>> +
>> + /*
>> + * Matches both the wmb in write_seqlock_{begin,end}() and
>> + * the wmb in vma_rb_erase().
>> + */
>> + smp_rmb();
>> +
>> + return ret || seq != sequence;
>> +}
>
> Hang on, this isn't vma_is_dead(). This is vma_has_changed() (possibly
> from live to dead, but also possibly grown or shrunk; see your earlier
> patch).
This makes sense.
Thanks,
Laurent
Powered by blists - more mailing lists