Re: cmpxchg is not available to generic code

From: Dave Airlie
Date: Thu Jul 19 2007 - 04:42:56 EST


On 7/19/07, David Miller <davem@xxxxxxxxxxxxx> wrote:
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 19 Jul 2007 00:05:49 -0700

> What's that code doing anyway? driver-private locking primitives?

It's an atomic lock shared with userspace. Whatever implementation is
used to do the lock on that object must be identical in the userspace
DRM bits.

Unlike futex, the lock operation on the user side isn't optional.
So if the platform can't do a true cmpxchg it generally cannot
support DRM.

Actually in theory the userspace side is optional, it should fallback
to always entering the kernel and being slow, but Ive no idea how
well that codepath is tested... but it's an area I'd hate to play with
now ..

Maybe we could add CONFIG_HAVE_CMPXCHG and let DRM depend on it..

Dave.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/