lkml.org 
[lkml]   [2002]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Athlon/AGP issue update
    Date
    >AGP might be non-coherent. If so, then the CPU should use a
    >non-coherent mapping to avoid useless memory bus traffic.
    >User code has access to some cache control instructions,
    >so one may mark the memory cacheable for better performance
    >even when it is non-coherent. ("flush when you're done")

    That's unfortunately not enough. The mapping of the page to
    userland and the in-kernel mapping of the AGP aperture are done
    with non-cacheable attribute. _BUT_, that same memory is also
    mapped as part of the RAM linear mapping of the kernel (the
    BAT mapping on PPC). The problem happens when some code working
    near the end of a different page via this linear mapping cause
    a speculative access to happen on the next page. This will have
    the side-effect of loading the cache with a line from the page
    used by AGP.

    I think PPC does only speculative reads, but even those (non dirty
    cache lines) may cause trouble in our case.

    Now, we have to check if the PPC is allowed to do speculative
    reads accross page boundaries. If it's the case, then we are screwed
    and I will have to cleanup the code allowing the kernel to run without
    the BAT mapping (with a performance impact unfortunately).

    Ben.



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