On Fri, 2018-08-31 at 14:35 +1000, Benjamin Herrenschmidt wrote:
>
> > If I force output with "-f", the resulting file has no occurrences
> > of "phandle".
>
> Are you booting with BootX or Open Firmware ?
Assuming you are using BootX (or miBoot), can you try this patch ?
--- a/arch/powerpc/pl
Hi Segher,
On Wednesday 05 September 2018 03:42 AM, Segher Boessenkool wrote:
> On Mon, Sep 03, 2018 at 08:49:33PM +0530, Sandipan Das wrote:
>> +#ifdef __powerpc64__
>> +case 4:
>> +if (!cpu_has_feature(CPU_FTR_ARCH_300))
>> +return -1;
>> +
>> +swi
Hi Segher,
On Wednesday 05 September 2018 02:51 AM, Segher Boessenkool wrote:
> On Mon, Sep 03, 2018 at 08:49:38PM +0530, Sandipan Das wrote:
>> +#ifdef __powerpc64__
>> +case 265: /* modud */
>> +if (!cpu_has_feature(CPU_FTR_ARCH_300))
>> +
Hi Greg,
Here are fixes for a few regressions that came in with my
carelessness with the irq latency work for the hvc subsystem.
These were independently reported in 2 configurations, and I
confirmed with another.
I think those went upstream via Michael's tree, but he's away
at the moment so if y
Patch ec97eaad1383 ("tty: hvc: hvc_poll() break hv read loop") causes
the virtio console to hang at times (e.g., if you paste a bunch of
characters to it.
The reason is that get_chars must return 0 before we can be sure the
driver will kick or poll input again, but this change only scheduled a
pol
Patch ec97eaad1383 ("tty: hvc: hvc_poll() break hv read loop") removes
get_chars batching entirely, which slows down large console operations
like paste -- virtio console "feels worse than a 9600 baud serial
line," reports Matteo.
This adds back batching in a more latency friendly way. If the call
Commit 550ddadcc758 ("tty: hvc: hvc_write() may sleep") broke the
termination condition in case the driver stops accepting characters.
This can result in unnecessary polling of the busy driver.
Restore it by testing the hvc_push return code.
Fixes: 550ddadcc758 ("tty: hvc: hvc_write() may sleep")
Other arches have ioremap_wt() to map IO areas write-through.
Implement it on PPC as well in order to avoid drivers using
__ioremap(_PAGE_WRITETHRU)
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/io.h | 6 ++
arch/powerpc/mm/pgtable_32.c | 8
2 files changed, 14 inser
Today flags like for instance _PAGE_RW or _PAGE_USER are used through
common parts of code.
Using those directly in common parts of code have proven to lead to
mistakes or misbehaviour, because their use is not always as trivial
as one could think.
For instance, (flags & _PAGE_USER) == 0 isn't eno
As already done for PPC64, use pgprot_cache() helpers
instead of flags in ioremap() derived functions.
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/nohash/pgtable.h | 2 ++
arch/powerpc/mm/pgtable_32.c | 15 +--
2 files changed, 11 insertions(+), 6 delet
book3s/32 doesn't define _PAGE_EXEC, so no need to use it.
All other platforms define _PAGE_EXEC so no need to check
it is not NUL when not book3s/32.
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/book3s/32/pgtable.h | 2 +-
arch/powerpc/mm/pgtable.c| 6 +++---
In order to allow their use in nohash/32/pgtable.h, we have to move the
following helpers in nohash/[32:64]/pgtable.h:
- pte_mkwrite()
- pte_mkdirty()
- pte_mkyoung()
- pte_wrprotect()
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/nohash/32/pgtable.h | 28 +
In order to avoid using generic _PAGE_XXX flags in powerpc
core functions, define helpers for all needed flags:
- pte_mkuser() and pte_mkprivileged() to set/unset and/or
unset/set _PAGE_USER and/or _PAGE_PRIVILEGED
- pte_hashpte() to check if _PAGE_HASHPTE is set.
- pte_mknoncoherent() to make a pa
Get rid of platform specific _PAGE_ in powerpc code code and
use helpers instead.
mm/dump_linuxpagetables.c will be handled separately
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/book3s/32/pgtable.h | 9 +++--
arch/powerpc/include/asm/nohash/32/pgtable.h | 13 +
To reduce the complexity of flag_array, and allow the removal of
default 0 value of non existing flags, lets have one flag_array
table for each platform family with only the really existing flags.
Signed-off-by: Christophe Leroy
---
arch/powerpc/mm/Makefile| 7 ++
arch/
The following page flags in pte-common.h can be dropped:
_PAGE_ENDIAN is only used in mm/fsl_booke_mmu.c and is defined in
asm/nohash/32/pte-fsl-booke.h
_PAGE_4K_PFN is nowhere defined nor used
_PAGE_READ, _PAGE_WRITE and _PAGE_PTE are only defined and used
in book3s/64
The following page flags
__P and __S flags are the same for all platform and should remain
as is in the future, so avoid duplication.
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/book3s/64/pgtable.h | 20
arch/powerpc/include/asm/pgtable.h | 19 +++
arch/pow
As done for book3s/64, add necessary flags/defines in
book3s/32/pgtable.h and do not include pte-common.h
It allows in the meantime to remove all related hash
definitions from pte-common.h and to also remove
_PAGE_EXEC default as _PAGE_EXEC is defined on all
platforms except book3s/32.
Signed-off
Now the pte-common.h is only for nohash platforms, lets
move pte_user() helper out of pte-common.h to put it
together with other helpers.
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/nohash/pgtable.h | 10 ++
arch/powerpc/include/asm/pte-common.h | 13 -
2
The base kernel PAGE_ definition sets are more or less platform
specific. Lets distribute them close to platform _PAGE_XXX flags
definition, and customise them to their exact platform flags.
Also defines _PAGE_PSIZE and _PTE_NONE_MASK for each platform
allthough they are defined as 0.
Do the
nohash/64 only uses book3e PTE flags, so it doesn't need pte-common.h
This also allows to drop PAGE_SAO and H_PAGE_4K_PFN from pte_common.h
as they are only used by PPC64
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/nohash/64/pgtable.h | 16 -
arch/powerpc/include/as
The 40xx defines _PAGE_HWWRITE while others don't.
The 8xx defines _PAGE_RO instead of _PAGE_RW.
The 8xx defines _PAGE_PRIVILEGED instead of _PAGE_USER.
The 8xx defines _PAGE_HUGE and _PAGE_NA while others don't.
Lets those platforms redefine pte_write(), pte_wrprotect() and
pte_mkwrite() and get
Cache related flags like _PAGE_COHERENT and _PAGE_WRITETHRU
and defined on most platforms. The platforms not defining
them don't define any alternative. So we can give them a NUL
value directly for those platforms directly.
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/nohash/32/p
Do not include pte-common.h in nohash/32/pgtable.h
As that was the last includer, get rid of pte-common.h
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/nohash/32/pgtable.h | 23 +--
arch/powerpc/include/asm/pte-common.h| 25 -
2
_PAGE_PRIVILEGED corresponds to the SH bit which doesn't protect
against user access but only disables ASID verification on kernel
accesses. User access is controlled with _PMD_USER flag.
Name it _PAGE_SH instead of _PAGE_PRIVILEGED
_PAGE_HUGE corresponds to the SPS bit which doesn't really tells
On Mon, Sep 3, 2018 at 6:15 PM Henrik Austad wrote:
> This is a respin with a wider audience (all that get_maintainer returned)
> and I know this spams a *lot* of people. Not sure what would be the correct
> way, so my apologies for ruining your inbox.
>
> The 00-INDEX files are supposed to give a
Le 18/04/2018 à 11:02, Naveen N. Rao a écrit :
Print a small help text indicating the exception vector alongside the
trap number to make it easier while analyzing back traces. As an
example:
Unable to handle kernel paging request for data at address 0x
Faulting instruction a
On 09/05/2018 06:06 PM, Christophe Leroy wrote:
Today flags like for instance _PAGE_RW or _PAGE_USER are used through
common parts of code.
Using those directly in common parts of code have proven to lead to
mistakes or misbehaviour, because their use is not always as trivial
as one could think.
Hi Scott,
> -Original Message-
> On Mon, 2018-08-27 at 20:15 +0200, Christian Zigotzky wrote:
> > Hello,
> >
> > Our users tested the RC1 of kernel 4.19 on their P5020 boards today.
> > Unfortunately the USB bug still exists. With mem values bigger than
> 4096M,
> > the USB mouse and keyb
fixes the problem. Bisect log is attached.
Guenter
---
# bad: [387ac6229ecf6e012649d4fc409c5352655a4cf0] Add linux-next specific files
for 20180905
# good: [57361846b52bc686112da6ca5368d11210796804] Linux 4.19-rc2
git bisect start 'HEAD' 'v4.19-rc2'
# good: [668570e8389bb076be
On 09/05/2018 02:03 PM, Aneesh Kumar K.V wrote:
On 09/05/2018 06:06 PM, Christophe Leroy wrote:
Today flags like for instance _PAGE_RW or _PAGE_USER are used through
common parts of code.
Using those directly in common parts of code have proven to lead to
mistakes or misbehaviour, because the
The pci_dn structures are retrieved from a DT, but hot-plugged PCIe
devices don't have them. Don't stop PCIe I/O in absence of pci_dn, so
it is now possible to discover new devices.
Signed-off-by: Sergey Miroshnichenko
---
arch/powerpc/kernel/rtas_pci.c | 89 +---
a
The pci_dn structures can be created not only from DT, but also
directly from newly discovered PCIe devices, so allocate them
dynamically.
Signed-off-by: Sergey Miroshnichenko
---
arch/powerpc/kernel/pci_dn.c | 69 +++-
1 file changed, 52 insertions(+), 17 deletio
Endpoint's pci_dn can be created dynamically.
Signed-off-by: Sergey Miroshnichenko
---
arch/powerpc/kernel/pci_dn.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c
index 5ce752874827..1b9f563d9461 100644
--- a/
PowerNV doesn't depend on PCIe topology info from DT anymore, and now
it is able to enumerate the fabric and assign the bus numbers.
Signed-off-by: Sergey Miroshnichenko
---
arch/powerpc/platforms/powernv/pci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/platforms/powernv/pc
This patchset allows hotplugged PCIe devices to be enumerated during a bus
rescan being issued via sysfs, when the "Presence Detect Changed" interrupt
is not available.
As a first part of our work on adding support for hotplugging PCIe bridges
full of devices without special requirement such as Ho
Reading an empty slot returns all ones, which triggers a false
EEH error event on PowerNV.
New callbacks pcibios_rescan_prepare/done are introduced to
pause/resume the EEH during rescan.
Signed-off-by: Sergey Miroshnichenko
---
arch/powerpc/include/asm/eeh.h | 2 ++
arch/powerpc/
MIPS already has memblock support and all the memory is already registered
with it.
This patch replaces bootmem memory reservations with memblock ones and
removes the bootmem initialization.
Signed-off-by: Mike Rapoport
---
arch/mips/Kconfig | 1 +
arch/mips/kernel/setup.c
Hi,
These patches switch early memory managment to use memblock directly
without any bootmem compatibility wrappers. As the result both bootmem and
nobootmem are removed.
There are still a couple of things to sort out, the most important is the
removal of bootmem usage in MIPS.
Still, IMHO, the
All achitectures select NO_BOOTMEM which essentially becomes 'Y' for any
kernel configuration and therefore it can be removed.
Signed-off-by: Mike Rapoport
---
arch/alpha/Kconfig | 1 -
arch/arc/Kconfig| 1 -
arch/arm/Kconfig| 1 -
arch/arm64/Kconfig | 1 -
arch/c6x
All architectures have been converted to use MEMBLOCK + NO_BOOTMEM. The
bootmem allocator implementation can be removed.
Signed-off-by: Mike Rapoport
---
include/linux/bootmem.h | 16 -
mm/bootmem.c| 811
2 files changed, 827 deletion
All architecures use memblock for early memory management. There is no need
for the CONFIG_HAVE_MEMBLOCK configuration option.
Signed-off-by: Mike Rapoport
---
arch/alpha/Kconfig | 1 -
arch/arc/Kconfig| 1 -
arch/arm/Kconfig| 1 -
a
This will allow using memblock_alloc for memblock allocations returning
virtual address.
The conversion is done using the following semantic patch:
@@
expression e1, e2, e3;
@@
(
- memblock_alloc(e1, e2)
+ memblock_phys_alloc(e1, e2)
|
- memblock_alloc_nid(e1, e2, e3)
+ memblock_phys_alloc_nid(e1
Several bootmem functions and macros are not used. Remove them.
Signed-off-by: Mike Rapoport
---
include/linux/bootmem.h | 26 --
mm/nobootmem.c | 35 ---
2 files changed, 61 deletions(-)
diff --git a/include/linux/bootmem.h b/inc
The conversion is done using
sed -i 's@memblock_virt_alloc@memblock_alloc@g' \
$(git grep -l memblock_virt_alloc)
Signed-off-by: Mike Rapoport
---
arch/arm/kernel/setup.c | 4 ++--
arch/arm/mach-omap2/omap_hwmod.c | 2 +-
arch/arm64/mm/kasan_init.c
The alloc_bootmem_pages_nopanic(size) is a shortcut for
__alloc_bootmem_nopanic(x, PAGE_SIZE, BOOTMEM_LOW_LIMIT) and can be
replaced by memblock_alloc_nopanic(size, PAGE_SIZE)
Signed-off-by: Mike Rapoport
---
drivers/usb/early/xhci-dbc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
dif
The functions are equivalent, just the later does not require nobootmem
translation layer.
Signed-off-by: Mike Rapoport
---
arch/x86/kernel/tce_64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/tce_64.c b/arch/x86/kernel/tce_64.c
index f386bad..54c9b5a 1006
Signed-off-by: Mike Rapoport
---
arch/arc/kernel/unwind.c | 4 ++--
arch/x86/kernel/setup_percpu.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c
index 183391d..2a01dd1 100644
--- a/arch/arc/kernel/unwind.c
+++ b/
With the align parameter memblock_alloc_node() can be used as drop in
replacement for alloc_bootmem_pages_node().
Signed-off-by: Mike Rapoport
---
include/linux/bootmem.h | 4 ++--
mm/sparse.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/bootme
The alloc_bootmem_low(size) allocates low memory with default alignement
and can be replcaed by memblock_alloc_low(size, 0)
Signed-off-by: Mike Rapoport
---
arch/arm64/kernel/setup.c | 2 +-
arch/unicore32/kernel/setup.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/
Use memblock_alloc_try_nid whenever goal (i.e. mininal address is
specified) and memblock_alloc_node otherwise.
Signed-off-by: Mike Rapoport
---
arch/ia64/mm/discontig.c | 6 --
arch/ia64/mm/init.c| 2 +-
arch/powerpc/kernel/setup_64.c | 6 --
arch/sparc/kernel/setup
Signed-off-by: Mike Rapoport
---
arch/ia64/mm/init.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index 3b85c3e..ffcc358 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -447,19 +447,19 @@ int __init create_mem_
Signed-off-by: Mike Rapoport
---
arch/alpha/kernel/pci_iommu.c | 4 ++--
arch/ia64/sn/kernel/io_common.c | 7 ++-
arch/ia64/sn/kernel/setup.c | 4 ++--
3 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
index 6923
The conversion is done using the following semantic patch:
@@
expression e;
@@
- alloc_bootmem_low_pages(e)
+ memblock_alloc_low(e, PAGE_SIZE)
Signed-off-by: Mike Rapoport
---
arch/arc/mm/highmem.c| 2 +-
arch/m68k/atari/stram.c | 3 ++-
arch/m68k/mm/motorola.c
The conversion is done using the following semantic patch:
@@
expression e1, e2, e3;
@@
- __alloc_bootmem(e1, e2, e3)
+ memblock_alloc(e1, e2, e3)
Signed-off-by: Mike Rapoport
---
arch/alpha/kernel/core_cia.c | 2 +-
arch/alpha/kernel/pci_iommu.c | 4 ++--
arch/alpha/kernel/setup.c | 2
The bootmem compatibility APIs are not used and can be removed.
Signed-off-by: Mike Rapoport
---
include/linux/bootmem.h | 47 --
mm/nobootmem.c | 224
2 files changed, 271 deletions(-)
diff --git a/include/linux/bootmem.h b/inc
The free_bootmem and free_bootmem_node are merely wrappers for
memblock_free. Replace their usage with a call to memblock_free using the
following semantic patch:
@@
expression e1, e2, e3;
@@
(
- free_bootmem(e1, e2)
+ memblock_free(e1, e2)
|
- free_bootmem_node(e1, e2, e3)
+ memblock_free(e2, e3)
The free_bootmem_late and memblock_free_late do exactly the same thing:
they iterate over a range and give pages to the page allocator.
Replace calls to free_bootmem_late with calls to memblock_free_late and
remove the bootmem variant.
Signed-off-by: Mike Rapoport
---
arch/sparc/kernel/mdesc.c
The conversion is done using
sed -i 's@free_all_bootmem@memblock_free_all@' \
$(git grep -l free_all_bootmem)
Signed-off-by: Mike Rapoport
---
arch/alpha/mm/init.c | 2 +-
arch/arc/mm/init.c | 2 +-
arch/arm/mm/init.c | 2 +-
arch/ar
The conversion is done using
sed -i 's@__free_pages_bootmem@memblock_free_pages@' \
$(git grep -l __free_pages_bootmem)
Signed-off-by: Mike Rapoport
---
mm/internal.h | 2 +-
mm/memblock.c | 2 +-
mm/nobootmem.c | 2 +-
mm/page_alloc.c | 2 +-
4 files changed, 4 insertions(+), 4 deleti
Move a few remaining functions from nobootmem.c to memblock.c and remove
nobootmem
Signed-off-by: Mike Rapoport
---
mm/Makefile| 1 -
mm/memblock.c | 104 ++
mm/nobootmem.c | 128 -
3 files
Drop BOOTMEM_ALLOC_ACCESSIBLE and BOOTMEM_ALLOC_ANYWHERE in favor of
identical MEMBLOCK definitions.
Signed-off-by: Mike Rapoport
---
arch/ia64/mm/discontig.c | 2 +-
arch/powerpc/kernel/setup_64.c | 2 +-
arch/sparc/kernel/smp_64.c | 2 +-
arch/x86/kernel/setup_percpu.c | 2 +-
arch/x
The conversion is done using the following semantic patch:
@@
expression e;
@@
- __alloc_bootmem(e)
+ memblock_alloc_from(e, 0)
Signed-off-by: Mike Rapoport
---
arch/alpha/kernel/core_marvel.c | 4 ++--
arch/alpha/kernel/pci-noop.c| 4 ++--
arch/alpha/kernel/pci.c | 4 ++
Move remaining definitions and declarations from include/linux/bootmem.h
into include/linux/memblock.h and remove the redundant header.
Signed-off-by: Mike Rapoport
---
arch/alpha/kernel/core_cia.c| 2 +-
arch/alpha/kernel/core_irongate.c | 1 -
arch/alpha/kernel/co
The conversion is done using the following semantic patch:
@@
expression e;
@@
- alloc_bootmem_pages(e)
+ memblock_alloc(e, PAGE_SIZE)
Signed-off-by: Mike Rapoport
---
arch/c6x/mm/init.c | 3 ++-
arch/h8300/mm/init.c | 2 +-
arch/m68k/mm/init.c| 2 +-
arch/m68k
The __alloc_bootmem_node_nopanic() is used only once, there is no reason to
add a wrapper for memblock_alloc_try_nid_nopanic for it.
Signed-off-by: Mike Rapoport
---
arch/x86/kernel/setup_percpu.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/setup_per
The functions are equivalent, just the later does not require nobootmem
translation layer.
Signed-off-by: Mike Rapoport
---
arch/x86/xen/p2m.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 159a897..68c0f14 100644
--- a/arch/x86/
On Wed, Sep 5, 2018 at 11:00 AM Mike Rapoport wrote:
>
> The conversion is done using
>
> sed -i 's@memblock_virt_alloc@memblock_alloc@g' \
> $(git grep -l memblock_virt_alloc)
What's the reason to do this? It seems like a lot of churn even if a
mechanical change.
Rob
On Wed, Sep 05, 2018 at 12:04:36PM -0500, Rob Herring wrote:
> On Wed, Sep 5, 2018 at 11:00 AM Mike Rapoport wrote:
> >
> > The conversion is done using
> >
> > sed -i 's@memblock_virt_alloc@memblock_alloc@g' \
> > $(git grep -l memblock_virt_alloc)
>
> What's the reason to do this? It se
On Wed, 2018-09-05 at 14:08 +, Laurentiu Tudor wrote:
> Hi Scott,
>
> > -Original Message-
> > On Mon, 2018-08-27 at 20:15 +0200, Christian Zigotzky wrote:
> > > Hello,
> > >
> > > Our users tested the RC1 of kernel 4.19 on their P5020 boards today.
> > > Unfortunately the USB bug st
On Wed, Sep 05, 2018 at 10:14:36PM +1000, Nicholas Piggin wrote:
> Hi Greg,
>
> Here are fixes for a few regressions that came in with my
> carelessness with the irq latency work for the hvc subsystem.
> These were independently reported in 2 configurations, and I
> confirmed with another.
>
> I
This series adds an iterator for cpu nodes and converts users over to use
it or of_get_cpu_node in some cases. This allows us to remove the
dependency on device_type property for cpu nodes though removing that
from DTS files will have to wait for some time. In some cases, this makes
the DT search m
Use the for_each_of_cpu_node iterator to iterate over cpu nodes. This
has the side effect of defaulting to iterating using "cpu" node names in
preference to the deprecated (for FDT) device_type == "cpu".
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Michael Ellerman
Cc: linuxppc-dev@lists.o
"device_type" use is deprecated for FDT though it has continued to be used
for nodes like cpu nodes. Use of_get_cpu_node() instead which works using
node names by default. This will allow the eventually removal of cpu
device_type properties.
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Mich
"device_type" use is deprecated for FDT though it has continued to be used
for nodes like cpu nodes. Use of_get_cpu_node() instead which works using
node names by default. This will allow the eventually removal of cpu
device_type properties.
Also, fix a leaked reference and add a missing of_node_p
On Wed, 5 Sep 2018 07:29:51 -0700
Guenter Roeck wrote:
> Hi,
>
> On Tue, Aug 28, 2018 at 09:20:34PM +1000, Nicholas Piggin wrote:
> > Similarly to the previous patch, this tries to optimise dirty/accessed
> > bits in ptes to avoid access costs of hardware setting them.
> >
>
> This patch res
This series addresses a couple of issues I have with building dts files.
First, the ability to build all the dts files in the tree. This has been
supported on most arches for some time with powerpc being the main
exception. The reason powerpc wasn't supported was it needed a change
in the location
Align powerpc with other architectures which build the dtb files in the
same directory as the dts files. This is also in line with most other
build targets which are located in the same directory as the source.
This move will help enable the 'dtbs' target which builds all the dtbs
regardless of ker
There is nothing arch specific about building dtb files other than their
location under /arch/*/boot/dts/. Keeping each arch aligned is a pain.
The dependencies and supported targets are all slightly different.
Also, a cross-compiler for each arch is needed, but really the host
compiler preprocesso
Enable the 'dtbs' target for powerpc. This allows building all the dts
files in arch/powerpc/boot/dts/ when COMPILE_TEST and OF_ALL_DTBS are
enabled.
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Michael Ellerman
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Rob Herring
---
Please ack s
On 09/05/2018 03:18 PM, Nicholas Piggin wrote:
On Wed, 5 Sep 2018 07:29:51 -0700
Guenter Roeck wrote:
Hi,
On Tue, Aug 28, 2018 at 09:20:34PM +1000, Nicholas Piggin wrote:
Similarly to the previous patch, this tries to optimise dirty/accessed
bits in ptes to avoid access costs of hardware set
Mike Rapoport 於 2018年9月6日 週四 上午12:04寫道:
>
> Hi,
>
> These patches switch early memory managment to use memblock directly
> without any bootmem compatibility wrappers. As the result both bootmem and
> nobootmem are removed.
>
> There are still a couple of things to sort out, the most important is t
We want to use this to support customized huge page migration.
Signed-off-by: Aneesh Kumar K.V
---
include/linux/hugetlb.h | 2 ++
mm/hugetlb.c| 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index c39d9170a8a0
This helper does a get_user_pages_fast and if it find pages in the CMA area
it will try to migrate them before taking page reference. This makes sure that
we don't keep non-movable pages (due to page reference count) in the CMA area.
Not able to move pages out of CMA area result in CMA allocation f
THP pages can get split during different code paths. An incremented reference
count do imply we will not split the compound page. But the pmd entry can be
converted to level 4 pte entries. Keep the code simpler by allowing large
IOMMU page size only if the guest ram is backed by hugetlb pages.
Sig
Current code doesn't do page migration if the page allocated is a compound page.
With HugeTLB migration support, we can end up allocating hugetlb pages from
CMA region. Also THP pages can be allocated from CMA region. This patch updates
the code to handle compound pages correctly.
This use the new
86 matches
Mail list logo