Re: [PATCH] mm: don't flush TLB when propagate PTE access bit to struct page.

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

 



On 10/27/2010 04:19 PM, Ying Han wrote:


On Wed, Oct 27, 2010 at 11:05 AM, Rik van Riel <riel@xxxxxxxxxx
<mailto:riel@xxxxxxxxxx>> wrote:

    On 10/27/2010 01:21 PM, Ying Han wrote:

        kswapd's use case of hardware PTE accessed bit is to approximate
        page LRU.  The
        ActiveLRU demotion to InactiveLRU are not base on accessed bit,
        while it is only
        used to promote when a page is on inactive LRU list.  All of the
        state transitions
        are triggered by memory pressure and thus has weak relationship
        with respect to
        time.  In addition, hardware already transparently flush tlb
        whenever CPU context
        switch processes and given limited hardware TLB resource, the
        time period in
        which a page is accessed but not yet propagated to struct page
        is very small
        in practice. With the nature of approximation, kernel really
        don't need to flush TLB
        for changing PTE's access bit.  This commit removes the flush
        operation from it.

        Signed-off-by: Ying Han<yinghan@xxxxxxxxxx
        <mailto:yinghan@xxxxxxxxxx>>
        Singed-off-by: Ken Chen<kenchen@xxxxxxxxxx
        <mailto:kenchen@xxxxxxxxxx>>


    The reasoning behind the patch makes sense.

    However, have you measured any improvements in run time with
    this patch?  The VM is already tweaked to minimize the number
    of pages that get aged, so it would be interesting to know
    where you saw issues.


Rik, the workload we were running are some MapReduce jobs.

Well, what kind of performance improvement did you measure?

--
All rights reversed

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"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]