Re: [PATCH v2 00/11] Introduces new count-based method for monitoring lockless pagetable wakls

2019-09-20 Thread Leonardo Bras
, I could see munmap's time reduction from 275 seconds to 418ms. > Leonardo Bras (11): > powerpc/mm: Adds counting method to monitor lockless pgtable walks > asm-generic/pgtable: Adds dummy functions to monitor lockless pgtable > walks > mm/gup: Applies counting method to mon

Re: [PATCH v2 00/11] Introduces new count-based method for monitoring lockless pagetable wakls

2019-09-20 Thread Leonardo Bras
On Fri, 2019-09-20 at 16:50 -0300, Leonardo Bras wrote: > *** BLURB HERE *** Sorry, something gone terribly wrong with my cover letter. I will try to find it and send here, or rewrite it. Best regards, signature.asc Description: This is a digitally signed message part

[PATCH v2 09/11] powerpc/kvm/book3s_64: Applies counting method to monitor lockless pgtbl walks

2019-09-20 Thread Leonardo Bras
Applies the counting-based method for monitoring all book3s_64-related functions that do lockless pagetable walks. Signed-off-by: Leonardo Bras --- It may be necessary to merge an older patch first: powerpc: kvm: Reduce calls to get current->mm by storing the value locally Link: ht

[PATCH v2 11/11] powerpc/mm/book3s64/pgtable: Uses counting method to skip serializing

2019-09-20 Thread Leonardo Bras
Skips slow part of serialize_against_pte_lookup if there is no running lockless pagetable walk. Signed-off-by: Leonardo Bras --- arch/powerpc/mm/book3s64/pgtable.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/mm/book3s64/pgtable.c b/arch/powerpc/mm

[PATCH v2 10/11] powerpc/book3s_64: Enables counting method to monitor lockless pgtbl walk

2019-09-20 Thread Leonardo Bras
Enables count-based monitoring method for lockless pagetable walks on PowerPC book3s_64. Other architectures/platforms fallback to using generic dummy functions. Signed-off-by: Leonardo Bras --- arch/powerpc/include/asm/book3s/64/pgtable.h | 5 + 1 file changed, 5 insertions(+) diff --git

[PATCH v2 08/11] powerpc/kvm/book3s_hv: Applies counting method to monitor lockless pgtbl walks

2019-09-20 Thread Leonardo Bras
Applies the counting-based method for monitoring all book3s_hv related functions that do lockless pagetable walks. Signed-off-by: Leonardo Bras --- arch/powerpc/kvm/book3s_hv_nested.c | 8 arch/powerpc/kvm/book3s_hv_rm_mmu.c | 9 - 2 files changed, 16 insertions(+), 1 deletion

[PATCH v2 07/11] powerpc/kvm/e500: Applies counting method to monitor lockless pgtbl walks

2019-09-20 Thread Leonardo Bras
Applies the counting-based method for monitoring lockless pgtable walks on kvmppc_e500_shadow_map(). Signed-off-by: Leonardo Bras --- arch/powerpc/kvm/e500_mmu_host.c | 4 1 file changed, 4 insertions(+) diff --git a/arch/powerpc/kvm/e500_mmu_host.c b/arch/powerpc/kvm/e500_mmu_host.c

[PATCH v2 06/11] powerpc/mm/book3s64/hash: Applies counting method to monitor lockless pgtbl walks

2019-09-20 Thread Leonardo Bras
Applies the counting-based method for monitoring all hash-related functions that do lockless pagetable walks. Signed-off-by: Leonardo Bras --- arch/powerpc/mm/book3s64/hash_tlb.c | 2 ++ arch/powerpc/mm/book3s64/hash_utils.c | 7 +++ 2 files changed, 9 insertions(+) diff --git a/arch

[PATCH v2 05/11] powerpc/perf: Applies counting method to monitor lockless pgtbl walks

2019-09-20 Thread Leonardo Bras
Applies the counting-based method for monitoring lockless pgtable walks on read_user_stack_slow. Signed-off-by: Leonardo Bras --- arch/powerpc/perf/callchain.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/perf/callchain.c b/arch/powerpc/perf/callchain.c

[PATCH v2 04/11] powerpc/mce_power: Applies counting method to monitor lockless pgtbl walks

2019-09-20 Thread Leonardo Bras
Applies the counting-based method for monitoring lockless pgtable walks on addr_to_pfn(). Signed-off-by: Leonardo Bras --- arch/powerpc/kernel/mce_power.c | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kernel/mce_power.c b/arch/powerpc/kernel

[PATCH v2 02/11] asm-generic/pgtable: Adds dummy functions to monitor lockless pgtable walks

2019-09-20 Thread Leonardo Bras
approach, that counts the number of lockless pagetable walks happening on the process. Given that there are lockless pagetable walks on generic code, it's necessary to create dummy functions for archs that won't use the approach. Signed-off-by: Leonardo Bras --- include/asm-generic/pgtable.h

[PATCH v2 03/11] mm/gup: Applies counting method to monitor gup_pgd_range

2019-09-20 Thread Leonardo Bras
this method. Signed-off-by: Leonardo Bras --- mm/gup.c | 4 1 file changed, 4 insertions(+) diff --git a/mm/gup.c b/mm/gup.c index 98f13ab37bac..675e4be27082 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -2404,6 +2404,7 @@ int get_user_pages_fast(unsigned long start, int nr_pages

[PATCH v2 00/11] Introduces new count-based method for monitoring lockless pagetable wakls

2019-09-20 Thread Leonardo Bras
*** BLURB HERE *** Leonardo Bras (11): powerpc/mm: Adds counting method to monitor lockless pgtable walks asm-generic/pgtable: Adds dummy functions to monitor lockless pgtable walks mm/gup: Applies counting method to monitor gup_pgd_range powerpc/mce_power: Applies counting method

[PATCH v2 01/11] powerpc/mm: Adds counting method to monitor lockless pgtable walks

2019-09-20 Thread Leonardo Bras
end_lockless_pgtbl_walk(mm) Insert after the end of any lockless pgtable walk (Mostly after the ptep is last used) running_lockless_pgtbl_walk(mm) Returns the number of lockless pgtable walks running Signed-off-by: Leonardo Bras --- arch/powerpc/include/asm/book3s/64/mmu.h | 3

Re: [PATCH 1/1] powerpc: kvm: Reduce calls to get current->mm by storing the value locally

2019-09-19 Thread Leonardo Bras
Hello Paul, I sent this patch, but I have a question: On Thu, 2019-09-19 at 19:27 -0300, Leonardo Bras wrote: > Reduces the number of calls to get_current() in order to get the value of > current->mm by doing it once and storing the value, since it is not > supposed to change ins

Re: [PATCH v2 1/1] powerpc/pseries/hotplug-memory.c: Change rc variable to bool

2019-09-19 Thread Leonardo Bras
Hello Michael, Any feedback on this patch? Best regards, On Fri, 2019-08-02 at 15:45 +0200, David Hildenbrand wrote: > On 02.08.19 15:39, Leonardo Bras wrote: > > Changes the return variable to bool (as the return value) and > > avoids doing a ternary operation b

[PATCH 1/1] powerpc: kvm: Reduce calls to get current->mm by storing the value locally

2019-09-19 Thread Leonardo Bras
Reduces the number of calls to get_current() in order to get the value of current->mm by doing it once and storing the value, since it is not supposed to change inside the same process). Signed-off-by: Leonardo Bras --- arch/powerpc/kvm/book3s_64_mmu_hv.c | 11 ++- 1 file changed

Re: [PATCH 1/1] powerpc: mm: Check if serialize_against_pte_lookup() really needs to run

2019-09-17 Thread Leonardo Bras
behavior. > Move that to ppc64 specific mm_context_t. Ok, fixed! I will send that on v2. Best regards, Leonardo Bras signature.asc Description: This is a digitally signed message part

[PATCH 1/1] powerpc: mm: Check if serialize_against_pte_lookup() really needs to run

2019-09-16 Thread Leonardo Bras
kip smp_call_function_many(). On my workload (qemu), I could see munmap's time reduction from 275 seconds to 418ms. Signed-off-by: Leonardo Bras --- I need more experienced people's help in order to understand if this is really a valid improvement, and if mm_struct is the best place to put such counter. Tha

Re: [PATCH 1/1] pseries/hotplug-memory.c: Change rc variable to bool

2019-08-02 Thread Leonardo Bras
On Fri, 2019-08-02 at 09:23 +0200, David Hildenbrand wrote: > subtle changes in a "Change rc variable to bool" > patch should be avoided. You are right. If it was a valid change, I should give it a patch for itself. I will keep that in mind next time. Thanks for helping! signature.asc

[PATCH v2 1/1] powerpc/pseries/hotplug-memory.c: Change rc variable to bool

2019-08-02 Thread Leonardo Bras
Changes the return variable to bool (as the return value) and avoids doing a ternary operation before returning. Signed-off-by: Leonardo Bras --- Changes in v2: - Restore previous and-ing logic on rc. arch/powerpc/platforms/pseries/hotplug-memory.c | 6 +++--- 1 file changed, 3 insertions

Re: [PATCH 1/1] pseries/hotplug-memory.c: Replace nested ifs by switch-case

2019-08-02 Thread Leonardo Bras
On Fri, 2019-08-02 at 22:26 +1000, Michael Ellerman wrote: > Leonardo Bras writes: > > I noticed these nested ifs can be easily replaced by switch-cases, > > which can improve readability. > > > > Signed-off-by: Leonardo Bras > > --- > > .../platfor

[PATCH 1/1] pseries/hotplug-memory.c: Change rc variable to bool

2019-08-01 Thread Leonardo Bras
Changes the return variable to bool (as the return value) and avoids doing a ternary operation before returning. Also, since rc will always be true, there is no need to do rc &= bool, as (true && X) will result in X. Signed-off-by: Leonardo Bras --- arch/powerpc/platforms/pse

[PATCH 1/1] pseries/hotplug-memory.c: Replace nested ifs by switch-case

2019-08-01 Thread Leonardo Bras
I noticed these nested ifs can be easily replaced by switch-cases, which can improve readability. Signed-off-by: Leonardo Bras --- .../platforms/pseries/hotplug-memory.c| 26 +-- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/arch/powerpc/platforms

Re: [RFC PATCH] Replaces long number representation by BIT() macro

2019-06-13 Thread Leonardo Bras
Sorry, there is a typo on my commit message. 's/BIT_MASK/BIT/' On Thu, 2019-06-13 at 15:02 -0300, Leonardo Bras wrote: > The main reason of this change is to make these bitmasks more readable. > > The macro ASM_CONST() just appends an UL to it's parameter, so it can be > eas

[RFC PATCH] Replaces long number representation by BIT() macro

2019-06-13 Thread Leonardo Bras
, as it is used on .S files, just leaving the parameter as is. However, I have noticed no difference in the generated binary after this change. Signed-off-by: Leonardo Bras --- arch/powerpc/include/asm/firmware.h | 75 ++--- 1 file changed, 37 insertions(+), 38 deletions(-) diff

Re: [RFC V3] mm: Generalize and rename notify_page_fault() as kprobe_page_fault()

2019-06-11 Thread Leonardo Bras
On Tue, 2019-06-11 at 10:44 +0530, Anshuman Khandual wrote: > > On 06/10/2019 08:57 PM, Leonardo Bras wrote: > > On Mon, 2019-06-10 at 08:09 +0530, Anshuman Khandual wrote: > > > > > +/* > > > > > + * To be potentially processing a kprobe fault a

Re: [PATCH v2] powerpc/perf: Use cpumask_last() to determine the designated cpu for nest/core units.

2019-06-10 Thread Leonardo Bras
On Mon, 2019-06-10 at 12:02 +0530, Anju T Sudhakar wrote: > Nest and core imc(In-memory Collection counters) assigns a particular > cpu as the designated target for counter data collection. > During system boot, the first online cpu in a chip gets assigned as > the designated cpu for that chip(for

Re: [RFC V3] mm: Generalize and rename notify_page_fault() as kprobe_page_fault()

2019-06-10 Thread Leonardo Bras
On Mon, 2019-06-10 at 08:09 +0530, Anshuman Khandual wrote: > > > +/* > > > + * To be potentially processing a kprobe fault and to be allowed > > > + * to call kprobe_running(), we have to be non-preemptible. > > > + */ > > > +if (kprobes_built_in() && !preemptible() &&

Re: [PATCH v3 1/9] KVM: PPC: Ultravisor: Add PPC_UV config option

2019-06-07 Thread Leonardo Bras
On Thu, 2019-06-06 at 14:36 -0300, Claudio Carvalho wrote: > From: Anshuman Khandual > > CONFIG_PPC_UV adds support for ultravisor. > > Signed-off-by: Anshuman Khandual > Signed-off-by: Bharata B Rao > Signed-off-by: Ram Pai > [Update config help and commit message] > Signed-off-by:

[PATCH 19/20] [Bionic] (upstream) KVM: PPC: Book3S HV: Don't use compound_order to determine host mapping size

2019-03-11 Thread Leonardo Bras
neesh Kumar K.V" Cc: kvm-...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Nicholas Piggin Signed-off-by: Paul Mackerras (cherry picked from commit 71d29f43b6332badc5598c656616a62575e83342 v4.19) Signed-off-by: Leonardo Bras --- arch/powerpc/kvm/book3s_64_mmu_ra

[PATCH 19/20] KVM: PPC: Book3S HV: Don't use compound_order to determine host mapping size

2019-03-11 Thread Leonardo Bras
nel.org Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Nicholas Piggin Signed-off-by: Paul Mackerras Signed-off-by: Leonardo Bras --- arch/powerpc/kvm/book3s_64_mmu_radix.c | 91 +++--- 1 file changed, 37 insertions(+), 54 deletions(-) diff --git a/arch/powerpc/kvm/book3s_64_mmu_

[PATCH 19/20] KVM: PPC: Book3S HV: Don't use compound_order to determine host mapping size

2019-03-08 Thread Leonardo Bras
From: Nicholas Piggin THP paths can defer splitting compound pages until after the actual remap and TLB flushes to split a huge PMD/PUD. This causes radix partition scope page table mappings to get out of synch with the host qemu page table mappings. This results in random memory corruption in

<    1   2   3   4   5