lkml.org 
[lkml]   [2003]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] fix remap of shared read only mappings
    From
    Date
    On Thu, 2003-09-04 at 18:56, Jamie Lokier wrote:
    > You have just argued _against_ worrying about cache coherence by
    > aligning mapping addresses.
    >
    > Basically, POSIX says shared mappings aren't guanteed to be coherent
    > until you call msync(). Then you can just do whatever is needed to
    > make different views coherent. That's easier now that we have rmap.

    I think you may misunderstand what I mean by coherence: Our problem is
    the VIVT processor caches. Once one mapper does an msync, that data
    must be visible to all the other mappers, so at that point we have to
    flush the cache lines of all the other mappers. On PA, we only need to
    flush one correctly aligned address to get the VIVT cache to flush all
    the others. However, the kernel page cache usually holds an unaligned
    reference so we need to do the extra aligned flush when this data
    changes. If we didn't do the alignment, we'd need to flush every
    virtual address in the current CPU translation for that page.

    If you mean PROT_SEM requires immediate coherence without an msync, then
    those semantics would be very tricky to achieve on parisc since we'd
    need the kernel virtual address of the page in the page cache correctly
    aligned as well.

    rmap isn't really necessary for this, that's what the
    page->mapping->i_mmap and i_mmap_shared lists are for.

    James


    -
    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:48    [W:0.022 / U:30.404 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site