lkml.org 
[lkml]   [2006]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Document Linux's memory barriers
    On Tue, Mar 07, 2006 at 01:54:33PM -0500, linux-os (Dick Johnson) wrote:
    > This might be a good place to document:
    > dummy = readl(&foodev->ctrl);
    >
    > Will flush all pending writes to the PCI bus and that:
    > (void) readl(&foodev->ctrl);
    > ... won't because `gcc` may optimize it away. In fact, variable
    > "dummy" should be global or `gcc` may make it go away as well.

    static inline unsigned int readl(const volatile void __iomem *addr)
    {
    return *(volatile unsigned int __force *) addr;
    }

    The cast is volatile, so gcc knows not to optimise it away.
    -
    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-03-07 20:08    [W:0.049 / U:92.284 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site