2015-07-15 07:27:37

by Vineet Gupta

[permalink] [raw]
Subject: [GIT PULL] ARC fixes for 4.2-rc3

Hi Linus,

Please pull.

Thx,
-Vineet

----------->
The following changes since commit d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754:

Linux 4.2-rc1 (2015-07-05 11:01:52 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git/
tags/arc-v4.2-rc3-fixes

for you to fetch changes up to 624b71ee20acba269e348eb6bdd516d47b9d30fa:

ARCv2: support HS38 releases (2015-07-13 13:33:23 +0530)

----------------------------------------------------------------
ARC fixes for 4.2-rc3

- Makefile changes (top-level+ARC) reinstates -O3 builds (regression since 3.16)
- IDU intc related fixes, IRQ affinity
- patch to make bitops safer for ARC
- perf fix from Alexey to remove signed PC braino
- Futex backend gets llock/scond support

----------------------------------------------------------------
Alexey Brodkin (3):
ARCv2: guard SLC DMA ops with spinlock
ARCv2: [axs103] bump CPU frequency from 75 to 90 MHZ
ARC: make sure instruction_pointer() returns unsigned value

Joël Porquet (1):
arc:irqchip: prepare for drivers/irqchip/irqchip.h removal

Michal Marek (1):
kbuild: Allow arch Makefiles to override {cpp,ld,c}flags

Vineet Gupta (10):
ARC: Kconfig: better way to disable ARC_HAS_LLSC for ARC_CPU_750D
ARC: Override toplevel default -O2 with -O3
ARC: Don't memzero twice in dma_alloc_coherent for __GFP_ZERO
ARC: fix unused var wanring
ARCv2: intc: IDU: support irq affinity
ARCv2: intc: IDU: Fix potential race in installing a chained IRQ handler
ARC: Make ARC bitops "safer" (add anti-optimization)
ARC: Add llock/scond to futex backend
ARC: slightly refactor macros for boot logging
ARCv2: support HS38 releases

Documentation/kbuild/makefiles.txt | 8 +++++++
Makefile | 9 +++----
arch/arc/Kconfig | 3 ++-
arch/arc/Makefile | 3 ++-
arch/arc/boot/dts/axc003.dtsi | 2 +-
arch/arc/boot/dts/axc003_idu.dtsi | 2 +-
arch/arc/include/asm/bitops.h | 35 +++++++--------------------
arch/arc/include/asm/futex.h | 48 +++++++++++++++++++++++++++++++++-----
arch/arc/include/asm/ptrace.h | 2 +-
arch/arc/kernel/intc-arcv2.c | 1 -
arch/arc/kernel/intc-compact.c | 1 -
arch/arc/kernel/mcip.c | 23 ++++++++++++++----
arch/arc/kernel/setup.c | 15 ++++++++----
arch/arc/kernel/troubleshoot.c | 1 -
arch/arc/mm/cache.c | 12 ++++++++--
arch/arc/mm/dma.c | 4 ++--
16 files changed, 112 insertions(+), 57 deletions(-)


2015-07-15 20:29:09

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] ARC fixes for 4.2-rc3

On Wed, Jul 15, 2015 at 12:27 AM, Vineet Gupta
<[email protected]> wrote:
>
> ARC fixes for 4.2-rc3
>
> - Makefile changes (top-level+ARC) reinstates -O3 builds (regression since 3.16)

So I pulled this, but it worries me a tiny bit.

What happens if the environment has ARCH_CFLAGS set? The build will
start using them. Sure, we've had this before, and maybe the ARCH_
prefix makes it unique enough, but generally I think we've tried to
either

(a) make sure they get initialized in the makefiles (eg the usual
CFLAGS is set to empty by the arch things, so that we don't silently
take them from the environment)
(b) use KBUILD_ as a prefix (or at least K, as in KCFLAGS

so I have this feeling that the makefile should initialize these guys
to be empty before including the architecture makefile.

I don't think this is a big deal, and I suspect we may have other
cases where we do this, but I do not think that the *intention* was
that people could use this as another KCFLAGS replacement...

Comments?

Linus

2015-07-16 16:32:08

by Michal Marek

[permalink] [raw]
Subject: Re: [GIT PULL] ARC fixes for 4.2-rc3

On Wed, Jul 15, 2015 at 01:29:07PM -0700, Linus Torvalds wrote:
> What happens if the environment has ARCH_CFLAGS set? The build will
> start using them. Sure, we've had this before, and maybe the ARCH_
> prefix makes it unique enough, but generally I think we've tried to
> either
>
> (a) make sure they get initialized in the makefiles (eg the usual
> CFLAGS is set to empty by the arch things, so that we don't silently
> take them from the environment)

Good point. I'll add the below patch to my tree.


> I don't think this is a big deal, and I suspect we may have other
> cases where we do this, but I do not think that the *intention* was
> that people could use this as another KCFLAGS replacement...

It was definitely not intended to be set by the user.

Michal

>From f821bf39576444276917bd6737c526d361c69221 Mon Sep 17 00:00:00 2001
From: Michal Marek <[email protected]>
Date: Thu, 16 Jul 2015 18:23:53 +0200
Subject: [PATCH] kbuild: Do not pick up ARCH_{CPP,A,C}FLAGS from the
environment

Initialize the ARCH_* overrides before including the arch Makefile, to
avoid picking up the values from the environment. The variables can
still be overriden on the make command line, but this won't happen
by accident.

Signed-off-by: Michal Marek <[email protected]>
---
Makefile | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/Makefile b/Makefile
index 2f49d89..a99a14d 100644
--- a/Makefile
+++ b/Makefile
@@ -597,6 +597,11 @@ endif # $(dot-config)
# Defaults to vmlinux, but the arch makefile usually adds further targets
all: vmlinux

+# The arch Makefile can set ARCH_{CPP,A,C}FLAGS to override the default
+# values of the respective KBUILD_* variables
+ARCH_CPPFLAGS :=
+ARCH_AFLAGS :=
+ARCH_CFLAGS :=
include arch/$(SRCARCH)/Makefile

KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
--
2.1.4