lkml.org 
[lkml]   [2004]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    Subject2.6.9-rc1: page_referenced_one() CPU consumption
    Hello,

    in 2.6.9-rc1 page_referenced_one() is among top CPU consumers (which
    wasn't a case for 2.6.8-rc2) in the host kernel when running heavily
    loaded UML. readprofile -b shows that time is spent in
    spin_lock(&mm->page_table_lock), so, I reckon, recent "rmaplock: kill
    page_map_lock" changes are probably not completely unrelated.

    Without any deep investigation, one possible scenario is that multiple
    threads are doing (as part of direct reclaim),

    refill_inactive_zone()
    page_referenced()
    page_referenced_file() /* (1) mapping->i_mmap_lock doesn't
    serialize them */
    page_referenced_one()
    spin_lock(&mm->page_table_lock) /* (2) everybody is
    serialized here */

    (1) and (2) will be true if we have one huge address space with a lot of
    VMAs, which seems to be exactly what UML does:

    $ wc /proc/<UML-host-pid>/maps
    4134 28931 561916

    This didn't happen before, because page_referenced_one() used to
    try-lock.

    Nikita.


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:06    [W:0.021 / U:0.080 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site