[lkml]   [2004]   [Dec]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Prezeroing V2 [0/3]: Why and When it works
    Paul Mackerras <> wrote:
    > Christoph Lameter writes:
    > > The most expensive operation in the page fault handler is (apart of SMP
    > > locking overhead) the zeroing of the page.
    > Re-reading this I see that you mean the zeroing of the page that is
    > mapped into the process address space, not the page table pages. So
    > ignore my previous reply.
    > Do you have any statistics on how often a page fault needs to supply a
    > page of zeroes versus supplying a copy of an existing page, for real
    > applications?

    When the workload is a gcc run, the pagefault handler dominates the system
    time. That's the page zeroing.

    > In any case, unless you have magic page-zeroing hardware, I am still
    > inclined to think that zeroing the page at the time of the fault is
    > the most efficient, since that means the page will be hot in the cache
    > for the process to use. If you zero it earlier using CPU stores, it
    > can only cause more overall memory traffic, as far as I can see.

    x86's movnta instructions provide a way of initialising memory without
    trashing the caches and it has pretty good bandwidth, I believe. We should
    wire that up to these patches and see if it speeds things up.

    > I did some measurements once on my G5 powermac (running a ppc64 linux
    > kernel) of how long clear_page takes, and it only takes 96ns for a 4kB
    > page.

    40GB/s. Is that straight into L1 or does the measurement include writeback?

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:09    [W:0.020 / U:9.432 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site