Re: [GIT PULL] Please pull powerpc/linux.git powerpc-4.12-1 tag

2017-05-05 Thread Michael Ellerman
Linus Torvalds  writes:
> On Fri, May 5, 2017 at 6:20 AM, Michael Ellerman  wrote:
>>
>> Also due to a screw-up on my part, we need a hunk added when you merge
>> the powerpc tree with the KVM tree:
>>
>> diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
>> index 7807ee17af4b..ffe1da95033a 100644
>> --- a/arch/powerpc/kvm/book3s_xive.c
>> +++ b/arch/powerpc/kvm/book3s_xive.c
>> @@ -24,6 +24,7 @@
>>  #include 
>>  #include 
>>  #include 
>> +#include 
>>  #include 
>>  #include 
>>
>> I haven't seen a pull request from Paolo yet, so possibly you'll need
>> to add that later when you merge the KVM tree.
>
> Ok. I won't catch this in my allmodconfig build due to the
> ppc-specific nature of it, so I'll probably forget about this and not
> catch it.

Yeah fair enough.

> Paolo, Radim, can you try to remind me about this conflict when you
> send the KVM pull request?

I Cc'ed Paolo, and will try and keep an eye out for the KVM pull request
in case he forgets to mention it.

> Also:
>
>>   - Larger virtual address space on 64-bit server CPUs. By default we
>> use a 128TB virtual address space, but a process can request access
>> to the full 512TB by passing a hint to mmap().
>
> I'm assuming/hoping this uses the same logic as the upcoming 47+ bit
> 5-level page table x86 support? Sounds like it, but I didn't check the
> code.
>
> See "x86/mm: Allow to have userspace mappings above 47-bits" which
> hasn't been merged yet, but has been discussed on linux-mm, for
> example.

Yep. We were tracking that discussion, and made changes to make our
semantics match x86.

If anything changes on the x86 side before it merges we can update our
code to match, hopefully prior to 4.12 releasing.

There's also a selftest for the mmap behaviour, written by one of our
guys, which is coming via mm I think, so that should help make sure the
semantics match.

cheers


Re: [GIT PULL] Please pull powerpc/linux.git powerpc-4.12-1 tag

2017-05-05 Thread Michael Ellerman
Linus Torvalds  writes:
> On Fri, May 5, 2017 at 6:20 AM, Michael Ellerman  wrote:
>>
>> Also due to a screw-up on my part, we need a hunk added when you merge
>> the powerpc tree with the KVM tree:
>>
>> diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
>> index 7807ee17af4b..ffe1da95033a 100644
>> --- a/arch/powerpc/kvm/book3s_xive.c
>> +++ b/arch/powerpc/kvm/book3s_xive.c
>> @@ -24,6 +24,7 @@
>>  #include 
>>  #include 
>>  #include 
>> +#include 
>>  #include 
>>  #include 
>>
>> I haven't seen a pull request from Paolo yet, so possibly you'll need
>> to add that later when you merge the KVM tree.
>
> Ok. I won't catch this in my allmodconfig build due to the
> ppc-specific nature of it, so I'll probably forget about this and not
> catch it.

Yeah fair enough.

> Paolo, Radim, can you try to remind me about this conflict when you
> send the KVM pull request?

I Cc'ed Paolo, and will try and keep an eye out for the KVM pull request
in case he forgets to mention it.

> Also:
>
>>   - Larger virtual address space on 64-bit server CPUs. By default we
>> use a 128TB virtual address space, but a process can request access
>> to the full 512TB by passing a hint to mmap().
>
> I'm assuming/hoping this uses the same logic as the upcoming 47+ bit
> 5-level page table x86 support? Sounds like it, but I didn't check the
> code.
>
> See "x86/mm: Allow to have userspace mappings above 47-bits" which
> hasn't been merged yet, but has been discussed on linux-mm, for
> example.

Yep. We were tracking that discussion, and made changes to make our
semantics match x86.

If anything changes on the x86 side before it merges we can update our
code to match, hopefully prior to 4.12 releasing.

There's also a selftest for the mmap behaviour, written by one of our
guys, which is coming via mm I think, so that should help make sure the
semantics match.

cheers


Re: [GIT PULL] Please pull powerpc/linux.git powerpc-4.12-1 tag

2017-05-05 Thread Linus Torvalds
On Fri, May 5, 2017 at 6:20 AM, Michael Ellerman  wrote:
>
> Also due to a screw-up on my part, we need a hunk added when you merge
> the powerpc tree with the KVM tree:
>
> diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
> index 7807ee17af4b..ffe1da95033a 100644
> --- a/arch/powerpc/kvm/book3s_xive.c
> +++ b/arch/powerpc/kvm/book3s_xive.c
> @@ -24,6 +24,7 @@
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
>  #include 
>
> I haven't seen a pull request from Paolo yet, so possibly you'll need
> to add that later when you merge the KVM tree.

Ok. I won't catch this in my allmodconfig build due to the
ppc-specific nature of it, so I'll probably forget about this and not
catch it.

Paolo, Radim, can you try to remind me about this conflict when you
send the KVM pull request?

Also:

>   - Larger virtual address space on 64-bit server CPUs. By default we
> use a 128TB virtual address space, but a process can request access
> to the full 512TB by passing a hint to mmap().

I'm assuming/hoping this uses the same logic as the upcoming 47+ bit
5-level page table x86 support? Sounds like it, but I didn't check the
code.

See "x86/mm: Allow to have userspace mappings above 47-bits" which
hasn't been merged yet, but has been discussed on linux-mm, for
example.

Thanks,

Linus


Re: [GIT PULL] Please pull powerpc/linux.git powerpc-4.12-1 tag

2017-05-05 Thread Linus Torvalds
On Fri, May 5, 2017 at 6:20 AM, Michael Ellerman  wrote:
>
> Also due to a screw-up on my part, we need a hunk added when you merge
> the powerpc tree with the KVM tree:
>
> diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
> index 7807ee17af4b..ffe1da95033a 100644
> --- a/arch/powerpc/kvm/book3s_xive.c
> +++ b/arch/powerpc/kvm/book3s_xive.c
> @@ -24,6 +24,7 @@
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
>  #include 
>
> I haven't seen a pull request from Paolo yet, so possibly you'll need
> to add that later when you merge the KVM tree.

Ok. I won't catch this in my allmodconfig build due to the
ppc-specific nature of it, so I'll probably forget about this and not
catch it.

Paolo, Radim, can you try to remind me about this conflict when you
send the KVM pull request?

Also:

>   - Larger virtual address space on 64-bit server CPUs. By default we
> use a 128TB virtual address space, but a process can request access
> to the full 512TB by passing a hint to mmap().

I'm assuming/hoping this uses the same logic as the upcoming 47+ bit
5-level page table x86 support? Sounds like it, but I didn't check the
code.

See "x86/mm: Allow to have userspace mappings above 47-bits" which
hasn't been merged yet, but has been discussed on linux-mm, for
example.

Thanks,

Linus


[GIT PULL] Please pull powerpc/linux.git powerpc-4.12-1 tag

2017-05-05 Thread Michael Ellerman
Hi Linus,

Please pull the first set of powerpc updates for 4.12.

There's one conflict in kernel/kprobes.c, the resolution should look like:

if (symbol_name) {
addr = kprobe_lookup_name(symbol_name, offset);
if (!addr)
return ERR_PTR(-ENOENT);
}

Also due to a screw-up on my part, we need a hunk added when you merge
the powerpc tree with the KVM tree:

diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
index 7807ee17af4b..ffe1da95033a 100644
--- a/arch/powerpc/kvm/book3s_xive.c
+++ b/arch/powerpc/kvm/book3s_xive.c
@@ -24,6 +24,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 


I haven't seen a pull request from Paolo yet, so possibly you'll need
to add that later when you merge the KVM tree.

cheers


The following changes since commit 97da3854c526d3a6ee05c849c96e48d21527606c:

  Linux 4.11-rc3 (2017-03-19 19:09:39 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git 
tags/powerpc-4.12-1

for you to fetch changes up to 700b7eadd5625d22b8235fb21259b3d7d564c000:

  powerpc/64s: Power9 has no LPCR[VRMASD] field so don't set it (2017-05-03 
20:45:55 +1000)


powerpc updates for 4.12 part 1.

Highlights include:

 - Larger virtual address space on 64-bit server CPUs. By default we use a 128TB
   virtual address space, but a process can request access to the full 512TB by
   passing a hint to mmap().

 - Support for the new Power9 "XIVE" interrupt controller.

 - TLB flushing optimisations for the radix MMU on Power9.

 - Support for CAPI cards on Power9, using the "Coherent Accelerator Interface
   Architecture 2.0".

 - The ability to configure the mmap randomisation limits at build and runtime.

 - Several small fixes and cleanups to the kprobes code, as well as support for
   KPROBES_ON_FTRACE.

 - Major improvements to handling of system reset interrupts, correctly treating
   them as NMIs, giving them a dedicated stack and using a new hypervisor call
   to trigger them, all of which should aid debugging and robustness.

Many fixes and other minor enhancements.

Thanks to:
  Alastair D'Silva, Alexey Kardashevskiy, Alistair Popple, Andrew Donnellan,
  Aneesh Kumar K.V, Anshuman Khandual, Anton Blanchard, Balbir Singh, Ben
  Hutchings, Benjamin Herrenschmidt, Bhupesh Sharma, Chris Packham, Christian
  Zigotzky, Christophe Leroy, Christophe Lombard, Daniel Axtens, David Gibson,
  Gautham R. Shenoy, Gavin Shan, Geert Uytterhoeven, Guilherme G. Piccoli,
  Hamish Martin, Hari Bathini, Kees Cook, Laurent Dufour, Madhavan Srinivasan,
  Mahesh J Salgaonkar, Mahesh Salgaonkar, Masami Hiramatsu, Matt Brown, Matthew
  R. Ochs, Michael Neuling, Naveen N. Rao, Nicholas Piggin, Oliver O'Halloran,
  Pan Xinhui, Paul Mackerras, Rashmica Gupta, Russell Currey, Sukadev
  Bhattiprolu, Thadeu Lima de Souza Cascardo, Tobin C. Harding, Tyrel Datwyler,
  Uma Krishnan, Vaibhav Jain, Vipin K Parashar, Yang Shi.


Alastair D'Silva (1):
  cxl: Mask slice error interrupts after first occurrence

Alexey Kardashevskiy (10):
  powerpc/powernv: Fix it_ops::get() callback to return in cpu endian
  powerpc/powernv/npu: Remove dead iommu code
  powerpc/mmu: Add real mode support for IOMMU preregistered memory
  powerpc/powernv/iommu: Add real mode version of 
iommu_table_ops::exchange()
  powerpc/iommu/vfio_spapr_tce: Cleanup iommu_table disposal
  powerpc/vfio_spapr_tce: Add reference counting to iommu_table
  powerpc/iommu: Do not call PageTransHuge() on tail pages
  powerpc/powernv: Check kzalloc() return value in pnv_pci_table_alloc
  powerpc/powernv: Fix iommu table size calculation hook for small tables
  powerpc/pseries: Enable VFIO

Alistair Popple (5):
  drivers/of/base.c: Add of_property_read_u64_index
  powerpc/powernv: Add sanity checks to pnv_pci_get_{gpu|npu}_dev
  powerpc/powernv: Introduce address translation services for Nvlink2
  powerpc/powernv: Require MMU_NOTIFIER to fix NPU build
  powerpc/powernv: Fix TCE kill on NVLink2

Andrew Donnellan (1):
  powerpc/powernv: Document cxl dependency on special case in 
pnv_eeh_reset()

Aneesh Kumar K.V (32):
  powerpc/mm/nohash: MM_SLICE is only used by book3s 64
  powerpc/mm/slice: Fix off-by-1 error when computing slice mask
  powerpc/mm: Cleanup bits definition between hash and radix.
  powerpc/mm/radix: rename _PAGE_LARGE to R_PAGE_LARGE
  powerpc/mm: Add translation mode information in /proc/cpuinfo
  powerpc/mm/hugetlb: Filter out hugepage size not supported by page table 
layout
  powerpc/mm: Define _PAGE_SOFT_DIRTY unconditionally
  powerpc/mm: Define all PTE bits based on radix definitions.
  powerpc/mm: Lower the max real address to 53 bits
  powerpc/mm: Move 

[GIT PULL] Please pull powerpc/linux.git powerpc-4.12-1 tag

2017-05-05 Thread Michael Ellerman
Hi Linus,

Please pull the first set of powerpc updates for 4.12.

There's one conflict in kernel/kprobes.c, the resolution should look like:

if (symbol_name) {
addr = kprobe_lookup_name(symbol_name, offset);
if (!addr)
return ERR_PTR(-ENOENT);
}

Also due to a screw-up on my part, we need a hunk added when you merge
the powerpc tree with the KVM tree:

diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
index 7807ee17af4b..ffe1da95033a 100644
--- a/arch/powerpc/kvm/book3s_xive.c
+++ b/arch/powerpc/kvm/book3s_xive.c
@@ -24,6 +24,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 


I haven't seen a pull request from Paolo yet, so possibly you'll need
to add that later when you merge the KVM tree.

cheers


The following changes since commit 97da3854c526d3a6ee05c849c96e48d21527606c:

  Linux 4.11-rc3 (2017-03-19 19:09:39 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git 
tags/powerpc-4.12-1

for you to fetch changes up to 700b7eadd5625d22b8235fb21259b3d7d564c000:

  powerpc/64s: Power9 has no LPCR[VRMASD] field so don't set it (2017-05-03 
20:45:55 +1000)


powerpc updates for 4.12 part 1.

Highlights include:

 - Larger virtual address space on 64-bit server CPUs. By default we use a 128TB
   virtual address space, but a process can request access to the full 512TB by
   passing a hint to mmap().

 - Support for the new Power9 "XIVE" interrupt controller.

 - TLB flushing optimisations for the radix MMU on Power9.

 - Support for CAPI cards on Power9, using the "Coherent Accelerator Interface
   Architecture 2.0".

 - The ability to configure the mmap randomisation limits at build and runtime.

 - Several small fixes and cleanups to the kprobes code, as well as support for
   KPROBES_ON_FTRACE.

 - Major improvements to handling of system reset interrupts, correctly treating
   them as NMIs, giving them a dedicated stack and using a new hypervisor call
   to trigger them, all of which should aid debugging and robustness.

Many fixes and other minor enhancements.

Thanks to:
  Alastair D'Silva, Alexey Kardashevskiy, Alistair Popple, Andrew Donnellan,
  Aneesh Kumar K.V, Anshuman Khandual, Anton Blanchard, Balbir Singh, Ben
  Hutchings, Benjamin Herrenschmidt, Bhupesh Sharma, Chris Packham, Christian
  Zigotzky, Christophe Leroy, Christophe Lombard, Daniel Axtens, David Gibson,
  Gautham R. Shenoy, Gavin Shan, Geert Uytterhoeven, Guilherme G. Piccoli,
  Hamish Martin, Hari Bathini, Kees Cook, Laurent Dufour, Madhavan Srinivasan,
  Mahesh J Salgaonkar, Mahesh Salgaonkar, Masami Hiramatsu, Matt Brown, Matthew
  R. Ochs, Michael Neuling, Naveen N. Rao, Nicholas Piggin, Oliver O'Halloran,
  Pan Xinhui, Paul Mackerras, Rashmica Gupta, Russell Currey, Sukadev
  Bhattiprolu, Thadeu Lima de Souza Cascardo, Tobin C. Harding, Tyrel Datwyler,
  Uma Krishnan, Vaibhav Jain, Vipin K Parashar, Yang Shi.


Alastair D'Silva (1):
  cxl: Mask slice error interrupts after first occurrence

Alexey Kardashevskiy (10):
  powerpc/powernv: Fix it_ops::get() callback to return in cpu endian
  powerpc/powernv/npu: Remove dead iommu code
  powerpc/mmu: Add real mode support for IOMMU preregistered memory
  powerpc/powernv/iommu: Add real mode version of 
iommu_table_ops::exchange()
  powerpc/iommu/vfio_spapr_tce: Cleanup iommu_table disposal
  powerpc/vfio_spapr_tce: Add reference counting to iommu_table
  powerpc/iommu: Do not call PageTransHuge() on tail pages
  powerpc/powernv: Check kzalloc() return value in pnv_pci_table_alloc
  powerpc/powernv: Fix iommu table size calculation hook for small tables
  powerpc/pseries: Enable VFIO

Alistair Popple (5):
  drivers/of/base.c: Add of_property_read_u64_index
  powerpc/powernv: Add sanity checks to pnv_pci_get_{gpu|npu}_dev
  powerpc/powernv: Introduce address translation services for Nvlink2
  powerpc/powernv: Require MMU_NOTIFIER to fix NPU build
  powerpc/powernv: Fix TCE kill on NVLink2

Andrew Donnellan (1):
  powerpc/powernv: Document cxl dependency on special case in 
pnv_eeh_reset()

Aneesh Kumar K.V (32):
  powerpc/mm/nohash: MM_SLICE is only used by book3s 64
  powerpc/mm/slice: Fix off-by-1 error when computing slice mask
  powerpc/mm: Cleanup bits definition between hash and radix.
  powerpc/mm/radix: rename _PAGE_LARGE to R_PAGE_LARGE
  powerpc/mm: Add translation mode information in /proc/cpuinfo
  powerpc/mm/hugetlb: Filter out hugepage size not supported by page table 
layout
  powerpc/mm: Define _PAGE_SOFT_DIRTY unconditionally
  powerpc/mm: Define all PTE bits based on radix definitions.
  powerpc/mm: Lower the max real address to 53 bits
  powerpc/mm: Move