lkml.org 
[lkml]   [2007]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Fw: [PATCH] ia64: race flushing icache in do_no_page path
    Hugh Dickins wrote:
    > On Sat, 28 Apr 2007, Nick Piggin wrote:
    >
    >>OIC, you need a virtual address to evict the icache, so you can't
    >>flush at flush_dcache time? Or does ia64 have an instruction to
    >>flush the whole icache? (it would be worth testing, to see how much
    >>performance suffers).
    >
    >
    > I'm puzzled by that remark: the ia64 flush_icache_range always has
    > a virtual address, it uses the kernel virtual address; it takes no
    > interest in whether there's a user virtual address.

    I _think_ what it is doing is actually flushing dcache lines dirtied
    via the kernel virtual address (yes, I think flush_icache in
    lazy_mmu_prot_update is actually just flushing the dcache, but I could
    be wrong? [*]). There are supposedly no icache lines at that point[**]:
    the bug fix at the start of this thread is due to icache lines
    becoming present before the flush.

    [*] and if I'm right, that means that icache fills don't see dirty
    dcache, but rather always load from memory? I hope someone can
    answer these questions?

    [**] except due to _existing_ executable mappings, of course, but they
    seem to have been comprehensively disregarded...

    --
    SUSE Labs, Novell Inc.
    -
    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: 2007-04-28 08:07    [W:0.021 / U:120.336 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site