lkml.org 
[lkml]   [2020]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 08/21] mm/vmemmap: Initialize page table lock for vmemmap
    On Sun, Nov 08, 2020 at 10:11:00PM +0800, Muchun Song wrote:
    > In the register_page_bootmem_memmap, the slab allocator is not ready
    > yet. So when ALLOC_SPLIT_PTLOCKS, we use init_mm.page_table_lock.
    > otherwise we use per page table lock(page->ptl). In the later patch,
    > we will use the vmemmap page table lock to guard the splitting of
    > the vmemmap huge PMD.

    I am not sure about this one.
    Grabbing init_mm's pagetable lock for specific hugetlb operations does not
    seem like a good idea, and we do not know how contented is that one.

    I think a better fit would be to find another hook to initialize
    page_table_lock at a later stage.
    Anyway, we do not need till we are going to perform an operation
    on the range, right?

    Unless I am missing something, this should be doable in hugetlb_init.

    hugetlb_init is part from a init_call that gets called during do_initcalls.
    At this time, slab is fully operative.

    start_kernel
    kmem_cache_init_late
    kmem_cache_init_late
    ...
    arch_call_rest_init
    rest_init
    kernel_init_freeable
    do_basic_setup
    do_initcalls
    hugetlb_init

    --
    Oscar Salvador
    SUSE L3

    \
     
     \ /
      Last update: 2020-11-09 19:11    [W:4.131 / U:0.940 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site