[PATCH 32/32] powerpc/dma: trim the fat from

2019-02-13 Thread Christoph Hellwig
There is no need to provide anything but get_arch_dma_ops to . More the remaining declarations to and drop all the includes. Signed-off-by: Christoph Hellwig Tested-by: Christian Zigotzky --- arch/powerpc/include/asm/dma-mapping.h| 29 --- arch/powerpc/include/asm/iomm

Re: [PATCH 06/12] dma-mapping: improve selection of dma_declare_coherent availability

2019-02-13 Thread Lee Jones
On Mon, 11 Feb 2019, Christoph Hellwig wrote: > This API is primarily used through DT entries, but two architectures > and two drivers call it directly. So instead of selecting the config > symbol for random architectures pull it in implicitly for the actual > users. Also rename the Kconfig opti

Re: [PATCH 01/12] mfd/sm501: depend on HAS_DMA

2019-02-13 Thread Lee Jones
On Mon, 11 Feb 2019, Christoph Hellwig wrote: > Currently the sm501 mfd driver can be compiled without any dependencies, > but through the use of dma_declare_coherent it really depends on > having DMA and iomem support. Normally we don't explicitly require DMA > support as we have stubs for it if

Re: [PATCH v2 2/2] locking/rwsem: Optimize down_read_trylock()

2019-02-13 Thread Ingo Molnar
* Waiman Long wrote: > I looked at the assembly code in arch/x86/include/asm/rwsem.h. For both > trylocks (read & write), the count is read first before attempting to > lock it. We did the same for all trylock functions in other locks. > Depending on how the trylock is used and how contended th

Re: [PATCH-tip 00/22] locking/rwsem: Rework rwsem-xadd & enable new rwsem features

2019-02-13 Thread Chen Rong
Hi all, Kernel test robot reported a will-it-scale.per_thread_ops -64.1% regression on IVB-desktop for v4.20-rc1. The first bad commit is: 9bc8039e715da3b53dbac89525323a9f2f69b7b5, Yang Shi : mm: brk: downgrade mmap_sem to read when shrinking (https://lists.01.org/pipermail/lkp/2018-November/009

[PATCH v2 2/2] mm: be more verbose about zonelist initialization

2019-02-13 Thread Michal Hocko
From: Michal Hocko We have seen several bugs where zonelists have not been initialized properly and it is not really straightforward to track those bugs down. One way to help a bit at least is to dump zonelists of each node when they are (re)initialized. Signed-off-by: Michal Hocko --- mm/page

[PATCH v3 2/2] mm: be more verbose about zonelist initialization

2019-02-13 Thread Michal Hocko
From: Michal Hocko We have seen several bugs where zonelists have not been initialized properly and it is not really straightforward to track those bugs down. One way to help a bit at least is to dump zonelists of each node when they are (re)initialized. Signed-off-by: Michal Hocko --- Sorry f

Re: [PATCH v3 2/2] mm: be more verbose about zonelist initialization

2019-02-13 Thread Peter Zijlstra
On Wed, Feb 13, 2019 at 10:43:15AM +0100, Michal Hocko wrote: > @@ -5259,6 +5261,11 @@ static void build_zonelists(pg_data_t *pgdat) > > build_zonelists_in_node_order(pgdat, node_order, nr_nodes); > build_thisnode_zonelists(pgdat); > + > + pr_info("node[%d] zonelist: ", pgdat->nod

Kernel panic when loading the IDE controller driver

2019-02-13 Thread sgosavi1
Hi All, I have been working on porting Linux-4.15.13 kernel on our existing MPC8270 processor board. For this exercise, I have used pq2fads as a reference board, its associated device tree and used cuImage for building the kernel. I am facing an issue with the generic IDE flash controller driver i

[PATCH] powerpc/mm/hash: Increase vmalloc space with hash translation mode

2019-02-13 Thread Aneesh Kumar K.V
From: Michael Ellerman This patch updates the kernel none linear virtual map area size to 512TB with 64K page size and hash translation mode. We allocate one context for the vmalloc region and hence the max virtual area size is limited by the context map size (512TB for 64K and 64TB for 4K page s

Re: [PATCH] hugetlb: allow to free gigantic pages regardless of the configuration

2019-02-13 Thread Vlastimil Babka
On 1/17/19 7:39 PM, Alexandre Ghiti wrote: > From: Alexandre Ghiti > > On systems without CMA or (MEMORY_ISOLATION && COMPACTION) activated but > that support gigantic pages, boottime reserved gigantic pages can not be > freed at all. This patchs simply enables the possibility to hand back > thos

Re: Kernel panic when loading the IDE controller driver

2019-02-13 Thread Christophe Leroy
Hi, Le 13/02/2019 à 12:01, sgosavi1 a écrit : Hi All, I have been working on porting Linux-4.15.13 kernel on our existing MPC8270 processor board. For this exercise, I have used pq2fads as a reference board, its associated device tree and used cuImage for building the kernel. What it the last

Re: [PATCH v3 2/2] mm: be more verbose about zonelist initialization

2019-02-13 Thread Michal Hocko
On Wed 13-02-19 11:32:31, Peter Zijlstra wrote: > On Wed, Feb 13, 2019 at 10:43:15AM +0100, Michal Hocko wrote: > > @@ -5259,6 +5261,11 @@ static void build_zonelists(pg_data_t *pgdat) > > > > build_zonelists_in_node_order(pgdat, node_order, nr_nodes); > > build_thisnode_zonelists(pgdat);

Re: [PATCH v2 2/2] powerpc/8xx: Map a second 8M text page at startup when needed.

2019-02-13 Thread Christophe Leroy
Le 21/01/2019 à 12:34, Christophe Leroy a écrit : Some debug setup like CONFIG_KASAN generate huge kernels with text size over the 8M limit. This patch maps a second 8M page when _einittext is over 8M. This is not enough for CONFIG_KASAN_INLINE. I'll send a v3 which maps up to 32M based on

Re: Kernel panic when loading the IDE controller driver

2019-02-13 Thread sgosavi1
> What it the last linux version known to work properly? We have used it successfully in the Linux-2.6.17.6 version. Thanks, Sachin. -- Sent from: http://linuxppc.10917.n7.nabble.com/linuxppc-dev-f3.html

Re: Kernel panic when loading the IDE controller driver

2019-02-13 Thread Christophe Leroy
Le 13/02/2019 à 13:24, sgosavi1 a écrit : What it the last linux version known to work properly? We have used it successfully in the Linux-2.6.17.6 version. Oh, ok, there's a big gap between the two versions. Why using 4.15.13 which is obsolete instead of using one of the Long Term Supp

Re: [PATCH] mmap.2: describe the 5level paging hack

2019-02-13 Thread Will Deacon
Hi Jann, On Mon, Feb 11, 2019 at 05:36:53PM +0100, Jann Horn wrote: > The manpage is missing information about the compatibility hack for > 5-level paging that went in in 4.14, around commit ee00f4a32a76 ("x86/mm: > Allow userspace have mappings above 47-bit"). Add some information about > that. >

Re: Kernel panic when loading the IDE controller driver

2019-02-13 Thread sgosavi1
> Why using 4.15.13 which is obsolete instead of using one of the Long > Term Support versions which are still maintained, like 4.14 or 4.19 ? > (see the complete list at https://www.kernel.org/category/releases.html) Well, when I started this task 4.15.13 was probably the latest stable release

Re: [PATCH v3 2/2] mm: be more verbose about zonelist initialization

2019-02-13 Thread Peter Zijlstra
On Wed, Feb 13, 2019 at 12:50:14PM +0100, Michal Hocko wrote: > On Wed 13-02-19 11:32:31, Peter Zijlstra wrote: > > On Wed, Feb 13, 2019 at 10:43:15AM +0100, Michal Hocko wrote: > > > @@ -5259,6 +5261,11 @@ static void build_zonelists(pg_data_t *pgdat) > > > > > > build_zonelists_in_node_order(

Re: [PATCH v3 2/2] drivers/mtd: Fix device registration error

2019-02-13 Thread Boris Brezillon
Subject prefix should be "mtd: powernv_flash: " On Mon, 11 Feb 2019 19:03:38 +0530 "Aneesh Kumar K.V" wrote: > This change helps me to get multiple mtd device registered. Without this > I get > > sysfs: cannot create duplicate filename '/bus/nvmem/devices/flash0' > CPU: 0 PID: 1 Comm: swapper/0

Re: [PATCH v3 2/2] mm: be more verbose about zonelist initialization

2019-02-13 Thread Michal Hocko
On Wed 13-02-19 14:11:31, Peter Zijlstra wrote: > On Wed, Feb 13, 2019 at 12:50:14PM +0100, Michal Hocko wrote: > > On Wed 13-02-19 11:32:31, Peter Zijlstra wrote: > > > On Wed, Feb 13, 2019 at 10:43:15AM +0100, Michal Hocko wrote: > > > > @@ -5259,6 +5261,11 @@ static void build_zonelists(pg_data_

Re: Kernel panic when loading the IDE controller driver

2019-02-13 Thread Christophe Leroy
Le 13/02/2019 à 13:53, sgosavi1 a écrit : Why using 4.15.13 which is obsolete instead of using one of the Long Term Support versions which are still maintained, like 4.14 or 4.19 ? (see the complete list at https://www.kernel.org/category/releases.html) Well, when I started this task 4.15.13

Re: [PATCH v2 2/2] locking/rwsem: Optimize down_read_trylock()

2019-02-13 Thread Waiman Long
On 02/13/2019 02:45 AM, Ingo Molnar wrote: > * Waiman Long wrote: > >> I looked at the assembly code in arch/x86/include/asm/rwsem.h. For both >> trylocks (read & write), the count is read first before attempting to >> lock it. We did the same for all trylock functions in other locks. >> Depending

[PATCH v3 1/2] powerpc/8xx: replace most #ifdef by IS_ENABLED() in 8xx_mmu.c

2019-02-13 Thread Christophe Leroy
This patch replaces most #ifdef mess by IS_ENABLED() in 8xx_mmu.c This has the advantage of allowing syntax verification at compile time regardless of selected options. Signed-off-by: Christophe Leroy --- v3: no change v2: left CONFIG_BDI_SWITCH change aside as it goes away in another patch

[PATCH v3 2/2] powerpc/8xx: Map 32Mb of RAM at init.

2019-02-13 Thread Christophe Leroy
At the time being, initial MMU setup allows 24 Mbytes of DATA and 8 Mbytes of code. Some debug setup like CONFIG_KASAN generate huge kernels with text size over the 8M limit and data over the 24 Mbytes limit. Here is an 8xx kernel compiled with CONFIG_KASAN_INLINE for one of my boards: [root@po1

Re: [PATCH v3 2/2] mm: be more verbose about zonelist initialization

2019-02-13 Thread Dave Hansen
On 2/13/19 1:43 AM, Michal Hocko wrote: > > We have seen several bugs where zonelists have not been initialized > properly and it is not really straightforward to track those bugs down. > One way to help a bit at least is to dump zonelists of each node when > they are (re)initialized. Were you th

Re: [PATCH v3 2/2] mm: be more verbose about zonelist initialization

2019-02-13 Thread Michal Hocko
On Wed 13-02-19 08:14:50, Dave Hansen wrote: > On 2/13/19 1:43 AM, Michal Hocko wrote: > > > > We have seen several bugs where zonelists have not been initialized > > properly and it is not really straightforward to track those bugs down. > > One way to help a bit at least is to dump zonelists of

[PATCH 02/11] riscv: remove the HAVE_KPROBES option

2019-02-13 Thread Christoph Hellwig
HAVE_KPROBES is defined genericly in arch/Kconfig and architectures should just select it if supported. Signed-off-by: Christoph Hellwig --- arch/riscv/Kconfig | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index 515fc3cc9687..b60f4e3e36f4 100644 --

[PATCH 01/11] powerpc: remove dead ifdefs in

2019-02-13 Thread Christoph Hellwig
__KERNEL__ is never not defined for non-uapi headers, and GENERIC_CSUM isn't ever set for powerpc either. Signed-off-by: Christoph Hellwig --- arch/powerpc/include/asm/checksum.h | 8 +--- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/powerpc/include/asm/checksum.h b/arc

consolidate a few more arch support config options

2019-02-13 Thread Christoph Hellwig
Hi all, this series moves various config options that are defined in multiple arch Kconfig files into common files, usually close to the code supporting such features.

[PATCH 03/11] kernel/locks: consolidate RWSEM_GENERIC_* options

2019-02-13 Thread Christoph Hellwig
Introduce one central definition of RWSEM_XCHGADD_ALGORITHM and RWSEM_GENERIC_SPINLOCK in kernel/Kconfig.locks and let architectures select RWSEM_XCHGADD_ALGORITHM if they want it, otherwise default to the spinlock version. Signed-off-by: Christoph Hellwig --- arch/alpha/Kconfig | 8 +--

[PATCH 04/11] tracing: consolidate the STACKTRACE_SUPPORT symbol

2019-02-13 Thread Christoph Hellwig
Add one definition to kernel/trace/Kconfig and let the architectures select if it supported. Signed-off-by: Christoph Hellwig --- arch/arc/Kconfig| 6 ++ arch/arm/Kconfig| 5 + arch/arm64/Kconfig | 4 +--- arch/hexagon/Kconfig| 5 + arch/ia64/Kconfig |

[PATCH 05/11] tracing: consolidate the TRACE_IRQFLAGS_SUPPORT symbol

2019-02-13 Thread Christoph Hellwig
Add one definition to kernel/trace/Kconfig and let the architectures select if it supported. Signed-off-by: Christoph Hellwig --- arch/arc/Kconfig | 4 +--- arch/arm/Kconfig | 5 + arch/arm64/Kconfig| 4 +--- arch/csky/Kconfig | 4 +--- arch/

[PATCH 06/11] lockdep: consolidate the LOCKDEP_SUPPORT symbol

2019-02-13 Thread Christoph Hellwig
Add one definition to lib/Kconfig.debug and let the architectures select if it supported. Signed-off-by: Christoph Hellwig --- arch/arc/Kconfig| 4 +--- arch/arm/Kconfig| 5 + arch/arm64/Kconfig | 4 +--- arch/hexagon/Kconfig| 4 +--- arch/microblaze/Kconfig | 4 +---

[PATCH 07/11] init: consolidate the GENERIC_CALIBRATE_DELAY symbol

2019-02-13 Thread Christoph Hellwig
Add one definition to init/Kconfig and let the architectures select it if supported. The only complication is xtensa, where it is a user visible option - we introduce a xtensa-specific symbol instead to work around this. Signed-off-by: Christoph Hellwig --- arch/alpha/Kconfig | 5 + ar

[PATCH 08/11] lib: consolidate the GENERIC_BUG symbol

2019-02-13 Thread Christoph Hellwig
And just let the architectures that want it select the symbol. Same for GENERIC_BUG_RELATIVE_POINTERS. Signed-off-by: Christoph Hellwig --- arch/arm/Kconfig | 5 + arch/arm64/Kconfig | 10 ++ arch/c6x/Kconfig | 5 + arch/hexagon/Kconfig | 5 + arch/parisc/Kconfig

[PATCH 09/11] lib: consolidate the GENERIC_CSUM symbol

2019-02-13 Thread Christoph Hellwig
Add one definition to lib/Kconfig and let the architectures select if it supported. Signed-off-by: Christoph Hellwig --- arch/arc/Kconfig| 4 +--- arch/arm64/Kconfig | 4 +--- arch/csky/Kconfig | 4 +--- arch/h8300/Kconfig | 4 +--- arch/hexagon/Kconfig| 4 +--- arch/

[PATCH 10/11] lib: consolidate the GENERIC_HWEIGHT symbol

2019-02-13 Thread Christoph Hellwig
Introduce a new ARCH_HAS_HWEIGHT symbol for alpha and ia64, and just default to the generic version otherwise. Signed-off-by: Christoph Hellwig --- arch/alpha/Kconfig | 5 + arch/arc/Kconfig| 3 --- arch/arm/Kconfig| 4 arch/arm64/Kconfig | 3 --- arch/c6x/Kcon

[PATCH 11/11] s390: don't redefined the HAS_IOMEM symbol

2019-02-13 Thread Christoph Hellwig
Rely on the common defintion instead. Signed-off-by: Christoph Hellwig --- arch/s390/Kconfig | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 9a25e19364f5..0f62e33ffcb2 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -15

Re: [PATCH 03/12] of: mark early_init_dt_alloc_reserved_memory_arch static

2019-02-13 Thread Christoph Hellwig
On Tue, Feb 12, 2019 at 02:24:19PM -0600, Rob Herring wrote: > Looks like this one isn't a dependency, so I can take it if you want. Sure, please go ahead.

Re: [PATCH 01/12] mfd/sm501: depend on HAS_DMA

2019-02-13 Thread Christoph Hellwig
On Wed, Feb 13, 2019 at 07:29:31AM +, Lee Jones wrote: > I would normally have taken this, but I fear it will conflict with > [PATCH 06/12]. For that reason, just take my: > > Acked-by: Lee Jones Yes, I'll need it for the later patches in the series. Thanks for the review.

Re: [PATCH 06/12] dma-mapping: improve selection of dma_declare_coherent availability

2019-02-13 Thread Christoph Hellwig
On Tue, Feb 12, 2019 at 02:40:23PM -0600, Rob Herring wrote: > > diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig > > index 3607fd2810e4..f8c66a9472a4 100644 > > --- a/drivers/of/Kconfig > > +++ b/drivers/of/Kconfig > > @@ -43,6 +43,7 @@ config OF_FLATTREE > > > > config OF_EARLY_FLATTREE > >

Re: [PATCH 06/12] dma-mapping: improve selection of dma_declare_coherent availability

2019-02-13 Thread Rob Herring
On Wed, Feb 13, 2019 at 12:24 PM Christoph Hellwig wrote: > > On Tue, Feb 12, 2019 at 02:40:23PM -0600, Rob Herring wrote: > > > diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig > > > index 3607fd2810e4..f8c66a9472a4 100644 > > > --- a/drivers/of/Kconfig > > > +++ b/drivers/of/Kconfig > > > @@

Re: [PATCH] hugetlb: allow to free gigantic pages regardless of the configuration

2019-02-13 Thread Alex Ghiti
On 2/13/19 6:27 AM, Vlastimil Babka wrote: On 1/17/19 7:39 PM, Alexandre Ghiti wrote: From: Alexandre Ghiti On systems without CMA or (MEMORY_ISOLATION && COMPACTION) activated but that support gigantic pages, boottime reserved gigantic pages can not be freed at all. This patchs simply enabl

[PATCH v2] hugetlb: allow to free gigantic pages regardless of the configuration

2019-02-13 Thread Alexandre Ghiti
On systems without CMA or (MEMORY_ISOLATION && COMPACTION) activated but that support gigantic pages, boottime reserved gigantic pages can not be freed at all. This patch simply enables the possibility to hand back those pages to memory allocator. This patch also renames: - the triplet CMA or (ME

Re: [PATCH v2] hugetlb: allow to free gigantic pages regardless of the configuration

2019-02-13 Thread Dave Hansen
> -#if (defined(CONFIG_MEMORY_ISOLATION) && defined(CONFIG_COMPACTION)) || > defined(CONFIG_CMA) > +#ifdef CONFIG_COMPACTION_CORE > static __init int gigantic_pages_init(void) > { > /* With compaction or CMA we can allocate gigantic pages at runtime */ > diff --git a/fs/Kconfig b/fs/Kconfi

Re: [PATCH-tip 00/22] locking/rwsem: Rework rwsem-xadd & enable new rwsem features

2019-02-13 Thread Linus Torvalds
Ok, those test robot reports are hard to read, but trying to distill it down: On Wed, Feb 13, 2019 at 1:19 AM Chen Rong wrote: > > %stddev %change %stddev > \ |\ > 196250 ± 8% -64.1% 70494will-it-scale.per_thread_ops

Re: [PATCH 1/5] vfio/type1: use pinned_vm instead of locked_vm to account pinned pages

2019-02-13 Thread Alex Williamson
On Tue, 12 Feb 2019 19:26:50 -0500 Daniel Jordan wrote: > On Tue, Feb 12, 2019 at 11:41:10AM -0700, Alex Williamson wrote: > > Daniel Jordan wrote: > > > On Mon, Feb 11, 2019 at 03:56:20PM -0700, Jason Gunthorpe wrote: > > > > I haven't looked at this super closely, but how does this stuff w

[PATCH v3 0/2] locking/rwsem: Remove arch specific rwsem files

2019-02-13 Thread Waiman Long
v3: - Optimize __down_read_trylock() for the uncontended case as suggested by Linus. v2: - Add patch 2 to optimize __down_read_trylock() as suggested by PeterZ. - Update performance test data in patch 1. This is part 0 of my rwsem patchset. It just removes the architecture specific files to

[PATCH v3 1/2] locking/rwsem: Remove arch specific rwsem files

2019-02-13 Thread Waiman Long
As the generic rwsem-xadd code is using the appropriate acquire and release versions of the atomic operations, the arch specific rwsem.h files will not be that much faster than the generic code as long as the atomic functions are properly implemented. So we can remove those arch specific rwsem.h an

[PATCH v3 2/2] locking/rwsem: Optimize down_read_trylock()

2019-02-13 Thread Waiman Long
Modify __down_read_trylock() to optimize for an unlocked rwsem and make it generate slightly better code. Before this patch, down_read_trylock: 0x <+0>: callq 0x5 0x0005 <+5>: jmp0x18 0x0007 <+7>: lea0x1(%rdx),%rcx 0x0

Re: [QUESTION] powerpc, libseccomp, and spu

2019-02-13 Thread Paul Moore
On Tue, Feb 12, 2019 at 9:50 AM Tom Hromatka wrote: > On 2/11/19 11:54 AM, Tom Hromatka wrote: > > PowerPC experts, > > > > Paul Moore and I are working on the v2.4 release of libseccomp, > > and as part of this work I need to update the syscall table for > > each architecture. > > > > I have inco

Re: [PATCH v4 1/2] dt-bindings: soc: fsl: Document Qixis FPGA usage

2019-02-13 Thread Rob Herring
On Tue, Feb 05, 2019 at 10:14:40AM +, Pankaj Bansal wrote: > an FPGA-based system controller, called “Qixis”, which > manages several critical system features, including: > • Reset sequencing > • Power supply configuration > • Board configuration > • hardware configuration > > The qixis regist

[PATCH v4 0/3] locking/rwsem: Rwsem rearchitecture part 0

2019-02-13 Thread Waiman Long
v4: - Remove rwsem-spinlock.c and make all archs use rwsem-xadd.c. v3: - Optimize __down_read_trylock() for the uncontended case as suggested by Linus. v2: - Add patch 2 to optimize __down_read_trylock() as suggested by PeterZ. - Update performance test data in patch 1. The goal of this p

[PATCH v4 1/3] locking/rwsem: Remove arch specific rwsem files

2019-02-13 Thread Waiman Long
As the generic rwsem-xadd code is using the appropriate acquire and release versions of the atomic operations, the arch specific rwsem.h files will not be that much faster than the generic code as long as the atomic functions are properly implemented. So we can remove those arch specific rwsem.h an

[PATCH v4 2/3] locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs

2019-02-13 Thread Waiman Long
Currently, we have two different implementation of rwsem: 1) CONFIG_RWSEM_GENERIC_SPINLOCK (rwsem-spinlock.c) 2) CONFIG_RWSEM_XCHGADD_ALGORITHM (rwsem-xadd.c) As we are going to use a single generic implementation for rwsem-xadd.c and no architecture-specific code will be needed, there is no poi

[PATCH v4 3/3] locking/rwsem: Optimize down_read_trylock()

2019-02-13 Thread Waiman Long
Modify __down_read_trylock() to optimize for an unlocked rwsem and make it generate slightly better code. Before this patch, down_read_trylock: 0x <+0>: callq 0x5 0x0005 <+5>: jmp0x18 0x0007 <+7>: lea0x1(%rdx),%rcx 0x0

Re: [PATCH 1/5] vfio/type1: use pinned_vm instead of locked_vm to account pinned pages

2019-02-13 Thread Jason Gunthorpe
On Wed, Feb 13, 2019 at 01:03:30PM -0700, Alex Williamson wrote: > > PeterZ posted an RFC that addresses this point[1]. It kept pinned_vm and > > locked_vm accounting separate, but allowed the two to be added safely to be > > compared against RLIMIT_MEMLOCK. > > Unless I'm incorrect in the concer

[PATCH V2 2/7] mm/gup: Change write parameter to flags in fast walk

2019-02-13 Thread ira . weiny
From: Ira Weiny In order to support more options in the GUP fast walk, change the write parameter to flags throughout the call stack. This patch does not change functionality and passes FOLL_WRITE where write was previously used. Signed-off-by: Ira Weiny --- mm/gup.c | 52

[PATCH V2 0/7] Add FOLL_LONGTERM to GUP fast and use it

2019-02-13 Thread ira . weiny
From: Ira Weiny NOTE: This series depends on my clean up patch to remove the write parameter from gup_fast_permitted()[1] HFI1, qib, and mthca, use get_user_pages_fast() due to it performance advantages. These pages can be held for a significant time. But get_user_pages_fast() does not protect

[PATCH V2 1/7] mm/gup: Replace get_user_pages_longterm() with FOLL_LONGTERM

2019-02-13 Thread ira . weiny
From: Ira Weiny Rather than have a separate get_user_pages_longterm() call, introduce FOLL_LONGTERM and change the longterm callers to use it. This patch does not change any functionality. FOLL_LONGTERM can only be supported with get_user_pages() as it requires vmas to determine if DAX is in us

[PATCH V2 3/7] mm/gup: Change GUP fast to use flags rather than a write 'bool'

2019-02-13 Thread ira . weiny
From: Ira Weiny To facilitate additional options to get_user_pages_fast() change the singular write parameter to be gup_flags. This patch does not change any functionality. New functionality will follow in subsequent patches. Some of the get_user_pages_fast() call sites were unchanged because

[PATCH V2 4/7] mm/gup: Add FOLL_LONGTERM capability to GUP fast

2019-02-13 Thread ira . weiny
From: Ira Weiny DAX pages were previously unprotected from longterm pins when users called get_user_pages_fast(). Use the new FOLL_LONGTERM flag to check for DEVMAP pages and fall back to regular GUP processing if a DEVMAP page is encountered. Signed-off-by: Ira Weiny --- mm/gup.c | 24 ++

[PATCH V2 5/7] IB/hfi1: Use the new FOLL_LONGTERM flag to get_user_pages_fast()

2019-02-13 Thread ira . weiny
From: Ira Weiny Use the new FOLL_LONGTERM to get_user_pages_fast() to protect against FS DAX pages being mapped. Signed-off-by: Ira Weiny --- drivers/infiniband/hw/hfi1/user_pages.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/hfi1/user_pages.

[PATCH V2 6/7] IB/qib: Use the new FOLL_LONGTERM flag to get_user_pages_fast()

2019-02-13 Thread ira . weiny
From: Ira Weiny Use the new FOLL_LONGTERM to get_user_pages_fast() to protect against FS DAX pages being mapped. Signed-off-by: Ira Weiny --- drivers/infiniband/hw/qib/qib_user_sdma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/qib/qib_user_sdma.c

[PATCH V2 7/7] IB/mthca: Use the new FOLL_LONGTERM flag to get_user_pages_fast()

2019-02-13 Thread ira . weiny
From: Ira Weiny Use the new FOLL_LONGTERM to get_user_pages_fast() to protect against FS DAX pages being mapped. Signed-off-by: Ira Weiny --- drivers/infiniband/hw/mthca/mthca_memfree.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/mthca/mthca_memf

Re: [PATCH V2 3/7] mm/gup: Change GUP fast to use flags rather than a write 'bool'

2019-02-13 Thread Jason Gunthorpe
On Wed, Feb 13, 2019 at 03:04:51PM -0800, ira.we...@intel.com wrote: > From: Ira Weiny > > To facilitate additional options to get_user_pages_fast() change the > singular write parameter to be gup_flags. So now we have: long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages,

Re: [PATCH V2 3/7] mm/gup: Change GUP fast to use flags rather than a write 'bool'

2019-02-13 Thread Ira Weiny
On Wed, Feb 13, 2019 at 04:11:10PM -0700, Jason Gunthorpe wrote: > On Wed, Feb 13, 2019 at 03:04:51PM -0800, ira.we...@intel.com wrote: > > From: Ira Weiny > > > > To facilitate additional options to get_user_pages_fast() change the > > singular write parameter to be gup_flags. > > So now we hav

Re: [PATCH 1/5] vfio/type1: use pinned_vm instead of locked_vm to account pinned pages

2019-02-13 Thread Daniel Jordan
On Wed, Feb 13, 2019 at 01:03:30PM -0700, Alex Williamson wrote: > Daniel Jordan wrote: > > On Tue, Feb 12, 2019 at 11:41:10AM -0700, Alex Williamson wrote: > > > This still makes me nervous because we have userspace dependencies on > > > setting process locked memory. > > > > Could you please

Re: [PATCH 0/5] use pinned_vm instead of locked_vm to account pinned pages

2019-02-13 Thread Ira Weiny
On Mon, Feb 11, 2019 at 03:54:47PM -0700, Jason Gunthorpe wrote: > On Mon, Feb 11, 2019 at 05:44:32PM -0500, Daniel Jordan wrote: > > > All five of these places, and probably some of Davidlohr's conversions, > > probably want to be collapsed into a common helper in the core mm for > > accounting p

Re: [PATCH v3 2/2] drivers/mtd: Fix device registration error

2019-02-13 Thread Aneesh Kumar K.V
On 2/13/19 6:58 PM, Boris Brezillon wrote: Subject prefix should be "mtd: powernv_flash: " On Mon, 11 Feb 2019 19:03:38 +0530 "Aneesh Kumar K.V" wrote: This change helps me to get multiple mtd device registered. Without this I get sysfs: cannot create duplicate filename '/bus/nvmem/devices/f

[PATCH 1/1] powerpc/64: Adjust order in pcibios_init()

2019-02-13 Thread Sam Bobroff
The pcibios_init() function for 64 bit PowerPC currently calls pci_bus_add_devices() before pcibios_resource_survey(), which seems incorrect because it adds devices and attempts to bind their drivers before allocating their resources (although no problems seem to be apparent). So move the call to

Re: [PATCH 0/5] use pinned_vm instead of locked_vm to account pinned pages

2019-02-13 Thread Jason Gunthorpe
On Wed, Feb 13, 2019 at 05:53:14PM -0800, Ira Weiny wrote: > On Mon, Feb 11, 2019 at 03:54:47PM -0700, Jason Gunthorpe wrote: > > On Mon, Feb 11, 2019 at 05:44:32PM -0500, Daniel Jordan wrote: > > > > > All five of these places, and probably some of Davidlohr's conversions, > > > probably want to

[PATCH] powerpc/64s: Fix possible corruption on big endian due to pgd/pud_present()

2019-02-13 Thread Michael Ellerman
In v4.20 we changed our pgd/pud_present() to check for _PAGE_PRESENT rather than just checking that the value is non-zero, e.g.: static inline int pgd_present(pgd_t pgd) { - return !pgd_none(pgd); + return (pgd_raw(pgd) & cpu_to_be64(_PAGE_PRESENT)); } Unfortunately this is br

[PATCH] powerpc/book3s: Remove a few page table update interfaces.

2019-02-13 Thread Aneesh Kumar K.V
When updating page tables, we need to make sure we fill the page table entry valid bit. We should be using page table populate interface for updating the table entries. The page table 'set' interface allows updating the raw value of page table entry. This can result in updating the entry wrongly. R