On Fri, Feb 19, 2010 at 04:42:18PM -0500, Rik van Riel wrote: > On 02/18/2010 01:02 PM, Mel Gorman wrote: > >> struct anon_vma { >> spinlock_t lock; /* Serialize access to vma list */ >> -#ifdef CONFIG_KSM >> - atomic_t ksm_refcount; >> -#endif >> -#ifdef CONFIG_MIGRATION >> - atomic_t migrate_refcount; >> +#if defined(CONFIG_KSM) || defined(CONFIG_MIGRATION) >> + >> + /* >> + * The refcount is taken by either KSM or page migration >> + * to take a reference to an anon_vma when there is no >> + * guarantee that the vma of page tables will exist for >> + * the duration of the operation. A caller that takes >> + * the reference is responsible for clearing up the >> + * anon_vma if they are the last user on release >> + */ >> + atomic_t refcount; > > Calling it just refcount is probably confusing, since > the anon_vma is also referenced by being on the chain > with others. > > Maybe "other_refcount" because it is refcounts taken > by things other than VMAs? I am sure there is a better > name possible... > external_refcount is about as good as I can think of to explain what's going on :/ -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>