Victor Aoqui writes:
> Implemented default hugepage size verification (default_hugepagesz=)
> in order to allow allocation of defined number of pages (hugepages=)
> only for supported hugepage sizes.
>
> Signed-off-by: Victor Aoqui
I am still not sure about this. With current upstream we get
Hi Pavel.
On Thu, Aug 03, 2017 at 05:23:47PM -0400, Pavel Tatashin wrote:
> Add an optimized mm_zero_struct_page(), so struct page's are zeroed without
> calling memset(). We do eight regular stores, thus avoid cost of membar.
The commit message does no longer reflect the implementation,
and shou
On Friday 04 August 2017 07:17 AM, Benjamin Herrenschmidt wrote:
On Fri, 2017-08-04 at 11:37 +1000, Benjamin Herrenschmidt wrote:
On Thu, 2017-08-03 at 14:54 +0530, Hari Bathini wrote:
As linux,memory-limit node is set and also later used by the kernel,
avoid endian conversions for this prope
On Friday 04 August 2017 09:21 AM, Michael Ellerman wrote:
Hari Bathini writes:
As linux,memory-limit node is set and also later used by the kernel,
avoid endian conversions for this property.
Fixes: 493adffcb43f ("powerpc: Make prom_init.c endian safe")
Cc: sta...@vger.kernel.org # 3.12+
Cc
On Fri, Aug 4, 2017 at 1:38 PM, Aneesh Kumar K.V
wrote:
> Balbir Singh writes:
>
>> On Wed, Aug 2, 2017 at 8:09 PM, Aneesh Kumar K.V
>> wrote:
>>> Balbir Singh writes:
>>>
Add support for set_memory_xx routines. With the STRICT_KERNEL_RWX
feature support we got support for changing th
Hari Bathini writes:
> As linux,memory-limit node is set and also later used by the kernel,
> avoid endian conversions for this property.
>
> Fixes: 493adffcb43f ("powerpc: Make prom_init.c endian safe")
> Cc: sta...@vger.kernel.org # 3.12+
> Cc: Anton Blanchard
> Cc: Benjamin Herrenschmidt
> S
Suraj Jitindar Singh writes:
> The host process table base is stored in the partition table by calling
> the function native_register_process_table(). Currently this just sets
> the entry in memory and is missing a proceeding cache invalidation
> instruction. Any update to the partition table sho
Previously the raid6 test Makefile did not build the POWER specific files
(altivec and vpermxor).
This patch fixes the bug, so that all appropriate files for powerpc are built.
This patch also fixes the missing and mismatched ifdef statements to allow the
altivec.uc file to be built correctly.
Si
This patch uses the vpermxor instruction to optimise the raid6 Q syndrome.
This instruction was made available with POWER8, ISA version 2.07.
It allows for both vperm and vxor instructions to be done in a single
instruction. This has been tested for correctness on a ppc64le vm with a
basic RAID6 se
Balbir Singh writes:
> On Wed, Aug 2, 2017 at 8:09 PM, Aneesh Kumar K.V
> wrote:
>> Balbir Singh writes:
>>
>>> Add support for set_memory_xx routines. With the STRICT_KERNEL_RWX
>>> feature support we got support for changing the page permissions
>>> for pte ranges. This patch adds support for
Suraj Jitindar Singh writes:
> On Thu, 2017-08-03 at 17:35 +1000, Benjamin Herrenschmidt wrote:
>> On Thu, 2017-08-03 at 16:30 +1000, Michael Ellerman wrote:
>> > Suraj Jitindar Singh writes:
>> >
>> > > The host process table base is stored in the partition table by
>> > > calling
>> > > the f
On Fri, 2017-08-04 at 11:31 +1000, Benjamin Herrenschmidt wrote:
> On Fri, 2017-08-04 at 11:02 +1000, Suraj Jitindar Singh wrote:
> >
> > I guess there's the possibility of:
> > [x] randomly crash
> >
> > This is required to run a powernv kernel as a guest because we need
> > to
> > know when it'
On Fri, 2017-08-04 at 11:37 +1000, Benjamin Herrenschmidt wrote:
> On Thu, 2017-08-03 at 14:54 +0530, Hari Bathini wrote:
> > As linux,memory-limit node is set and also later used by the kernel,
> > avoid endian conversions for this property.
> >
> > Fixes: 493adffcb43f ("powerpc: Make prom_init.c
On Fri, 2017-08-04 at 03:50 +1000, Nicholas Piggin wrote:
> Hey, so... why are any of these implemented in asm? We should
> just do them all in C, right? I looked a bit harder at code gen
> and a couple of them are still emitting larx/stcx.
As long as we can guarantee that the C compiler won't pla
On Wed, Aug 2, 2017 at 10:20 AM, Daniel Axtens wrote:
> Oh, one final thing - I just realised there's a .gitignore file in
> lib/raid6/.gitignore that needs to be updated to include the vpermxor
> generated files. That should be part of this patch.
>
Oh, I managed to miss that!
I'll add that and
On Thu, 2017-08-03 at 14:54 +0530, Hari Bathini wrote:
> As linux,memory-limit node is set and also later used by the kernel,
> avoid endian conversions for this property.
>
> Fixes: 493adffcb43f ("powerpc: Make prom_init.c endian safe")
> Cc: sta...@vger.kernel.org # 3.12+
> Cc: Anton Blanchard
On Wed, Aug 2, 2017 at 12:00 PM, Michael Ellerman wrote:
> Daniel Axtens writes:
>
>> Hi Matt,
>>
>>> --- a/lib/raid6/test/Makefile
>>> +++ b/lib/raid6/test/Makefile
>>> @@ -44,10 +44,12 @@ else ifeq ($(HAS_NEON),yes)
>>> CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1
>>> else
>>> HAS_A
On Fri, 2017-08-04 at 11:02 +1000, Suraj Jitindar Singh wrote:
>
> I guess there's the possibility of:
> [x] randomly crash
>
> This is required to run a powernv kernel as a guest because we need to
> know when it's updated its process table location.
You mean in qemu full emu ? powernv kernels
This adds the powernv_get_random_darn function which utilises the darn
instruction, introduced in POWER9. The powernv_get_random_darn function
is used as the ppc_md.get_random_seed on P9.
The DARN instruction can potentially throw an error, so we attempt to
register the powernv_get_random_darn fun
On Tue, Aug 1, 2017 at 10:57 PM, Segher Boessenkool
wrote:
> On Mon, Jul 31, 2017 at 07:10:15PM +1000, Michael Ellerman wrote:
>> And ___PPC_RA() is not quite right. The L field is only 2 bits wide, not
>> the 5 that ___PPC_RA() allows.
>>
>> We don't have a __PPC_L() macro, because L fields vary
On Thu, 2017-08-03 at 17:35 +1000, Benjamin Herrenschmidt wrote:
> On Thu, 2017-08-03 at 16:30 +1000, Michael Ellerman wrote:
> > Suraj Jitindar Singh writes:
> >
> > > The host process table base is stored in the partition table by
> > > calling
> > > the function native_register_process_table()
(+ arm64 maintainers)
Hi Pavel,
On 3 August 2017 at 22:23, Pavel Tatashin wrote:
> To optimize the performance of struct page initialization,
> vmemmap_populate() will no longer zero memory.
>
> We must explicitly zero the memory that is allocated by vmemmap_populate()
> for kasan, as this memor
A new variant of memblock_virt_alloc_* allocations:
memblock_virt_alloc_try_nid_raw()
- Does not zero the allocated memory
- Does not panic if request cannot be satisfied
Signed-off-by: Pavel Tatashin
Reviewed-by: Steven Sistare
Reviewed-by: Daniel Jordan
Reviewed-by: Bob Picco
---
in
Add an optimized mm_zero_struct_page(), so struct page's are zeroed without
calling memset(). We do eight regular stores, thus avoid cost of membar.
Signed-off-by: Pavel Tatashin
Reviewed-by: Steven Sistare
Reviewed-by: Daniel Jordan
Reviewed-by: Bob Picco
---
arch/sparc/include/asm/pgtable_6
There is existing use after free bug when deferred struct pages are
enabled:
The memblock_add() allocates memory for the memory array if more than
128 entries are needed. See comment in e820__memblock_setup():
* The bootstrap memblock region count maximum is 128 entries
* (INIT_MEMBLOCK_REGI
Without deferred struct page feature (CONFIG_DEFERRED_STRUCT_PAGE_INIT),
flags and other fields in "struct page"es are never changed prior to first
initializing struct pages by going through __init_single_page().
With deferred struct page feature enabled there is a case where we set some
fields pr
Struct pages are initialized by going through __init_single_page(). Since
the existing physical memory in memblock is represented in memblock.memory
list, struct page for every page from this list goes through
__init_single_page().
The second memblock list: memblock.reserved, manages the allocated
To optimize the performance of struct page initialization,
vmemmap_populate() will no longer zero memory.
We must explicitly zero the memory that is allocated by vmemmap_populate()
for kasan, as this memory does not go through struct page initialization
path.
Signed-off-by: Pavel Tatashin
Review
When CONFIG_DEBUG_VM is enabled, this patch sets all the memory that is
returned by memblock_virt_alloc_try_nid_raw() to ones to ensure that no
places excpect zeroed memory.
Signed-off-by: Pavel Tatashin
Reviewed-by: Steven Sistare
Reviewed-by: Daniel Jordan
Reviewed-by: Bob Picco
---
mm/memb
Soon vmemmap_alloc_block() will no longer zero the block, so zero memory
at its call sites for everything except struct pages. Struct page memory
is zero'd by struct page initialization.
Signed-off-by: Pavel Tatashin
Reviewed-by: Steven Sistare
Reviewed-by: Daniel Jordan
Reviewed-by: Bob Picco
Replace allocators in sprase-vmemmap to use the non-zeroing version. So,
we will get the performance improvement by zeroing the memory in parallel
when struct pages are zeroed.
Signed-off-by: Pavel Tatashin
Reviewed-by: Steven Sistare
Reviewed-by: Daniel Jordan
Reviewed-by: Bob Picco
---
mm/s
Changelog:
v5 - v4
- Fixed build issues reported by kbuild on various configurations
v4 - v3
- Rewrote code to zero sturct pages in __init_single_page() as
suggested by Michal Hocko
- Added code to handle issues related to accessing struct page
memory before they are initialized.
v3 - v2
- Ad
Clients can call alloc_large_system_hash() with flag: HASH_ZERO to specify
that memory that was allocated for system hash needs to be zeroed,
otherwise the memory does not need to be zeroed, and client will initialize
it.
If memory does not need to be zero'd, call the new
memblock_virt_alloc_raw()
Without deferred struct page feature (CONFIG_DEFERRED_STRUCT_PAGE_INIT),
flags and other fields in "struct page"es are never changed prior to first
initializing struct pages by going through __init_single_page().
With deferred struct page feature enabled there is a case where we set some
fields pr
In deferred_init_memmap() where all deferred struct pages are initialized
we have a check like this:
if (page->flags) {
VM_BUG_ON(page_zone(page) != zone);
goto free_range;
}
This way we are checking if the current deferred page has already been
initialized. It wor
Add struct page zeroing as a part of initialization of other fields in
__init_single_page().
Signed-off-by: Pavel Tatashin
Reviewed-by: Steven Sistare
Reviewed-by: Daniel Jordan
Reviewed-by: Bob Picco
---
include/linux/mm.h | 9 +
mm/page_alloc.c| 1 +
2 files changed, 10 insertio
Remove duplicating code by using common functions
vmemmap_pud_populate and vmemmap_pgd_populate.
Signed-off-by: Pavel Tatashin
Reviewed-by: Steven Sistare
Reviewed-by: Daniel Jordan
Reviewed-by: Bob Picco
---
arch/sparc/mm/init_64.c | 23 ++-
1 file changed, 6 insertions(+
To optimize the performance of struct page initialization,
vmemmap_populate() will no longer zero memory.
We must explicitly zero the memory that is allocated by vmemmap_populate()
for kasan, as this memory does not go through struct page initialization
path.
Signed-off-by: Pavel Tatashin
Review
On Sat, Jul 15, 2017 at 11:39:45PM -0700, Bjorn Andersson wrote:
> In several dwc based drivers host_init can fail, so make sure to
> propagate and handle this to avoid continuing operation of a driver or
> hardware in an invalid state.
>
> Signed-off-by: Bjorn Andersson
Applied patches 1-3 to p
Mimi Zohar writes:
> On Wed, 2017-08-02 at 18:52 -0400, Mimi Zohar wrote:
>> On Wed, 2017-08-02 at 14:42 -0300, Thiago Jung Bauermann wrote:
>> > Mimi Zohar writes:
>
>> > >> @@ -229,8 +251,24 @@ int ima_appraise_measurement(enum ima_hooks func,
>> > >> goto out;
>> > >>
From: Markus Elfring
Date: Thu, 3 Aug 2017 20:00:16 +0200
Replace the specification of a data structure by a pointer dereference
as the parameter for the operator "sizeof" to make the corresponding size
determination a bit safer according to the Linux coding style convention.
Signed-off-by: Mark
From: Markus Elfring
Date: Thu, 3 Aug 2017 20:34:00 +0200
The local variable "rc" will eventually be set only to an error code.
Thus omit the explicit initialisation at the beginning.
Signed-off-by: Markus Elfring
---
arch/powerpc/sysdev/axonram.c | 1 -
1 file changed, 1 deletion(-)
diff --g
From: Markus Elfring
Date: Thu, 3 Aug 2017 20:23:57 +0200
* Return directly after a call of the function "kzalloc" failed
at the beginning.
* Delete a repeated check for the local variable "bank"
which became unnecessary with this refactoring.
Signed-off-by: Markus Elfring
---
arch/powerp
From: Markus Elfring
Date: Thu, 3 Aug 2017 19:49:18 +0200
Omit an extra message for a memory allocation failure in this function.
This issue was detected by using the Coccinelle software.
Link:
http://events.linuxfoundation.org/sites/events/files/slides/LCJ16-Refactor_Strings-WSang_0.pdf
Signe
From: Markus Elfring
Date: Thu, 3 Aug 2017 21:02:02 +0200
A few update suggestions were taken into account
from static source code analysis.
Markus Elfring (4):
Delete an error message for a failed memory allocation
Improve a size determination in axon_ram_probe()
Return directly after a f
On Thu, 3 Aug 2017 09:19:18 +0530
Madhavan Srinivasan wrote:
> @@ -14,6 +17,202 @@ typedef struct
> #define local_read(l)atomic_long_read(&(l)->a)
> #define local_set(l,i) atomic_long_set(&(l)->a, (i))
>
> +#ifdef CONFIG_PPC64
> +
> +static __inline__ void local_add(long i, loc
On 08/03/2017 01:52 PM, Benjamin Herrenschmidt wrote:
> On Thu, 2017-08-03 at 19:52 +1000, Michael Ellerman wrote:
>> What if num is 0?
>>
>> Which it would be in the fallback case, if the affinity mask is empty,
>> AFAICS.
>
> How can the mask be empty though ? But yes, as I noted there is a
> pr
On Wed, 2017-08-02 at 18:52 -0400, Mimi Zohar wrote:
> On Wed, 2017-08-02 at 14:42 -0300, Thiago Jung Bauermann wrote:
> > Mimi Zohar writes:
> > >> @@ -229,8 +251,24 @@ int ima_appraise_measurement(enum ima_hooks func,
> > >> goto out;
> > >> }
> > >>
> > >> -s
The sanctioned compatible is "nxp,pca9547".
Signed-off-by: Peter Rosin
---
arch/powerpc/boot/dts/fsl/t104xqds.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/boot/dts/fsl/t104xqds.dtsi
b/arch/powerpc/boot/dts/fsl/t104xqds.dtsi
index 2fd4cbe7098f..6154797322
On Thu, 2017-08-03 at 19:52 +1000, Michael Ellerman wrote:
> What if num is 0?
>
> Which it would be in the fallback case, if the affinity mask is empty,
> AFAICS.
How can the mask be empty though ? But yes, as I noted there is a
problem if the value is 0. Not sure what to do if we are given an e
On Tue, 2017-08-01 at 13:59:28 UTC, Nicholas Piggin wrote:
> If the decrementer wraps and de-asserts the decrementer exception while
> hard-disabled, __check_irq_replay has a test to notice the wrap when
> interrupts are re-enabled.
>
> The decrementer check must be done when clearing the PACA_IRQ
On Sat, 2017-07-29 at 19:52:09 UTC, Sergei Shtylyov wrote:
> of_irq_to_resource() has recently been fixed to return negative error #'s
> along with 0 in case of failure, however the Freescale MPC832x RDB board
> code still only regards 0 as as failure indication -- fix it up.
>
> Fixes: 7a4228bb
On Sat, 2017-07-29 at 12:50:27 UTC, Nicholas Piggin wrote:
> The watchdog soft-NMI exception stack setup loads a stack pointer
> twice, which is an obvious error. It ends up using the system reset
> interrupt (true-NMI) stack, which is also a bug because the watchdog
> could be preempted by a syste
On Thu, 2017-07-20 at 01:53:22 UTC, Nicholas Piggin wrote:
> POWER9 DD2 PMU can stop after a state-loss idle in some conditions.
>
> A solution is to set then clear MMCRA[60] after wake from state-loss
> idle.
>
> Signed-off-by: Nicholas Piggin
> Acked-by: Madhavan Srinivasan
> Reviewed-by: Vai
On Thu, Aug 03, 2017 at 07:53:16PM +1000, Michael Ellerman wrote:
> Herbert Xu writes:
>
> > On Fri, Jul 21, 2017 at 09:57:39PM -0700, Haren Myneni wrote:
> >>
> >> Configure CRB is moved to nx842_configure_crb() so that it can
> >> be used for icswx and VAS exec functions. VAS function will be
Herbert Xu writes:
> On Fri, Jul 21, 2017 at 09:57:39PM -0700, Haren Myneni wrote:
>>
>> Configure CRB is moved to nx842_configure_crb() so that it can
>> be used for icswx and VAS exec functions. VAS function will be
>> added later with P9 support.
>>
>> Signed-off-by: Haren Myneni
>
> Your p
Benjamin Herrenschmidt writes:
> On Thu, 2017-08-03 at 09:45 +0200, Cédric Le Goater wrote:
>> On 08/02/2017 11:57 PM, Benjamin Herrenschmidt wrote:
>> > On Wed, 2017-08-02 at 18:43 +0200, Cédric Le Goater wrote:
>> > > If xive_find_target_in_mask() fails to find a cpu, the fuzz value used
>> > >
Parameters 'mem=', 'iommu=' and the like, which affect the iommu are
parsed early in the boot process. This parser looks for a parameter
substring like 'iommu=' in the cmdline string but it could also succeed
when cmdline string contains parameters like 'x_iommu=' or such leading
to undesired resul
Early cmdline parser looks for "disable_radix" substring in the cmdline
string but it could also succeed when cmdline string contains parameters
like 'x_disable_radix' or disable_radix_type=' or such causing undesired
actions. Add support to skip proceeding in such cases.
Fixes: 014d02cbf16b ("pow
Early cmdline parser looks for "mem=" substring in the cmdline
string but it could also succeed when cmdline string contains
parameters like 'fadump_reserve_mem=' or such leading to undesired
results. Add support to skip proceeding in such case.
Fixes: cf68787b68a2 ("powerpc/prom_init: Evaluate me
As linux,memory-limit node is set and also later used by the kernel,
avoid endian conversions for this property.
Fixes: 493adffcb43f ("powerpc: Make prom_init.c endian safe")
Cc: sta...@vger.kernel.org # 3.12+
Cc: Anton Blanchard
Cc: Benjamin Herrenschmidt
Signed-off-by: Hari Bathini
---
arch/
On 08/02/2017 11:57 PM, Benjamin Herrenschmidt wrote:
> On Wed, 2017-08-02 at 18:43 +0200, Cédric Le Goater wrote:
>> If xive_find_target_in_mask() fails to find a cpu, the fuzz value used
>> in xive_pick_irq_target() is decremented and reused in the last
>> returning call to xive_find_target_in_ma
On Thu, 2017-08-03 at 09:45 +0200, Cédric Le Goater wrote:
> On 08/02/2017 11:57 PM, Benjamin Herrenschmidt wrote:
> > On Wed, 2017-08-02 at 18:43 +0200, Cédric Le Goater wrote:
> > > If xive_find_target_in_mask() fails to find a cpu, the fuzz value used
> > > in xive_pick_irq_target() is decrement
On Thu, 2017-08-03 at 16:30 +1000, Michael Ellerman wrote:
> Suraj Jitindar Singh writes:
>
> > The host process table base is stored in the partition table by calling
> > the function native_register_process_table(). Currently this just sets
> > the entry in memory and is missing a proceeding ca
On Wed, Aug 2, 2017 at 11:50 PM, Christophe Leroy
wrote:
> This patch set implements STRICT_KERNEL_RWX on Powerpc32
> after fixing a few issues related to kernel code page protection.
>
> At the end we take the opportunity to get rid of some unneccessary/outdated
> fixmap stuff.
I looked at it, l
On Thu, Aug 3, 2017 at 6:29 AM, Frederic Barrat
wrote:
> The PSL and XSL need to see all TLBIs pertinent to the memory contexts
> used on the adapter. For the hash memory model, it is done by making
> all TLBIs global as soon as the cxl driver is in use. For radix, we
> need something similar, but
On Thu, Aug 3, 2017 at 6:29 AM, Frederic Barrat
wrote:
> Introduce a new 'flags' attribute per context and define its first bit
> to be a marker requiring all TLBIs for that context to be broadcasted
> globally. Once that marker is set on a context, it cannot be removed.
>
> Such a marker is usefu
67 matches
Mail list logo