Re: [PATCH 2/5] Swapless V2: Add migration swap entries

From: Christoph Lameter
Date: Thu Apr 13 2006 - 20:46:27 EST


On Thu, 13 Apr 2006, Andrew Morton wrote:

> Christoph Lameter <clameter@xxxxxxx> wrote:
> >
> > On Thu, 13 Apr 2006, Andrew Morton wrote:
> >
> > > Christoph Lameter <clameter@xxxxxxx> wrote:
> > > >
> > > > +
> > > > + if (unlikely(is_migration_entry(entry))) {
> > >
> > > Perhaps put the unlikely() in is_migration_entry()?
> > >
> > > > + yield();
> > >
> > > Please, no yielding.
> > >
> > > _especially_ no unchangelogged, uncommented yielding.
> >
> > Page migration is ongoing so its best to do something else first.
>
> That doesn't help a lot. What is "something else"? What are the dynamics
> in there, and why do you feel that some sort of delay is needed?

Page migration is ongoing for the page that was faulted. This means
the migration thread has torn down the ptes and replaced them with
migration entries in order to prevent access to this page. The migration
thread is continuing the process of tearing down ptes, copying the page
and then rebuilding the ptes. When the ptes are back then the fault
handler will no longer be invoked or it will fix up some of the bits in
the ptes. This takes a short time, the more ptes point to a page the
longer it will take to replace them.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/