Re: [PATCH] volatile may be needed in rwsem

From: David Howells
Date: Tue Jan 27 2004 - 14:24:49 EST



> 'flags' should be declared volatile as rwsem_down_failed_common() spins
> waiting for this to change. Untested.

Is it though? Does this fix an error?

The thing is, we make a function call inside of the loop:

/* wait to be given the lock */
for (;;) {
if (!waiter->flags)
break;
schedule();
set_task_state(tsk, TASK_UNINTERRUPTIBLE);
}

Which might preclude that need. I'm not entirely sure, though... it's one of
those compiler black magic things.

I suppose it can't hurt...

David
-
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/