2014-04-18 08:09:13

by Vineet Gupta

[permalink] [raw]
Subject: [PATCH 0/2] Build breakages for 3.15-rc1

Hi Peter,

In 3.15, RCU header updates are not working with the stale barrier.h
leftovers, causing build breakage.

I see that there was a post on linux-arch to same effect but it never got
merged due to other reasons.

Linus can you please apply ARC patch, I'll let Richard speak for Hexagon !

Thx,
-Vineet

Vineet Gupta (2):
ARC: Delete stale barrier.h
Hexagon: Delete stale barrier.h

arch/arc/include/asm/barrier.h | 37 -------------------------------------
arch/hexagon/include/asm/barrier.h | 37 -------------------------------------
2 files changed, 74 deletions(-)
delete mode 100644 arch/arc/include/asm/barrier.h
delete mode 100644 arch/hexagon/include/asm/barrier.h

--
1.8.3.2


2014-04-18 08:09:40

by Vineet Gupta

[permalink] [raw]
Subject: [PATCH 2/2] Hexagon: Delete stale barrier.h

It is likely Hexagon build is broken too in 3.15.
But I don't have a working compiler to be sure.

Cc: Richard Kuo <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Signed-off-by: Vineet Gupta <[email protected]>
---
arch/hexagon/include/asm/barrier.h | 37 -------------------------------------
1 file changed, 37 deletions(-)
delete mode 100644 arch/hexagon/include/asm/barrier.h

diff --git a/arch/hexagon/include/asm/barrier.h b/arch/hexagon/include/asm/barrier.h
deleted file mode 100644
index 4e863daea25b..000000000000
--- a/arch/hexagon/include/asm/barrier.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Memory barrier definitions for the Hexagon architecture
- *
- * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#ifndef _ASM_BARRIER_H
-#define _ASM_BARRIER_H
-
-#define rmb() barrier()
-#define read_barrier_depends() barrier()
-#define wmb() barrier()
-#define mb() barrier()
-#define smp_rmb() barrier()
-#define smp_read_barrier_depends() barrier()
-#define smp_wmb() barrier()
-#define smp_mb() barrier()
-
-/* Set a value and use a memory barrier. Used by the scheduler somewhere. */
-#define set_mb(var, value) \
- do { var = value; mb(); } while (0)
-
-#endif /* _ASM_BARRIER_H */
--
1.8.3.2

2014-04-18 08:10:28

by Vineet Gupta

[permalink] [raw]
Subject: [PATCH 1/2] ARC: Delete stale barrier.h

Commit 93ea02bb8435 "arch: Clean up asm/barrier.h implementations" wired
generic barrier.h for ARC, but failed to delete the existing file.

In 3.15, due to rcupdate.h updates, this causes a build breakage on ARC

--------------->8---------------------
CC arch/arc/kernel/asm-offsets.s
In file included from include/linux/sched.h:45:0,
from arch/arc/kernel/asm-offsets.c:9:
include/linux/rculist.h: In function __list_add_rcu:
include/linux/rculist.h:54:2: error: implicit declaration of function smp_store_release [-Werror=implicit-function-declaration]
rcu_assign_pointer(list_next_rcu(prev), new);
^
--------------->8---------------------

Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Signed-off-by: Vineet Gupta <[email protected]>
---
arch/arc/include/asm/barrier.h | 37 -------------------------------------
1 file changed, 37 deletions(-)
delete mode 100644 arch/arc/include/asm/barrier.h

diff --git a/arch/arc/include/asm/barrier.h b/arch/arc/include/asm/barrier.h
deleted file mode 100644
index c32245c3d1e9..000000000000
--- a/arch/arc/include/asm/barrier.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (http://www.synopsys.com)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#ifndef __ASM_BARRIER_H
-#define __ASM_BARRIER_H
-
-#ifndef __ASSEMBLY__
-
-/* TODO-vineetg: Need to see what this does, don't we need sync anywhere */
-#define mb() __asm__ __volatile__ ("" : : : "memory")
-#define rmb() mb()
-#define wmb() mb()
-#define set_mb(var, value) do { var = value; mb(); } while (0)
-#define set_wmb(var, value) do { var = value; wmb(); } while (0)
-#define read_barrier_depends() mb()
-
-/* TODO-vineetg verify the correctness of macros here */
-#ifdef CONFIG_SMP
-#define smp_mb() mb()
-#define smp_rmb() rmb()
-#define smp_wmb() wmb()
-#else
-#define smp_mb() barrier()
-#define smp_rmb() barrier()
-#define smp_wmb() barrier()
-#endif
-
-#define smp_read_barrier_depends() do { } while (0)
-
-#endif
-
-#endif
--
1.8.3.2