mremap HAVE_MOVE_PMD/PUD optimization time comparison for 1GB region:
1GB mremap - Source PTE-aligned, Destination PTE-aligned
mremap time: 2292772ns
1GB mremap - Source PMD-aligned, Destination PMD-aligned
mremap time: 1158928ns
1GB mremap - Source PUD-aligned, Destination
flush_tlb_range is special in that we don't specify the page size used
for the translation. Hence when flushing TLB we flush the translation cache
for all possible page sizes. The kernel also uses the same interface when
moving page tables around. Such a move requires us to flush the page walk
Architectures like ppc64 support faster mremap only with radix
translation. Hence allow a runtime check w.r.t support for fast mremap.
Signed-off-by: Aneesh Kumar K.V
---
arch/powerpc/include/asm/tlb.h | 6 ++
mm/mremap.c| 15 ++-
2 files changed, 20
Update _tlbiel_pid() such that we can avoid build errors like below when
using this function in other places.
arch/powerpc/mm/book3s64/radix_tlb.c: In function
‘__radix__flush_tlb_range_psize’:
arch/powerpc/mm/book3s64/radix_tlb.c:114:2: warning: ‘asm’ operand 3 probably
does not match
pmd/pud_populate is the right interface to be used to set the respective
page table entries. Some architectures like ppc64 do assume that set_pmd/pud_at
can only be used to set a hugepage PTE. Since we are not setting up a hugepage
PTE here, use the pmd/pud_populate interface.
Signed-off-by:
With two level page table don't enable move_normal_pud.
Signed-off-by: Aneesh Kumar K.V
---
mm/mremap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/mremap.c b/mm/mremap.c
index 92ab7d24a587..795a7d628b53 100644
--- a/mm/mremap.c
+++ b/mm/mremap.c
@@ -276,7 +276,7 @@
With TRANSPARENT_HUGEPAGE_PUD enabled the kernel can find huge PUD entries.
Add a helper to move huge PUD entries on mremap().
This will be used by a later patch to optimize mremap of PUD_SIZE aligned
level 4 PTE mapped address
This also make sure we support mremap on huge PUD entries even with
With a large mmap map size, we can overlap with the text area and using
MAP_FIXED results in unmapping that area. Switch to MAP_FIXED_NOREPLACE
and handle the EEXIST error.
Reviewed-by: Kalesh Singh
Signed-off-by: Aneesh Kumar K.V
---
tools/testing/selftests/vm/mremap_test.c | 5 +++--
1 file
Instead of hardcoding 4K page size fetch it using sysconf(). For the performance
measurements test still assume 2M and 1G are hugepage sizes.
Reviewed-by: Kalesh Singh
Signed-off-by: Aneesh Kumar K.V
---
tools/testing/selftests/vm/mremap_test.c | 113 ---
1 file changed, 61
CPU 1 CPU 2 CPU 3
mremap(old_addr, new_addr) page_shrinker/try_to_unmap_one
mmap_write_lock_killable()
addr = old_addr
lock(pte_ptl)
lock(pmd_ptl)
pmd = *old_pmd
CPU 1 CPU 2 CPU 3
mremap(old_addr, new_addr) page_shrinker/try_to_unmap_one
mmap_write_lock_killable()
addr = old_addr
lock(pte_ptl)
lock(pud_ptl)
pud = *old_pud
This patchset enables MOVE_PMD/MOVE_PUD support on power. This requires
the platform to support updating higher-level page tables without
updating page table entries. This also needs to invalidate the Page Walk
Cache on architecture supporting the same.
Changes from v6:
* Update ppc64
Hi Kefeng,
Le 07/06/2021 à 02:55, Kefeng Wang a écrit :
On 2021/6/7 5:29, Mike Rapoport wrote:
Hello Kefeng,
On Fri, Jun 04, 2021 at 03:06:18PM +0800, Kefeng Wang wrote:
Add setup_initial_init_mm() helper, then use it
to cleanup the text, data and brk setup code.
v2:
- change argument from
On Fri, Apr 30, 2021 at 11:36:10AM -0300, Leonardo Bras wrote:
> During memory hotunplug, after each LMB is removed, the HPT may be
> resized-down if it would map a max of 4 times the current amount of memory.
> (2 shifts, due to introduced histeresis)
>
> It usually is not an issue, but it can
On Fri, Apr 30, 2021 at 11:36:08AM -0300, Leonardo Bras wrote:
> Every time a memory hotplug happens, and the memory limit crosses a 2^n
> value, it may be necessary to perform HPT resizing-up, which can take
> some time (over 100ms in my tests).
>
> It usually is not an issue, but it can take
On Fri, Apr 30, 2021 at 11:36:06AM -0300, Leonardo Bras wrote:
> Because hypervisors may need to create HPTs without knowing the guest
> page size, the smallest used page-size (4k) may be chosen, resulting in
> a HPT that is possibly bigger than needed.
>
> On a guest with bigger page-sizes, the
[ add Sachin who reported this commit in -next ]
On Thu, May 20, 2021 at 10:52 PM Christoph Hellwig wrote:
>
> Convert the nvdimm-pmem driver to use the blk_alloc_disk and
> blk_cleanup_disk helpers to simplify gendisk and request_queue
> allocation.
>
> Signed-off-by: Christoph Hellwig
> ---
>
https://bugzilla.kernel.org/show_bug.cgi?id=213079
--- Comment #5 from Oliver O'Halloran (ooh...@gmail.com) ---
Hmm, it's pretty weird to see an NVMe drive using LSIs. Not too sure what to
make of that. I figure there's something screwy going on with interrupt
routing, but I don't have any g5
On Sat, Jun 5, 2021 at 1:48 AM Will Deacon wrote:
>
> Hi Claire,
>
> On Thu, May 27, 2021 at 08:58:30PM +0800, Claire Chang wrote:
> > This series implements mitigations for lack of DMA access control on
> > systems without an IOMMU, which could result in the DMA accessing the
> > system memory
Use for_each_child_of_node() macro instead of open coding it.
Reported-by: Hulk Robot
Signed-off-by: Zou Wei
---
drivers/macintosh/macio_asic.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/macintosh/macio_asic.c b/drivers/macintosh/macio_asic.c
index
Add setup_initial_init_mm() helper to setup kernel text,
data and brk.
Cc: linux-snps-...@lists.infradead.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-c...@vger.kernel.org
Cc: uclinux-h8-de...@lists.sourceforge.jp
Cc: linux-m...@lists.linux-m68k.org
Cc: openr...@lists.librecores.org
Cc:
On 2021/6/7 5:31, Mike Rapoport wrote:
Hello Kefeng,
On Fri, Jun 04, 2021 at 03:06:19PM +0800, Kefeng Wang wrote:
Add setup_initial_init_mm() helper to setup kernel text,
data and brk.
Cc: linux-snps-...@lists.infradead.org
Cc: linux-arm-ker...@lists.infradead.org
Cc:
Guenter Roeck writes:
> On 5/17/21 4:17 AM, Michael Ellerman wrote:
>> Guenter Roeck writes:
>>> On 3/18/21 10:25 AM, Christophe Leroy wrote:
Commit 92c8c16f3457 ("powerpc/embedded6xx: Remove C2K board support")
removed the last selector of CONFIG_MV64X60.
Therefore
On 2021/6/7 5:29, Mike Rapoport wrote:
Hello Kefeng,
On Fri, Jun 04, 2021 at 03:06:18PM +0800, Kefeng Wang wrote:
Add setup_initial_init_mm() helper, then use it
to cleanup the text, data and brk setup code.
v2:
- change argument from "char *" to "void *" setup_initial_init_mm()
tforms/pseries/vas.c:266:13: error: no previous prototype for
function 'pseries_vas_fault_thread_fn' [-Werror,-Wmissing-prototypes]
Error/Warning ids grouped by kconfigs:
gcc_recent_errors
`-- powerpc64-randconfig-r003-20210606
|-- ERROR:disable_kuap_key-drivers-fsi-fsi-scom.ko-undefined
defconfig
i386defconfig
mips allyesconfig
powerpc allmodconfig
powerpc allnoconfig
x86_64 randconfig-a002-20210606
x86_64 randconfig-a004-20210606
x86_64
-20210606
x86_64 randconfig-a004-20210606
x86_64 randconfig-a003-20210606
x86_64 randconfig-a006-20210606
x86_64 randconfig-a005-20210606
x86_64 randconfig-a001-20210606
i386 randconfig-a003-20210606
i386
Hello Kefeng,
On Fri, Jun 04, 2021 at 03:06:19PM +0800, Kefeng Wang wrote:
> Add setup_initial_init_mm() helper to setup kernel text,
> data and brk.
>
> Cc: linux-snps-...@lists.infradead.org
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-c...@vger.kernel.org
> Cc:
Hello Kefeng,
On Fri, Jun 04, 2021 at 03:06:18PM +0800, Kefeng Wang wrote:
> Add setup_initial_init_mm() helper, then use it
> to cleanup the text, data and brk setup code.
>
> v2:
> - change argument from "char *" to "void *" setup_initial_init_mm()
> suggested by Geert Uytterhoeven
> - use
The pull request you sent on Sun, 06 Jun 2021 22:44:24 +1000:
> https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
> tags/powerpc-5.13-5
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/bd7b12aa6081c3755b693755d608f58e13798a60
Thank you!
--
https://bugzilla.kernel.org/show_bug.cgi?id=213079
--- Comment #4 from Erhard F. (erhar...@mailbox.org) ---
Created attachment 297191
--> https://bugzilla.kernel.org/attachment.cgi?id=297191=edit
bisect.log
Turns out the problem was introduced between v5.11 and v5.12 by following
commit:
#
Le 06/06/2021 à 19:43, Christophe Leroy a écrit :
Michael, I sent it as a Fixup because it's in next-test, but if you prefer I
can sent a v3.
Christophe
Kernel test robot reported:
ERROR: modpost: "disable_kuap_key" [net/phonet/pn_pep.ko] undefined!
ERROR: modpost: "disable_kuap_key"
Kernel test robot reported:
>> ERROR: modpost: "disable_kuap_key" [net/phonet/pn_pep.ko] undefined!
>> ERROR: modpost: "disable_kuap_key" [net/phonet/phonet.ko] undefined!
>> ERROR: modpost: "disable_kuap_key" [net/decnet/decnet.ko] undefined!
>> ERROR: modpost: "disable_kuap_key"
Hi Christoph,
On 6/1/21 11:53 PM, Christoph Hellwig wrote:
> Use the blk_mq_alloc_disk API to simplify the gendisk and request_queue
> allocation.
>
> drivers/block/ps3disk.c | 36 ++--
> 1 file changed, 14 insertions(+), 22 deletions(-)
I tested your
Running pmem tests [1] against latest next tree booted on powerpc
results into following crash
[ 1307.124289] Kernel attempted to read user page (330) - exploit attempt?
(uid: 0)
[ 1307.124319] BUG: Kernel NULL pointer dereference on read at 0x0330
[ 1307.124328] Faulting instruction
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
Hi Linus,
Please pull some more powerpc fixes for 5.13:
The following changes since commit d72500f992849d31ebae8f821a023660ddd0dcc2:
powerpc/64s/syscall: Fix ptrace syscall info with scv syscalls (2021-05-21
00:58:56 +1000)
are available in
Nicholas Piggin writes:
> Rather than bifurcate the call depending on whether or not HV is
> possible, and have the HV entry test for PR, just make a single
> common point which does the demultiplexing. This makes it simpler
> to add another type of exit handler.
>
> Acked-by: Paul Mackerras
>
On Fri, 14 May 2021 15:10:41 +0800, YueHaibing wrote:
> dlpar_memory_remove() is never used, so can be removed.
Applied to powerpc/next.
[1/1] powerpc/pseries/memhotplug: Remove unused inline function
dlpar_memory_remove()
On Sat, 8 May 2021 10:06:42 +0530, Vaibhav Jain wrote:
> Currently drc_pmem_qeury_stats() generates a dev_err in case
> "Enable Performance Information Collection" feature is disabled from
> HMC or performance stats are not available for an nvdimm. The error is
> of the form below:
>
> papr_scm
On Mon, 10 May 2021 21:19:24 +0800, Zhen Lei wrote:
> The statement of the last "if (xxx)" branch is the same as the "else"
> branch. Delete it to simplify code.
>
> No functional change.
Applied to powerpc/next.
[1/1] powerpc/pseries/ras: Delete a redundant condition branch
On Tue, 11 May 2021 07:18:31 -0500, Sathvika Vasireddy wrote:
> This patchset adds emulation support and tests for setb instruction.
> Test cases are written to test different CR fields with different
> bits set in each field.
>
> v1->v2:
> - Extract all the bits of the CR field (bfa) and check
On Tue, 18 May 2021 13:40:41 -0700, Nick Desaulniers wrote:
> While looking at -Wundef warnings, the #if CONFIG_EEH stood out as a
> possible candidate to convert to #ifdef CONFIG_EEH.
>
> It seems that based on Kconfig dependencies it's not possible to build
> this file without CONFIG_EEH
On Tue, 18 May 2021 13:58:57 -0700, Nick Desaulniers wrote:
> Until clang-12, clang would attempt to assemble 32b powerpc assembler in
> 64b emulation mode when using a 64b target triple with -m32, leading to
> errors during the build of the compat VDSO. Simply disable all of
> CONFIG_COMPAT;
On Fri, 14 May 2021 11:24:20 -0500, Nathan Lynch wrote:
> Log buffer entries that are too long for dump_log_buf()'s small
> local buffer are:
>
> * silently discarded when a single-line entry is too long;
> kmsg_dump_get_line() returns true but sets to 0.
> * silently truncated to the last
On Fri, 14 May 2021 16:44:22 -0500, Nathan Lynch wrote:
> hvterm_raw_put_chars() calls hvc_put_chars(), which may return -EAGAIN
> when the underlying hcall returns a "busy" status, but udbg_hvc_putc()
> doesn't handle this. When using xmon on a PowerVM guest, this can
> result in incomplete or
On Fri, 7 May 2021 16:42:25 +1000, Michael Ellerman wrote:
> We recently discovered some of our mitigation patching was not safe
> against other CPUs running concurrently.
>
> Add a test which enable/disables all mitigations in a tight loop while
> also running some stress load. On an unpatched
On Wed, 28 Apr 2021 23:27:00 +1000, Michael Ellerman wrote:
> Make it easier to generate a 32 or 64-bit specific randconfig.
Applied to powerpc/next.
[1/1] powerpc/Makefile: Add ppc32/ppc64_randconfig targets
https://git.kernel.org/powerpc/c/f259fb893c69d60ac1c7192f1974635c554fd716
cheers
On Thu, 13 May 2021 19:03:40 +0800, Jiapeng Chong wrote:
> Clean up the following includecheck warning:
>
> ./tools/testing/selftests/powerpc/tm/tm-vmx-unavail.c: pthread.h is
> included more than once.
>
> No functional change.
Applied to powerpc/next.
[1/1] selftests/powerpc: Fix duplicate
On Wed, 12 May 2021 17:28:05 -0300, Daniel Henrique Barboza wrote:
> changes from v1:
> - patch 1: added David's r-b
> - patch 2:
> * removed the DRCONF_MEM_RESERVED assumption for
> dlpar_memory_remove_by_ic()
> * reworded the commit msg
> - patch 3: dropped. the differences between
On Wed, 5 May 2021 14:02:12 + (UTC), Christophe Leroy wrote:
> Following PACA related items are not used anymore by ASM code:
> PACA_SIZE, PACACONTEXTID, PACALOWSLICESPSIZE, PACAHIGHSLICEPSIZE,
> PACA_SLB_ADDR_LIMIT, MMUPSIZEDEFSIZE, PACASLBCACHE, PACASLBCACHEPTR,
> PACASTABRR,
On Thu, 13 May 2021 09:07:51 + (UTC), Christophe Leroy wrote:
> Some architectures like powerpc require a non standard
> allocation of optinsn page, because module pages are
> too far from the kernel for direct branches.
>
> Define weak alloc_optinsn_page() and free_optinsn_page(), that
>
On Thu, 6 May 2021 13:30:51 + (UTC), Christophe Leroy wrote:
> If neither KUAP nor PPC64 is selected, there is nothing in the second
> union of struct pt_regs, so the alignment padding is waste of memory.
Applied to powerpc/next.
[1/1] powerpc: Only pad struct pt_regs when needed
On Fri, 7 May 2021 06:00:58 + (UTC), Christophe Leroy wrote:
> Commit 39c8bf2b3cc1 ("powerpc: Retire e200 core (mpc555x processor)")
> removed CONFIG_E200.
> Commit f9158d58a4e1 ("powerpc/mm: Add mask of always present MMU
> features") was merged in the same cycle and added a new use of
>
On Fri, 7 May 2021 05:45:52 + (UTC), Christophe Leroy wrote:
> mmu_has_feature(MMU_FTR_TYPE_RADIX) can be evaluated regardless of
> CONFIG_PPC_RADIX_MMU.
>
> When CONFIG_PPC_RADIX_MMU is not set, mmu_has_feature(MMU_FTR_TYPE_RADIX)
> will evaluate to 'false' at build time because
On Fri, 7 May 2021 09:24:43 + (UTC), Christophe Leroy wrote:
> include/linux/threads.h defines a default value for CONFIG_NR_CPUS
> but suggests the architectures should always define it.
>
> So do it, when CONFIG_SMP is not selected set CONFIG_NR_CPUS to 1.
Applied to powerpc/next.
[1/1]
On Fri, 7 May 2021 16:37:53 + (UTC), Christophe Leroy wrote:
> mpc885_ads_defconfig is used by several CI robots.
>
> A few functionnalities are specific to 8xx and are not covered
> by other default configuration, so improve build test coverage
> by adding them to mpc885_ads_defconfig.
>
>
On Fri, 7 May 2021 05:02:02 + (UTC), Christophe Leroy wrote:
> The SW LRU is in an MMU feature section. When not used, that's a
> dozen of NOPs to fetch for nothing.
>
> Define an ALT section that does the few remaining operations.
>
> That also avoids a double read on SRR1 in the SW LRU
On Thu, 6 May 2021 13:27:31 + (UTC), Christophe Leroy wrote:
> In most cases, kuap_update_sr() will update a single segment
> register.
>
> We know that first update will always be done, if there is no
> segment register to update at all, kuap_update_sr() is not
> called.
>
> [...]
Applied
On Thu, 6 May 2021 09:10:01 + (UTC), Christophe Leroy wrote:
> Last user of m8260_gorom() was removed by
> Commit 917f0af9e5a9 ("powerpc: Remove arch/ppc and include/asm-ppc")
> removed last user of m8260_gorom().
>
> In fact m8260_gorom() was ported to arch/powerpc/ but the
> platform using
On Mon, 10 May 2021 15:51:34 +0800, Zhang Jianhua wrote:
> s/input buffer/output buffer/
> s/length of the input buffer/length of the input buffer/
>
>
Applied to powerpc/next.
[1/1] ppc: boot: Fix a typo in the file decompress.c
On Thu, 6 May 2021 13:32:18 + (UTC), Christophe Leroy wrote:
> Move the PAGE bits into pgtable.h to be more similar to book3s/64.
Applied to powerpc/next.
[1/1] powerpc/32s: Remove asm/book3s/32/hash.h
https://git.kernel.org/powerpc/c/ca8cc36901e9bdd01d371f6236faf9f61d1325d1
cheers
On Wed, 26 May 2021 22:00:05 +1000, Nicholas Piggin wrote:
> real_vmalloc_addr() does not currently work for huge vmalloc, which is
> what the reverse map can be allocated with for radix host, hash guest.
>
> Extract the hugepage aware equivalent from eeh code into a helper, and
> convert
On Wed, 26 May 2021 16:45:40 +0200, Frederic Barrat wrote:
> This reverts commit 3c0468d4451eb6b4f6604370639f163f9637a479.
>
> That commit was breaking alignment guarantees for the DMA address when
> allocating coherent mappings, as described in
> Documentation/core-api/dma-api-howto.rst
>
> It
On Wed, 26 May 2021 22:58:51 +1000, Nicholas Piggin wrote:
> Similar to commit 25edcc50d76c ("KVM: PPC: Book3S HV: Save and restore
> FSCR in the P9 path"), ensure the P7/8 path saves and restores the host
> FSCR. The logic explained in that patch actually applies there to the
> old path well: a
On Wed, 19 May 2021 16:17:16 +0530, Naveen N. Rao wrote:
> Various fixes and some code refactoring for kprobes on powerpc. The
> first patch fixes an invalid access if probing the first instruction in
> a kernel module. The rest are small cleanups. More details in the
> individual patches.
>
> -
65 matches
Mail list logo