[PATCH v2] xmon: Use __printf markup to silence compiler

2018-03-25 Thread Mathieu Malaterre
Update the other prototype declarations in asm/xmon.h. Silence warnings (triggered at W=1) by adding relevant __printf attribute. Move #define at bottom of the file to prevent conflict with gcc attribute. Solve the original warning: arch/powerpc/xmon/nonstdio.c:178:2: error: function might be

Re: [PATCH 01/16] initrd: Add generic code path for common initrd unloading logic.

2018-03-25 Thread LEROY Christophe
Shea Levy a écrit : Signed-off-by: Shea Levy --- init/initramfs.c | 7 +++ usr/Kconfig | 4 2 files changed, 11 insertions(+) diff --git a/init/initramfs.c b/init/initramfs.c index 7e99a0038942..de5ce873eb5a 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -526,6 +526,13

[PATCH 0/2] smp: don't kick CPUs running idle or nohz_full tasks

2018-03-25 Thread Yury Norov
kick_all_cpus_sync() is used to broadcast IPIs to all online CPUs to force them sync caches, TLB etc. It is is called only 3 times - from mm/slab, arm64 and powerpc code. With framework introduced in patch b8c17e6664c46 ("rcu: Maintain special bits at bottom of ->dynticks counter") we can delay sy

[PATCH 1/2] rcu: declare rcu_eqs_special_set() in public header

2018-03-25 Thread Yury Norov
rcu_eqs_special_set() is declared only in internal header kernel/rcu/tree.h and stubbed in include/linux/rcutiny.h. This patch declares rcu_eqs_special_set() in include/linux/rcutree.h, so it can be used in non-rcu kernel code. Signed-off-by: Yury Norov --- include/linux/rcutree.h | 1 + 1 file

[PATCH 2/2] smp: introduce kick_active_cpus_sync()

2018-03-25 Thread Yury Norov
kick_all_cpus_sync() forces all CPUs to sync caches by sending broadcast IPI. If CPU is in extended quiescent state (idle task or nohz_full userspace), this work may be done at the exit of this state. Delaying synchronization helps to save power if CPU is in idle state and decrease latency for real

Re: [PATCH 1/2] rcu: declare rcu_eqs_special_set() in public header

2018-03-25 Thread Paul E. McKenney
On Sun, Mar 25, 2018 at 08:50:03PM +0300, Yury Norov wrote: > rcu_eqs_special_set() is declared only in internal header > kernel/rcu/tree.h and stubbed in include/linux/rcutiny.h. > > This patch declares rcu_eqs_special_set() in include/linux/rcutree.h, so > it can be used in non-rcu kernel code.

Re: [PATCH 1/2] rcu: declare rcu_eqs_special_set() in public header

2018-03-25 Thread Yury Norov
On Sun, Mar 25, 2018 at 12:12:43PM -0700, Paul E. McKenney wrote: > On Sun, Mar 25, 2018 at 08:50:03PM +0300, Yury Norov wrote: > > rcu_eqs_special_set() is declared only in internal header > > kernel/rcu/tree.h and stubbed in include/linux/rcutiny.h. > > > > This patch declares rcu_eqs_special_se

Re: [PATCH 2/2] smp: introduce kick_active_cpus_sync()

2018-03-25 Thread Paul E. McKenney
On Sun, Mar 25, 2018 at 08:50:04PM +0300, Yury Norov wrote: > kick_all_cpus_sync() forces all CPUs to sync caches by sending broadcast IPI. > If CPU is in extended quiescent state (idle task or nohz_full userspace), this > work may be done at the exit of this state. Delaying synchronization helps t

Re: [PATCH 2/2] smp: introduce kick_active_cpus_sync()

2018-03-25 Thread Yury Norov
On Sun, Mar 25, 2018 at 12:23:28PM -0700, Paul E. McKenney wrote: > On Sun, Mar 25, 2018 at 08:50:04PM +0300, Yury Norov wrote: > > kick_all_cpus_sync() forces all CPUs to sync caches by sending broadcast > > IPI. > > If CPU is in extended quiescent state (idle task or nohz_full userspace), > > t

Re: powerpc/64s: Fix i-side SLB miss bad address handler saving nonvolatile GPRs

2018-03-25 Thread Michael Ellerman
On Fri, 2018-03-23 at 05:53:38 UTC, Nicholas Piggin wrote: > The SLB bad address handler's trap number fixup does not preserve the > low bit that indicates nonvolatile GPRs have not been saved. This > leads save_nvgprs to skip saving them, and subsequent functions and > return from interrupt will t

Re: PCI set flag PCI_SCAN_ALL_PCIE_DEVS for P.A. Semi boards

2018-03-25 Thread Darren Stevens
Hello Michael On 20/03/2018, Michael Ellerman wrote: >> The patch looks fine, but I need a signed-off-by line before I can apply >> it. See >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst > > I'm happy to take it, I've been

Re: [PATCH v9 01/24] mm: Introduce CONFIG_SPECULATIVE_PAGE_FAULT

2018-03-25 Thread David Rientjes
On Tue, 13 Mar 2018, Laurent Dufour wrote: > This configuration variable will be used to build the code needed to > handle speculative page fault. > > By default it is turned off, and activated depending on architecture > support. > > Suggested-by: Thomas Gleixner > Signed-off-by: Laurent Dufou

Re: [PATCH v9 04/24] mm: Prepare for FAULT_FLAG_SPECULATIVE

2018-03-25 Thread David Rientjes
On Tue, 13 Mar 2018, Laurent Dufour wrote: > From: Peter Zijlstra > > When speculating faults (without holding mmap_sem) we need to validate > that the vma against which we loaded pages is still valid when we're > ready to install the new PTE. > > Therefore, replace the pte_offset_map_lock() ca

Re: [PATCH v9 05/24] mm: Introduce pte_spinlock for FAULT_FLAG_SPECULATIVE

2018-03-25 Thread David Rientjes
On Tue, 13 Mar 2018, Laurent Dufour wrote: > When handling page fault without holding the mmap_sem the fetch of the > pte lock pointer and the locking will have to be done while ensuring > that the VMA is not touched in our back. > > So move the fetch and locking operations in a dedicated functio

Re: [mm] b1f0502d04: INFO:trying_to_register_non-static_key

2018-03-25 Thread David Rientjes
On Wed, 21 Mar 2018, Laurent Dufour wrote: > I found the root cause of this lockdep warning. > > In mmap_region(), unmap_region() may be called while vma_link() has not been > called. This happens during the error path if call_mmap() failed. > > The only to fix that particular case is to call >

[PATCH v2 00/16] Generic infrastructure for unloading initramfs

2018-03-25 Thread Shea Levy
This patch series extracts out code for unloading the initramfs that was identical across 14 architectures, and moves those architectures to the common code path. Additionally, RISC-V is newly moved to the common code path. In addition to reducing duplication, this allows us to bring future improv

[PATCH v2 01/16] initrd: Add generic code path for common initrd unloading logic.

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- init/initramfs.c | 7 +++ usr/Kconfig | 4 2 files changed, 11 insertions(+) diff --git a/init/initramfs.c b/init/initramfs.c index 7e99a0038942..5f2e3dba4822 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -526,6 +526,13 @@ extern unsigned long

[PATCH v2 02/16] riscv: Use INITRAMFS_GENERIC_UNLOAD.

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/riscv/Kconfig | 1 + arch/riscv/mm/init.c | 6 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index c22ebe08e902..ab1b4cee84fc 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -37,6 +37,7

[PATCH v2 03/16] alpha: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/alpha/Kconfig | 1 + arch/alpha/mm/init.c | 8 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index e96adcbcab41..238d743ae8f2 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig @@ -27,6 +27,

[PATCH v2 04/16] arc: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/arc/Kconfig | 1 + arch/arc/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index d76bf4a83740..2844ce5b910c 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -44,6 +44,7 @@ config A

[PATCH v2 05/16] c6x: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/c6x/Kconfig | 1 + arch/c6x/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig index c6b4dd1418b4..857f95f9a6a4 100644 --- a/arch/c6x/Kconfig +++ b/arch/c6x/Kconfig @@ -19,6 +19,7 @@ config C

[PATCH v2 06/16] frv: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/frv/Kconfig | 1 + arch/frv/mm/init.c | 11 --- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index af369b05fed5..5c104b800cb1 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig @@ -17,6 +17,7 @@ c

[PATCH v2 07/16] h8300: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/h8300/Kconfig | 1 + arch/h8300/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 091d6d04b5e5..58c9b6b1df16 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig @@ -24,6 +24,7

[PATCH v2 08/16] m32r: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/m32r/Kconfig | 1 + arch/m32r/mm/init.c | 11 --- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index dd84ee194579..010a2b999181 100644 --- a/arch/m32r/Kconfig +++ b/arch/m32r/Kconfig @@ -21,6 +21,

[PATCH v2 09/16] m68k: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/m68k/Kconfig | 1 + arch/m68k/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 785612b576f7..47913a68529e 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -24,6 +24,7 @@ co

[PATCH v2 10/16] microblaze: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/microblaze/Kconfig | 1 + arch/microblaze/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 3817a3e2146c..ef23e8410b4b 100644 --- a/arch/microblaze/Kconfig +++ b/arch/mic

[PATCH v2 11/16] nios2: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/nios2/Kconfig | 1 + arch/nios2/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig index 3d4ec88f1db1..d3b72d5c8967 100644 --- a/arch/nios2/Kconfig +++ b/arch/nios2/Kconfig @@ -19,6 +19,7

[PATCH v2 12/16] openrisc: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/openrisc/Kconfig | 1 + arch/openrisc/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index dfb6a79ba7ff..0f8d2132baa5 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kcon

[PATCH v2 13/16] parisc: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/parisc/Kconfig | 1 + arch/parisc/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 9792d8cf4f56..7410c2094987 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -51,6

[PATCH v2 14/16] powerpc: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/powerpc/Kconfig | 1 + arch/powerpc/mm/mem.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 73ce5dd07642..8cf384068e79 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -

[PATCH v2 15/16] sh: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/sh/Kconfig | 1 + arch/sh/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 97fe29316476..b6f80dad2152 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -50,6 +50,7 @@ config SUPERH

[PATCH v2 16/16] um: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/um/Kconfig.common | 1 + arch/um/kernel/mem.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/um/Kconfig.common b/arch/um/Kconfig.common index c68add8df3ae..1cb8a023938b 100644 --- a/arch/um/Kconfig.common +++ b/arch/um/Kconfig.c

Re: [PATCH 01/16] initrd: Add generic code path for common initrd unloading logic.

2018-03-25 Thread Shea Levy
Hi Christophe, LEROY Christophe writes: > Shea Levy a écrit : > >> Signed-off-by: Shea Levy >> --- >> init/initramfs.c | 7 +++ >> usr/Kconfig | 4 >> 2 files changed, 11 insertions(+) >> >> diff --git a/init/initramfs.c b/init/initramfs.c >> index 7e99a0038942..de5ce873eb5a 100

Re: [PATCH 1/6] libnvdimm: Add of_node to region and bus descriptors

2018-03-25 Thread Balbir Singh
On Fri, 23 Mar 2018 19:12:04 +1100 Oliver O'Halloran wrote: > We want to be able to cross reference the region and bus devices > with the device tree node that they were spawned from. libNVDIMM > handles creating the actual devices for these internally, so we > need to pass in a pointer to the re

Re: [PATCH 2/6] libnvdimm: Add nd_region_destroy()

2018-03-25 Thread Balbir Singh
On Fri, 23 Mar 2018 19:12:05 +1100 Oliver O'Halloran wrote: > Currently there's no way to remove a region from and nvdimm_bus without > tearing down the whole bus. This patch adds an API for removing a single > region from the bus so that we can implement a sensible unbind operation > for the of_

Re: DMA Mapping Error in ppc64

2018-03-25 Thread Oliver
On Fri, Mar 23, 2018 at 11:41 PM, Jared Bents wrote: > Thank you for the advice. Looks like I get to try to rewrite the ath9k and > ath10k drivers to use dma_alloc_coherent() instead of kmemdup() and > dev_alloc_skb() I don't think you need to go that far. It looks like you might be able to fix

Re: [PATCH] powerpc/eeh: Fix race with driver un/bind

2018-03-25 Thread Russell Currey
On Fri, 2018-03-23 at 17:33 +1100, Benjamin Herrenschmidt wrote: > On Fri, 2018-03-23 at 16:44 +1100, Michael Neuling wrote: > > .../... > > > This fixes the problem in the same way the generic PCIe AER code > > (in > > drivers/pci/pcie/aer/aerdrv_core.c) does. It makes the EEH code > > hold > >

[RFC] new SYSCALL_DEFINE/COMPAT_SYSCALL_DEFINE wrappers

2018-03-25 Thread Al Viro
On Thu, Mar 22, 2018 at 12:15:32AM +, Al Viro wrote: > FWIW, I have something that is almost reasonable on preprocessor side; > however, that has uncovered the following fun: [snip] According to gcc folks, the right way to do it is type-punning via union. Anyway, below is something that kind

Re: [PATCH v2 02/16] riscv: Use INITRAMFS_GENERIC_UNLOAD.

2018-03-25 Thread Shea Levy
Hi Palmer, Palmer Dabbelt writes: > On Sun, 25 Mar 2018 15:18:39 PDT (-0700), s...@shealevy.com wrote: >> Signed-off-by: Shea Levy >> --- >> arch/riscv/Kconfig | 1 + >> arch/riscv/mm/init.c | 6 -- >> 2 files changed, 1 insertion(+), 6 deletions(-) >> >> diff --git a/arch/riscv/Kconfig

Re: [PATCH 3/6] libnvdimm: Add device-tree based driver

2018-03-25 Thread Oliver
On Sat, Mar 24, 2018 at 4:07 AM, Dan Williams wrote: > On Fri, Mar 23, 2018 at 1:12 AM, Oliver O'Halloran wrote: >> This patch adds peliminary device-tree bindings for the NVDIMM driver. > > *preliminary > >> Currently this only supports one bus (created at probe time) which all >> regions are ad

Re: [PATCH net-next] ibmvnic: Potential NULL dereference in clean_one_tx_pool()

2018-03-25 Thread David Miller
From: Dan Carpenter Date: Fri, 23 Mar 2018 14:36:15 +0300 > There is an && vs || typo here, which potentially leads to a NULL > dereference. > > Fixes: e9e1e97884b7 ("ibmvnic: Update TX pool cleaning routine") > Signed-off-by: Dan Carpenter Applied, thanks Dan.

Re: [PATCH v2 02/16] riscv: Use INITRAMFS_GENERIC_UNLOAD.

2018-03-25 Thread Palmer Dabbelt
On Sun, 25 Mar 2018 15:18:39 PDT (-0700), s...@shealevy.com wrote: Signed-off-by: Shea Levy --- arch/riscv/Kconfig | 1 + arch/riscv/mm/init.c | 6 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index c22ebe08e902..ab1b4cee84fc 100

Re: [PATCH] powerpc/eeh: Fix race with driver un/bind

2018-03-25 Thread Michael Neuling
On Fri, 2018-03-23 at 17:33 +1100, Benjamin Herrenschmidt wrote: > On Fri, 2018-03-23 at 16:44 +1100, Michael Neuling wrote: > > .../... > > > This fixes the problem in the same way the generic PCIe AER code (in > > drivers/pci/pcie/aer/aerdrv_core.c) does. It makes the EEH code hold > > the dev

Re: [RFC] new SYSCALL_DEFINE/COMPAT_SYSCALL_DEFINE wrappers

2018-03-25 Thread Al Viro
On Mon, Mar 26, 2018 at 01:40:17AM +0100, Al Viro wrote: > Kinda-sorta part: > * asmlinkage_protect is taken out for now, so m68k has problems. > * syscalls that run out of 6 slots barf violently. For mips it's > wrong (there we have 8 slots); for stuff like arm and ppc it's right, bu

Re: [PATCH 3/6] libnvdimm: Add device-tree based driver

2018-03-25 Thread Balbir Singh
On Fri, 23 Mar 2018 19:12:06 +1100 Oliver O'Halloran wrote: > This patch adds peliminary device-tree bindings for the NVDIMM driver. > Currently this only supports one bus (created at probe time) which all > regions are added to with individual regions being created by a platform > device driver.

[PATCH v2] powerpc/eeh: Fix race with driver un/bind

2018-03-25 Thread Michael Neuling
The current EEH callbacks can race with a driver unbind. This can result in a backtraces like this: [7.573055] EEH: Frozen PHB#0-PE#1fc detected [7.573063] EEH: PE location: S09, PHB location: N/A [7.573069] CPU: 2 PID: 2312 Comm: kworker/u258:3 Not tainted 4.15.6-openpower1 #2 [

Re: [RFC] new SYSCALL_DEFINE/COMPAT_SYSCALL_DEFINE wrappers

2018-03-25 Thread Linus Torvalds
On Sun, Mar 25, 2018 at 5:47 PM, Al Viro wrote: > > Linus, Dominik - how do you plan dealing with that fun? Secretly, I was hoping to kill x32, because it's not being used afaik. More realistically, I was thinking we'd just use a separate table or system calls, and generate different versions.

Re: [RFC] new SYSCALL_DEFINE/COMPAT_SYSCALL_DEFINE wrappers

2018-03-25 Thread Linus Torvalds
On Sun, Mar 25, 2018 at 8:15 PM, Linus Torvalds wrote: > > HOWEVER. > > I didn't actually test any of the compat or x32 ones, and the way I > did it there also was no type-checking or other automated catching of > getting it wrong. So it's almost certainly completely buggy, but the > _intent_ is t

Re: [RFC] new SYSCALL_DEFINE/COMPAT_SYSCALL_DEFINE wrappers

2018-03-25 Thread Dominik Brodowski
On Mon, Mar 26, 2018 at 04:47:50AM +0100, Al Viro wrote: > * mips n32 and x86 x32 can become an extra source of headache. > That actually applies to any plans of passing struct pt_regs *. As it > is, e.g. syscall 515 on amd64 is compat_sys_readv(). Dispatched via > this: > /* >

Re: [PATCH v2] powerpc/eeh: Fix race with driver un/bind

2018-03-25 Thread Benjamin Herrenschmidt
On Mon, 2018-03-26 at 15:17 +1100, Michael Neuling wrote: > The current EEH callbacks can race with a driver unbind. This > can result in a backtraces like this: > > [7.573055] EEH: Frozen PHB#0-PE#1fc detected > [7.573063] EEH: PE location: S09, PHB location: N/A > [7.573069] CPU:

Re: [RFC] new SYSCALL_DEFINE/COMPAT_SYSCALL_DEFINE wrappers

2018-03-25 Thread John Paul Adrian Glaubitz
Hi Linus! On 03/26/2018 03:15 PM, Linus Torvalds wrote: > Secretly, I was hoping to kill x32, because it's not being used afaik. FWIW, we are maintaining an x32 port in Debian and there are some people actually using it [1]. There is one build instance running on VMWare that I am hosting [2] and a