[lkml]   [2002]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: spinlock assertion macros
    On Wednesday 17 July 2002 04:22, Jesse Barnes wrote:
    > On Fri, Jul 12, 2002 at 07:42:09PM +0200, Daniel Phillips wrote:
    > > So far, only the MUST_HOLD style of executable locking documentation has
    > > really survived scrutiny. It needs some variants: MUST_HOLD_READ,
    > > or names to that effect.
    > I'm not quite sure where to put the semaphore versions of the MUST_*
    > macros, I guess they'd have to go in each of the arch-specific header
    > files?

    You could create linux/semaphore.h which includes asm/semaphore.h, making
    the whole arrangement more similar to spinlocks. That would be the manly
    thing to do, however, manliness not necessarily being the fashion at the
    moment, putting them in the arch-specific headers seems like the route of
    least resistance. One day, a prince on a white horse will come along and
    clean up all the header files...

    > Anyway, I've got spinlock and rwlock versions of them below,
    > maybe they're useful enough to go in as a start? I only coded the
    > ia64 version of rwlock_is_*_locked since it was easy--the i386
    > versions were a little intimidating...
    > I thought Oliver's suggestion for tracking the order of spinlock
    > acquisition was good, hopefully someone will take a stab at it along
    > with Dave's FUNCTION_SLEEPS() implementation.

    Indeed, it's a nice realization of Dave's idea, very clever.

    On the minor niggle side, I think "MUST_HOLD" scans better than
    "MUST_HOLD_SPIN", since the former is closer to the way we say it when
    we're talking amongst ourselves.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:27    [W:0.029 / U:41.156 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site