24 Feb, 2006

1 commit


13 Jan, 2006

1 commit

  • eieio is only a store - store ordering. When used to order an unlock
    operation loads may leak out of the critical region. This is potentially
    buggy, one example is if a user wants to atomically read a couple of
    values.

    We can solve this with an lwsync which orders everything except store - load.

    I removed the (now unused) EIEIO_ON_SMP macros and the c versions
    isync_on_smp and eieio_on_smp now we dont use them. I also removed some
    old comments that were used to identify inline spinlocks in assembly,
    they dont make sense now our locks are out of line.

    Another interesting thing was that read_unlock was using an eieio even
    though the rest of the spinlock code had already been converted to
    use lwsync.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     

09 Jan, 2006

1 commit

  • include/asm-ppc/ had #ifdef __KERNEL__ in all header files that
    are not meant for use by user space, include/asm-powerpc does
    not have this yet.

    This patch gets us a lot closer there. There are a few cases
    where I was not sure, so I left them out. I have verified
    that no CONFIG_* symbols are used outside of __KERNEL__
    any more and that there are no obvious compile errors when
    including any of the headers in user space libraries.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Arnd Bergmann
     

25 Sep, 2005

1 commit

  • powerpc: Merge atomic.h and memory.h into powerpc

    Merged atomic.h into include/powerpc. Moved asm-style HMT_ defines from
    memory.h into ppc_asm.h, where there were already HMT_defines; moved c-style
    HMT_ defines to processor.h. Renamed memory.h to synch.h to better reflect
    its contents.

    Signed-off-by: Kumar Gala
    Signed-off-by: Becky Bruce
    Signed-off-by: Jon Loeliger
    Signed-off-by: Paul Mackerras

    Becky Bruce