Re: [patch 09/16] powerpc: Replace old style lock initializer

From: Benjamin Herrenschmidt
Date: Fri Nov 06 2009 - 17:59:21 EST


On Fri, 2009-11-06 at 22:41 +0000, Thomas Gleixner wrote:
> plain text document attachment
> (power-replace-old-style-lock-init.patch)
> SPIN_LOCK_UNLOCKED is deprecated. Init the lock array at runtime
> instead.
>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> Cc: linuxppc-dev@xxxxxxxxxx
> ---

Looks reasonable. But iseries can be a bitch, so we do need to test it
on monday.

Cheers,
Ben.

> arch/powerpc/platforms/iseries/htab.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> Index: linux-2.6/arch/powerpc/platforms/iseries/htab.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/platforms/iseries/htab.c
> +++ linux-2.6/arch/powerpc/platforms/iseries/htab.c
> @@ -19,8 +19,7 @@
>
> #include "call_hpt.h"
>
> -static spinlock_t iSeries_hlocks[64] __cacheline_aligned_in_smp =
> - { [0 ... 63] = SPIN_LOCK_UNLOCKED};
> +static spinlock_t iSeries_hlocks[64] __cacheline_aligned_in_smp;
>
> /*
> * Very primitive algorithm for picking up a lock
> @@ -245,6 +244,11 @@ static void iSeries_hpte_invalidate(unsi
>
> void __init hpte_init_iSeries(void)
> {
> + int i;
> +
> + for (i = 0; i < ARRAY_SIZE(iSeries_hlocks); i++)
> + spin_lock_init(&iSeries_hlocks[i]);
> +
> ppc_md.hpte_invalidate = iSeries_hpte_invalidate;
> ppc_md.hpte_updatepp = iSeries_hpte_updatepp;
> ppc_md.hpte_updateboltedpp = iSeries_hpte_updateboltedpp;
>
>
> --
> 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/


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