On Mon, 2012-03-19 at 13:42 +0200, Avi Kivity wrote: > > That's intentional, it keeps the work accounted to the tasks that need > > it. > > The accounting part is good, the extra latency is not. If you have > spare resources (processors or dma engines) you can employ for eager > migration why not make use of them. Afaik we do not use dma engines for memory migration. In any case, if you do cross-node migration frequently enough that the overhead of copying pages is a significant part of your time then I'm guessing there's something wrong. If not, the latency should be armortised enough to not matter. > > > - doesn't work with dma engines > > > > How does that work anyway? You'd have to reprogram your dma engine, so > > either the ->migratepage() callback does that and we're good either way, > > or it simply doesn't work at all. > > If it's called from the faulting task's context you have to sleep, and > the latency gets increased even more, plus you're dependant on the dma > engine's backlog. If you do all that from a background thread you don't > have to block (you might have to cancel or discard a migration if the > page was changed while being copied). The current MoF implementation simply bails and uses the old page. It will never block. Its all a best effort approach, a 'few' stray pages is OK as long as the bulk of the pages are local. If you're concerned, we can add per mm/vma counters to track this. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href