• Guo Ren's avatar
    csky: Fixup _PAGE_ACCESSED for default pgprot · 5e144c42
    Guo Ren authored
    When the system memory is exhausted, linux will trigger kswapd to
    shrink memory page cache. We found the csky's .text file mapping
    pages would be reclaimed earlier than arm's elf. Because csky
    doesn't give _PAGE_ACCESSED for default pgprot and in zap_pte_range
    
    if (pte_young(ptent) &&
        likely(!(vma->vm_flags & VM_SEQ_READ)))
            mark_page_accessed(page);
    
    mark_page_accessed will put the pages into active lru list.
    
    [    3.652722] delete busybox page from inactive file list
    Call Trace:
    [<9012a376>] dump_stack+0xe/0x24
    [<9012a370>] dump_stack+0x8/0x24
    [<9005b780>] activate_page+0x2b4/0x2d4
    [<90132502>] vsnprintf+0x2c6/0x374
    [<9005b880>] mark_page_accessed+0xe0/0x150
    [<9006903e>] unmap_page_range+0x166/0x33c
    [<90021844>] get_signal+0x98/0x3b4
    [<90069232>] unmap_single_vma+0x1e/0x24
    [<90069462>] unmap_vmas+0x26/0x40
    [<9006d3d8>] exit_mmap+0x60/0xbc
    [<9006a140>] handle_mm_fault+0x700/0xcec
    [<900426b2>] ktime_get_with_offset+0x86/0x130
    [<90017566>] mmput+0x2e/0x90
    [<9001a30a>] do_exit+0x13e/0x6f0
    [<90015448>] page_fault_end+0x14/0x74
    [<9001b4bc>] SyS_exit_group+0x0/0xc
    [<9001b47c>] do_group_exit+0x2c/0x6c
    [<9001b4c8>] __wake_up_parent+0x0/0x20
    [<9001399e>] csky_systemcall+0x6e/0x72
    
    csky will throw the pages at first and keep them in active lru
    list later after real accessed, but arm would keep them in active
    lru list at the beginning.
    
    The following are statistics of different architecture styles:
    
    Default _PAGE_ACCESSED: alpha, arm, arm64, ia64, m68k, microblaze,
    			openrisc, powerpc, riscv, sh, um, x86,
    			xtensa
    Not def _PAGE_ACCESSED: arc, c6x, h8300, hexgon, mips, s390, nds32,
    			nios2, parisc, sparc
    Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
    Co-developed-by: default avatarXu Kai <xukai@nationalchip.com>
    Signed-off-by: default avatarXu Kai <xukai@nationalchip.com>
    5e144c42
pgtable.h 7.2 KB