lkml.org 
[lkml]   [2002]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] Rmap speedup
    Date
    On Sunday 04 August 2002 02:47, Andrew Morton wrote:
    > Daniel Phillips wrote:
    > >
    > > On Saturday 03 August 2002 23:40, Andrew Morton wrote:
    > > > - total amount of CPU time lost spinning on locks is 1%, mainly
    > > > in page_add_rmap and zap_pte_range.
    > > >
    > > > That's not much spintime. The total system time with this test went
    > > > from 71 seconds (2.5.26) to 88 seconds (2.5.30). (4.5 seconds per CPU)
    > > > So all the time is presumably spent waiting on cachelines to come from
    > > > other CPUs, or from local L2.
    > >
    > > Have we tried this one:
    > >
    > > static inline unsigned rmap_lockno(pgoff_t index)
    > > {
    > > - return (index >> 4) & (ARRAY_SIZE(rmap_locks) - 1);
    > > + return (index >> 4) & (ARRAY_SIZE(rmap_locks) - 16);
    > > }
    > >
    > > (which puts all the rmap spinlocks in separate cache lines)
    >
    > Seems a strange way of doing it?

    It is a strange way of doing it. I felt like being engigmatic at the time,
    and no, nothing like that should ever go into production code, it would be
    better suited to an IOCCC submission.

    > We'll only ever use four locks this way.

    Look again: 256 - 16 = 250 = 0xf0.

    --
    Daniel
    -
    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 13:22    [W:5.201 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site