Re: ????: [PATCH 34/50] sched: numa: Do not trap hinting faults for shared libraries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






2013/9/17 Mel Gorman <mgorman@xxxxxxx>
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.

=> we should filter out the VMAs of  VM_MIXEDMAP, because of  it just set pte_mknuma for normal mapping pages in change_pte_range.

Best,
Figo.zhang

 
 

--
Mel Gorman
SUSE Labs

--
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/ .
Don't email: <a href="" href="mailto:dont@xxxxxxxxx">dont@xxxxxxxxx"> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]