Messages in this thread | | | Date | Sat, 7 Dec 2013 00:25:44 +0000 | From | Christoph Lameter <> | Subject | Re: [PATCH 14/15] mm: fix TLB flush race between migration, and change_protection_range |
| |
On Fri, 6 Dec 2013, Rik van Riel wrote:
> > When you start migrating a page a special page migration entry is > > created that will trap all accesses to the page. You can safely flush when > > the migration entry is there. Only allow a new PTE/PMD to be put there > > *after* the tlb flush. > > A PROT_NONE or NUMA pte is just as effective as a migration pte. > The only problem is, the TLB flush was not always done...
Ok then what are you trying to fix?
> > Dont do that. We have migration entries for a reason. > > We do not have migration entries for hugepages, do we?
Dunno.
> > > > Should cause a page fault which should put the process to sleep. Process > > will safely read the page after the migration entry is removed. > > > >> flush TLB > > > > Establish the new PTE/PMD after the flush removing the migration pte > > entry and thereby avoiding the race. > > That is what this patch does.
If that is the case then this patch would not be needed and the tracking of state in the mm_struct would not be necessary.
| |