lkml.org 
[lkml]   [2006]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectOpinion on ordering of writel vs. stores to RAM
    Linus,

    An issue has come up in the tg3 ethernet driver, where we are seeing
    data corruption on ppc64 machines that is attributable to a lack of
    ordering between writes to normal RAM and writes to an MMIO register.
    Basically the driver does writes to RAM and then a writel to an MMIO
    register to trigger DMA, and occasionally the device then reads old
    values from memory.

    Do you have an opinion about whether the MMIO write in writel() should
    be ordered with respect to preceding writes to normal memory?

    Currently we have a sync instruction after the store in writel() but
    not one before. The sync after is to keep the writel inside
    spinlocked regions and to ensure that the store is ordered with
    respect to the load in readl() and friends.

    Paul.
    -
    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: 2006-09-09 04:07    [W:0.019 / U:30.120 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site