On Tue, Sep 17, 2013 at 10:02:22AM +0800, ?????? wrote: > index fd724bc..5d244d0 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -1227,6 +1227,16 @@ void task_numa_work(struct callback_head *work) > if (!vma_migratable(vma)) > continue; > > + /* > + * Shared library pages mapped by multiple processes are not > + * migrated as it is expected they are cache replicated. Avoid > + * hinting faults in read-only file-backed mappings or the vdso > + * as migrating the pages will be of marginal benefit. > + */ > + if (!vma->vm_mm || > + (vma->vm_file && (vma->vm_flags & (VM_READ|VM_WRITE)) == > (VM_READ))) > + continue; > + > > =?? May I ask a question, we should consider some VMAs canot be scaned for > BalanceNuma? > (VM_DONTEXPAND | VM_RESERVED | VM_INSERTPAGE | > VM_NONLINEAR | VM_MIXEDMAP | VM_SAO));
vma_migratable check covers most of the other VMAs we do not care about. I do not see the point of checking for some of the VMA flags you mention. Please state which of the additional flags that you think should be checked and why. -- Mel Gorman SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/