Re: [tip:locking/core] arch,s390: Convert smp_mb__*()

From: Martin Schwidefsky
Date: Wed Apr 23 2014 - 03:38:15 EST


Hi Peter,

On Fri, 18 Apr 2014 06:11:38 -0700
tip-bot for Peter Zijlstra <tipbot@xxxxxxxxx> wrote:

> arch,s390: Convert smp_mb__*()
>
> As per the existing implementation; implement the new one using
> smp_mb().
>
> AFAICT the s390 compare-and-swap does imply a barrier, however there
> are some immediate ops that seem to be singly-copy atomic and do not
> imply a barrier. One such is the "ni" op (which would be
> and-immediate) which is used for the constant clear_bit
> implementation. Therefore s390 needs full barriers for the
> {before,after} atomic ops.

Good catch, if ni/oi are used this is required. What we want to
add is an #ifdef CONFIG_HAVE_MARCH_Z196_FEATURES. With smp_mb__*
defined as smp_mb() we get additional barriers for older machines
while the atomic ops are defined with compare-and-swap which
already does the barrier before and after the operation.

We can do that with a patch on top of this one, so no hurry.

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.

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