> On Jul 3, 2019, at 1:34 PM, Thomas Gleixner wrote:
>
> Nadav,
>
> On Wed, 3 Jul 2019, Nadav Amit wrote:
>>> On Jul 3, 2019, at 3:54 AM, Thomas Gleixner wrote:
>>> void default_send_IPI_all(int vector)
>>> {
>>> - if (apic_ipi_
> On Jul 3, 2019, at 10:43 AM, Andrew Cooper wrote:
>
> On 03/07/2019 18:02, Nadav Amit wrote:
>>> On Jul 3, 2019, at 7:04 AM, Juergen Gross wrote:
>>>
>>> On 03.07.19 01:51, Nadav Amit wrote:
>>>> To improve TLB shootdown performance, f
would allow to remove potentially unnecessary checks in
native_send_call_func_ipi()I also have this patch I still did not send to
slightly improve the test in native_send_call_func_ipi().
-- >8 --
From: Nadav Amit
Date: Fri, 7 Jun 2019 15:11:44 -0700
Subject: [PATCH] x86/smp: Better check of allbutself
Introduce f
> On Jul 3, 2019, at 7:04 AM, Juergen Gross wrote:
>
> On 03.07.19 01:51, Nadav Amit wrote:
>> To improve TLB shootdown performance, flush the remote and local TLBs
>> concurrently. Introduce flush_tlb_multi() that does so. Introduce
>> paravirtual versions of flush_t
: Nadav Amit
---
arch/x86/mm/tlb.c | 40 ++--
1 file changed, 34 insertions(+), 6 deletions(-)
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index 8a957b58525f..5c9b1607191d 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c
@@ -658,11 +658,13 @@ static
: Nadav Amit
---
arch/x86/mm/tlb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index 9bd24aecbd58..b47a71820f35 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c
@@ -322,7 +322,8 @@ void switch_mm_irqs_off(struct mm_struct *prev
Poimboeuf
Signed-off-by: Nadav Amit
---
arch/x86/mm/tlb.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index 91f6db92554c..8a957b58525f 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c
@@ -635,9 +635,12 @@ static void
cpumask_next_and() and cpumask_any_but() are pure, and marking them as
such seems to generate different and presumably better code for
native_flush_tlb_multi().
Signed-off-by: Nadav Amit
---
include/linux/cpumask.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a
-off-by: Nadav Amit
---
arch/x86/include/asm/tlbflush.h | 39 ++---
arch/x86/mm/init.c | 2 +-
arch/x86/mm/tlb.c | 15 -
3 files changed, 31 insertions(+), 25 deletions(-)
diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86
The compiler is smart enough without these hints.
Cc: Andy Lutomirski
Cc: Peter Zijlstra
Suggested-by: Dave Hansen
Signed-off-by: Nadav Amit
---
arch/x86/mm/tlb.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index
SGI UV support is outdated and not maintained, and it is not clear how
it performs relatively to non-UV. Remove the code to simplify the code.
Cc: Peter Zijlstra
Cc: Dave Hansen
Suggested-by: Andy Lutomirski
Signed-off-by: Nadav Amit
---
arch/x86/mm/tlb.c | 25 -
1
ists.linux-foundation.org
Cc: k...@vger.kernel.org
Cc: xen-de...@lists.xenproject.org
Signed-off-by: Nadav Amit
---
arch/x86/hyperv/mmu.c | 13 +++---
arch/x86/include/asm/paravirt.h | 6 +--
arch/x86/include/asm/paravirt_types.h | 4 +-
arch/x86/include/asm/tlbflush.h | 9
el.org
Cc: linux-kernel@vger.kernel.org
Cc: virtualizat...@lists.linux-foundation.org
Cc: x...@kernel.org
Cc: xen-de...@lists.xenproject.org
Nadav Amit (9):
smp: Run functions concurrently in smp_call_function_many()
x86/mm/tlb: Remove reason as argument for flush_tlb_func_local()
x86/m
Cc: Dave Hansen
Cc: Rik van Riel
Cc: Thomas Gleixner
Cc: Andy Lutomirski
Cc: Josh Poimboeuf
Signed-off-by: Nadav Amit
---
include/linux/smp.h | 27 ++---
kernel/smp.c| 133 +---
2 files changed, 83 insertions(+), 77 deletions(-)
diff --git
Julien will not be a maintainer anymore.
Signed-off-by: Nadav Amit
---
MAINTAINERS | 1 -
1 file changed, 1 deletion(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 01a52fc964da..f85874b1e653 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16886,7 +16886,6 @@ F: drivers/vme/
F
\
> .context = {\
> .ctx_id = 1,\
> + .lock = __MUTEX_INITIALIZER(mm.context.lock), \
Sorry for my mistake. Thanks for fixing it up. I find it useful to know how
the problem was found or what the impact was - helps me sometimes to avoid
causing similar bugs in the future.
Reviewed-by: Nadav Amit
> On Jun 26, 2019, at 9:33 AM, Andy Lutomirski wrote:
>
> On Tue, Jun 25, 2019 at 2:36 PM Dave Hansen wrote:
>> On 6/12/19 11:48 PM, Nadav Amit wrote:
>>> While the updated smp infrastructure is capable of running a function on
>>> a single local core,
> On Jun 25, 2019, at 8:56 PM, Andy Lutomirski wrote:
>
> On Tue, Jun 25, 2019 at 8:41 PM Nadav Amit wrote:
>>> On Jun 25, 2019, at 8:35 PM, Andy Lutomirski wrote:
>>>
>>> On Tue, Jun 25, 2019 at 7:39 PM Nadav Amit wrote:
>>>>> On Jun 25, 20
> On Jun 25, 2019, at 8:36 PM, Andy Lutomirski wrote:
>
> On Wed, Jun 12, 2019 at 11:49 PM Nadav Amit wrote:
>> To improve TLB shootdown performance, flush the remote and local TLBs
>> concurrently. Introduce flush_tlb_multi() that does so. The current
>> flush_tlb
> On Jun 25, 2019, at 8:35 PM, Andy Lutomirski wrote:
>
> On Tue, Jun 25, 2019 at 7:39 PM Nadav Amit wrote:
>>> On Jun 25, 2019, at 2:40 PM, Dave Hansen wrote:
>>>
>>> On 6/12/19 11:48 PM, Nadav Amit wrote:
>>>> Support the new interface of fl
> On Jun 25, 2019, at 8:00 PM, Dave Hansen wrote:
>
> On 6/25/19 7:35 PM, Nadav Amit wrote:
>>>> const struct flush_tlb_info *f = info;
>>>> + enum tlb_flush_reason reason;
>>>> +
>>>> + reason = (f->mm == NULL) ? TLB_LOCAL_SHOOTDO
> On Jun 25, 2019, at 2:40 PM, Dave Hansen wrote:
>
> On 6/12/19 11:48 PM, Nadav Amit wrote:
>> Support the new interface of flush_tlb_multi, which also flushes the
>> local CPU's TLB, instead of flush_tlb_others that does not. This
>> interface is more performant
> On Jun 25, 2019, at 2:29 PM, Dave Hansen wrote:
>
> On 6/12/19 11:48 PM, Nadav Amit wrote:
>> To improve TLB shootdown performance, flush the remote and local TLBs
>> concurrently. Introduce flush_tlb_multi() that does so. The current
>> flush_tlb_others() interface
> On Jun 25, 2019, at 2:07 PM, Dave Hansen wrote:
>
> On 6/12/19 11:48 PM, Nadav Amit wrote:
>> diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
>> index 91f6db92554c..c34bcf03f06f 100644
>> --- a/arch/x86/mm/tlb.c
>> +++ b/arch/x86/mm/tlb.c
>> @@
> On Jun 25, 2019, at 3:02 PM, Dave Hansen wrote:
>
> On 6/12/19 11:48 PM, Nadav Amit wrote:
>> Running sysbench on dax w/emulated-pmem, write-cache disabled, and
>> various mitigations (PTI, Spectre, MDS) disabled on Haswell:
>>
>> sysbench fileio --file-tot
> On Jun 25, 2019, at 2:52 PM, Dave Hansen wrote:
>
> On 6/12/19 11:48 PM, Nadav Amit wrote:
>> cpu_tlbstate is mostly private and only the variable is_lazy is shared.
>> This causes some false-sharing when TLB flushes are performed.
>
> Presumably, all CPUs doin
Commit-ID: caa759323c73676b3e48c8d9c86093c88b4aba97
Gitweb: https://git.kernel.org/tip/caa759323c73676b3e48c8d9c86093c88b4aba97
Author: Nadav Amit
AuthorDate: Wed, 12 Jun 2019 23:48:05 -0700
Committer: Thomas Gleixner
CommitDate: Sun, 23 Jun 2019 14:26:26 +0200
smp: Remove
Commit-ID: a22793c79d6ea0a492ce1a308ec46df52ee9406e
Gitweb: https://git.kernel.org/tip/a22793c79d6ea0a492ce1a308ec46df52ee9406e
Author: Nadav Amit
AuthorDate: Wed, 12 Jun 2019 23:48:11 -0700
Committer: Thomas Gleixner
CommitDate: Sun, 23 Jun 2019 14:26:25 +0200
smp: Do not mark
Commit-ID: dde3626f815e38bbf96fddd5185038c4b4d395a8
Gitweb: https://git.kernel.org/tip/dde3626f815e38bbf96fddd5185038c4b4d395a8
Author: Nadav Amit
AuthorDate: Wed, 12 Jun 2019 23:48:13 -0700
Committer: Thomas Gleixner
CommitDate: Sun, 23 Jun 2019 14:07:23 +0200
x86/apic: Use non
> On Jun 21, 2019, at 5:12 AM, Peter Zijlstra wrote:
>
> On Fri, Jun 21, 2019 at 02:09:23PM +0200, Peter Zijlstra wrote:
>
>> --- /dev/null
>> +++ b/arch/x86/include/asm/jump_label_asm.h
>> @@ -0,0 +1,44 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +#ifndef _ASM_X86_JUMP_LABEL_ASM_H
>> +#def
> On Jun 19, 2019, at 6:00 AM, Bjorn Helgaas wrote:
>
> On Tue, Jun 18, 2019 at 12:40 AM Nadav Amit wrote:
>>> On Jun 17, 2019, at 10:33 PM, Nadav Amit wrote:
>>>
>>>> On Jun 17, 2019, at 9:57 PM, Andrew Morton
>>>> wrote:
>>>
> On Jun 18, 2019, at 11:30 AM, Dan Williams wrote:
>
> On Tue, Jun 18, 2019 at 10:42 AM Nadav Amit wrote:
>>> On Jun 17, 2019, at 11:44 PM, Dan Williams wrote:
>>>
>>> On Wed, Jun 12, 2019 at 9:59 PM Nadav Amit wrote:
>>>> R
> On Jun 17, 2019, at 11:44 PM, Dan Williams wrote:
>
> On Wed, Jun 12, 2019 at 9:59 PM Nadav Amit wrote:
>> Running some microbenchmarks on dax keeps showing find_next_iomem_res()
>> as a place in which significant amount of time is spent. It appears that
>>
> On Jun 17, 2019, at 9:57 PM, Andrew Morton wrote:
>
> On Wed, 12 Jun 2019 21:59:03 -0700 Nadav Amit wrote:
>
>> For efficient search of resources, as needed to determine the memory
>> type for dax page-faults, introduce a cache of the most recently used
>> top-l
> On Jun 17, 2019, at 10:33 PM, Nadav Amit wrote:
>
>> On Jun 17, 2019, at 9:57 PM, Andrew Morton wrote:
>>
>> On Wed, 12 Jun 2019 21:59:03 -0700 Nadav Amit wrote:
>>
>>> For efficient search of resources, as needed to determine the memory
>>>
o *info)
>
> module_enable_ro(mod, false);
> module_enable_nx(mod);
> + module_enable_x(mod);
>
> /* Mark state as coming so strong_try_module_get() ignores us,
>* but kallsyms etc. can see us. */
> --
> 2.17.1
It does seem that I screwed up (thanks for fixing it!).
Makes me wonder why module_enable_ro() is needed to be called twice
(excluding the write-protecting of the core_layout). I wonder since this
patch would eliminate some calls to set_memory_x(), which indeed do not seem
necessary.
Skimming 444d13ff10fb1 ("modules: add ro_after_init support”), I could
not understand why.
Anyhow,
Reviewed-by: Nadav Amit
> On Jun 17, 2019, at 5:55 PM, Sasha Levin wrote:
>
> On Mon, Jun 17, 2019 at 07:14:53PM +0000, Nadav Amit wrote:
>>> On Jun 15, 2019, at 3:15 PM, Sasha Levin wrote:
>>>
>>> Hi,
>>>
>>> [This is an automated email]
>>>
>&g
a98959fdbda1 ("resource: Include resource end in walk_*() interfaces")
>da6658859b9c ("powerpc: Change places using CONFIG_KEXEC to use
> CONFIG_KEXEC_CORE instead.")
>ec2b9bfaac44 ("kexec_file: Change kexec_add_buffer to take kexec_buf as
> argument.&qu
> On Jun 17, 2019, at 11:07 AM, Dave Hansen wrote:
>
> On 6/17/19 9:53 AM, Nadav Amit wrote:
>>>> For anyone following along at home, I'm going to go off into crazy
>>>> per-cpu-pgds speculation mode now... Feel free to stop reading now. :)
>>>>
> On Jun 15, 2019, at 3:16 PM, Sasha Levin wrote:
>
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a "Fixes:" tag,
> fixing commit: ff3cc952d3f0 resource: Add remove_resource interface.
This commit (Patch 3/3) does not have the “Fixes:” tag (and i
> On Jun 14, 2019, at 8:58 AM, Sean Christopherson
> wrote:
>
> On Wed, Jun 12, 2019 at 11:48:12PM -0700, Nadav Amit wrote:
>> diff --git a/arch/x86/include/asm/tlbflush.h
>> b/arch/x86/include/asm/tlbflush.h
>> index 79272938cf79..a1fea36d5292 100644
>> -
> On Jun 17, 2019, at 7:42 AM, Peter Zijlstra wrote:
>
> On Wed, Jun 12, 2019 at 07:44:12PM +0000, Nadav Amit wrote:
>
>> I have run into similar problems before.
>>
>> I had two problematic scenarios. In the first case, I had a “call” in the
>> middle of t
> On Jun 17, 2019, at 9:14 AM, Andy Lutomirski wrote:
>
> On Mon, Jun 17, 2019 at 9:09 AM Dave Hansen wrote:
>> On 6/17/19 8:54 AM, Andy Lutomirski wrote:
> Would that mean that with Meltdown affected CPUs we open speculation
> attacks against the mmlocal memory from KVM user space?
> On Jun 13, 2019, at 6:54 AM, Peter Zijlstra wrote:
>
> Hi all,
>
> I still have these patches sitting in my queue and figured I'd repost them.
>
> Last time Linus proposed a "+m" alternative approach, but that generates far
> far worse code (I've lost the patch and not re-ran those numbers, b
> On Jun 13, 2019, at 9:20 AM, Dave Hansen wrote:
>
> On 6/13/19 9:13 AM, Andy Lutomirski wrote:
>>> It might make sense to use it for kmap_atomic() for debug purposes, as
>>> it ensures that other users can no longer access the same mapping
>>> through the linear map. However, it does come at qu
> On Jun 12, 2019, at 6:30 PM, Andy Lutomirski wrote:
>
> On Wed, Jun 12, 2019 at 1:27 PM Andy Lutomirski wrote:
>>> On Jun 12, 2019, at 12:55 PM, Dave Hansen wrote:
>>>
On 6/12/19 10:08 AM, Marius Hillenbrand wrote:
This patch series proposes to introduce a region for what we call
>
informative value. It is disregarded by the
callers.
Fixes: ff3cc952d3f00 ("resource: Add remove_resource interface")
Cc: sta...@vger.kernel.org
Cc: Borislav Petkov
Cc: Toshi Kani
Cc: Peter Zijlstra
Cc: Dave Hansen
Cc: Dan Williams
Cc: Bjorn Helgaas
Cc: Ingo Molnar
Signed-off-by:
: 1247669./16075.39
w/patch: 1286320.5000/16402.72 (+3%)
Cc: Borislav Petkov
Cc: Toshi Kani
Cc: Peter Zijlstra
Cc: Dave Hansen
Cc: Dan Williams
Cc: Bjorn Helgaas
Cc: Ingo Molnar
Signed-off-by: Nadav Amit
---
kernel/resource.c | 29 ++---
1 file changed, 22
%)
Cc: Borislav Petkov
Cc: Toshi Kani
Cc: Peter Zijlstra
Cc: Dave Hansen
Cc: Dan Williams
Cc: Bjorn Helgaas
Cc: Ingo Molnar
Nadav Amit (3):
resource: Fix locking in find_next_iomem_res()
resource: Avoid unnecessary lookups in find_next_iomem_res()
resource: Introduce resource cache
sysbench), but can benefit systems with many
resources.
Cc: Borislav Petkov
Cc: Toshi Kani
Cc: Peter Zijlstra
Cc: Dave Hansen
Cc: Dan Williams
Cc: Bjorn Helgaas
Cc: Ingo Molnar
Signed-off-by: Nadav Amit
---
kernel/resource.c | 51 +--
1 file
Zijlstra
Signed-off-by: Nadav Amit
---
arch/x86/mm/tlb.c | 62 ++-
1 file changed, 34 insertions(+), 28 deletions(-)
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index 91f6db92554c..c34bcf03f06f 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm
: Peter Zijlstra
Signed-off-by: Nadav Amit
---
arch/x86/mm/tlb.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index db73d5f1dd43..ceb03b8cad32 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c
@@ -815,8 +815,12 @@ static
lidation optimizations [Andy]
* Adding KVM support [Paolo]
Cc: Richard Henderson
Cc: Ivan Kokshaysky
Cc: Matt Turner
Cc: Tony Luck
Cc: Fenghua Yu
Cc: Andrew Morton
Cc: Peter Zijlstra
Cc: Dave Hansen
Cc: Rik van Riel
Cc: Thomas Gleixner
Cc: Andy Lutomirski
Cc: Josh Poimboeuf
Cc: Paolo Bonzini
The return value is fixed. Remove it and amend the callers.
Cc: Richard Henderson
Cc: Ivan Kokshaysky
Cc: Matt Turner
Cc: Tony Luck
Cc: Fenghua Yu
Cc: Andrew Morton
Signed-off-by: Nadav Amit
---
arch/alpha/kernel/smp.c | 19 +--
arch/alpha/oprofile/common.c | 6
-off-by: Nadav Amit
---
arch/x86/include/asm/tlbflush.h | 40 ++---
arch/x86/mm/init.c | 2 +-
arch/x86/mm/tlb.c | 15 -
3 files changed, 32 insertions(+), 25 deletions(-)
diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86
at of flush_tlb_others().
Suggested-by: Paolo Bonzini
Cc: Paolo Bonzini
Cc: k...@vger.kernel.org
Signed-off-by: Nadav Amit
---
arch/x86/kernel/kvm.c | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 00d81e8
Using __clear_bit() and __cpumask_clear_cpu() is more efficient than
using their atomic counterparts. Use them when atomicity is not needed,
such as when manipulating bitmasks that are on the stack.
Cc: Dave Hansen
Cc: Andy Lutomirski
Cc: Peter Zijlstra
Signed-off-by: Nadav Amit
---
arch/x86
Cc: Dave Hansen
Cc: Rik van Riel
Cc: Thomas Gleixner
Cc: Andy Lutomirski
Cc: Josh Poimboeuf
Signed-off-by: Nadav Amit
---
include/linux/smp.h | 27 ++---
kernel/smp.c| 133 +---
2 files changed, 83 insertions(+), 77 deletions(-)
diff --git
cfd_data is marked as shared, but although it hold pointers to shared
data structures, it is private per core.
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Rik van Riel
Cc: Andy Lutomirski
Signed-off-by: Nadav Amit
---
kernel/smp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff
org
Signed-off-by: Nadav Amit
---
arch/x86/hyperv/mmu.c | 2 +
arch/x86/include/asm/paravirt.h | 8 +++
arch/x86/include/asm/paravirt_types.h | 6 +++
arch/x86/include/asm/tlbflush.h | 6 +++
arch/x86/kernel/kvm.c | 1 +
arch/x86/kernel/
> On Jun 11, 2019, at 8:55 AM, Peter Zijlstra wrote:
>
> On Tue, Jun 11, 2019 at 11:22:54AM -0400, Steven Rostedt wrote:
>> On Tue, 11 Jun 2019 10:03:07 +0200
>> Peter Zijlstra wrote:
>>
>>
>>> So what happens is that arch_prepare_optimized_kprobe() <-
>>> copy_optimized_instructions() copies
> On Jun 11, 2019, at 6:18 PM, Wanpeng Li wrote:
>
> On Wed, 12 Jun 2019 at 00:57, Nadav Amit wrote:
>>> On Jun 11, 2019, at 3:02 AM, Wanpeng Li wrote:
>>>
>>> On Tue, 11 Jun 2019 at 09:48, Nadav Amit wrote:
>>>>> On Jun 10, 2019, at 6:45
> On Jun 11, 2019, at 5:52 PM, Nicholas Piggin wrote:
>
> Christoph Hellwig's on June 12, 2019 12:41 am:
>> Instead of passing a set of always repeated arguments down the
>> get_user_pages_fast iterators, create a struct gup_args to hold them and
>> pass that by reference. This leads to an over
de logic should
> never do something different based on this.
I remember I saw a discussion about it, and didn’t know the resolution.
If that's the decision (assuming debugfs initialization always succeeds),
and after fixing the title of the patch:
Acked-by: Nadav Amit
Thanks!
Nadav
> On Jun 11, 2019, at 5:24 AM, Thomas Hellström (VMware)
> wrote:
>
> From: Thomas Hellstrom
>
[ snip ]
> +/**
> + * apply_pt_wrprotect - Leaf pte callback to write-protect a pte
> + * @pte: Pointer to the pte
> + * @token: Page table token, see apply_to_pfn_range()
> + * @addr: The virtual
> On Jun 11, 2019, at 3:02 AM, Wanpeng Li wrote:
>
> On Tue, 11 Jun 2019 at 09:48, Nadav Amit wrote:
>>> On Jun 10, 2019, at 6:45 PM, Wanpeng Li wrote:
>>>
>>> On Tue, 11 Jun 2019 at 09:11, Sean Christopherson
>>> wrote:
>>>> On
> On Jun 10, 2019, at 6:45 PM, Wanpeng Li wrote:
>
> On Tue, 11 Jun 2019 at 09:11, Sean Christopherson
> wrote:
>> On Mon, Jun 10, 2019 at 04:34:20PM +0200, Radim Krčmář wrote:
>>> 2019-05-30 09:05+0800, Wanpeng Li:
The idea is from Xen, when sending a call-function IPI-many to vCPUs,
> On Jun 10, 2019, at 11:55 AM, Josh Poimboeuf wrote:
>
> On Mon, Jun 10, 2019 at 06:45:52PM +0000, Nadav Amit wrote:
>>> On Jun 10, 2019, at 11:33 AM, Josh Poimboeuf wrote:
>>>
>>> On Wed, Jun 05, 2019 at 03:08:06PM +0200, Peter Zijlstra wrote:
>>&
> On Jun 10, 2019, at 11:33 AM, Josh Poimboeuf wrote:
>
> On Wed, Jun 05, 2019 at 03:08:06PM +0200, Peter Zijlstra wrote:
>> --- a/arch/x86/include/asm/static_call.h
>> +++ b/arch/x86/include/asm/static_call.h
>> @@ -2,6 +2,20 @@
>> #ifndef _ASM_STATIC_CALL_H
>> #define _ASM_STATIC_CALL_H
>>
>>
> On Jun 10, 2019, at 10:19 AM, Josh Poimboeuf wrote:
>
> On Fri, Jun 07, 2019 at 10:37:56AM +0200, Peter Zijlstra wrote:
+}
+
+static int static_call_module_notify(struct notifier_block *nb,
+ unsigned long val, void *data)
+{
+ struct
There are a couple of patches that were mistakenly not included in 4.19.47.
https://lore.kernel.org/stable/20190606131558.GJ29739@sasha-vm/
Sorry for that and thanks for reporting.
Regards,
Nadav
> On Jun 7, 2019, at 4:54 PM, Francesco Ruggeri wrote:
>
> I see the following kernel panic in 4.
> On Jun 7, 2019, at 1:49 AM, Ard Biesheuvel wrote:
>
> On Fri, 7 Jun 2019 at 10:29, Peter Zijlstra wrote:
>> On Thu, Jun 06, 2019 at 10:44:23PM +0000, Nadav Amit wrote:
>>>> + * Usage example:
>>>> + *
>>>> + * # Start with the following fu
> On Jun 7, 2019, at 3:24 AM, Joseph Qi wrote:
>
> Hi all,
> Any idea on this regression?
Sorry for the late response (I assumed, for some reason, that you also follow
the second thread about this issue).
Anyhow, it should be fixed by backporting some patches which were mistakenly
missed.
Se
> On Jun 7, 2019, at 1:37 AM, Peter Zijlstra wrote:
>
> On Thu, Jun 06, 2019 at 10:24:17PM +0000, Nadav Amit wrote:
>
>>> +static void static_call_del_module(struct module *mod)
>>> +{
>>> + struct static_call_site *start = mod->static_call_sites;
&
> On Jun 5, 2019, at 6:08 AM, Peter Zijlstra wrote:
>
> From: Josh Poimboeuf
>
> Add the x86 out-of-line static call implementation. For each key, a
> permanent trampoline is created which is the destination for all static
> calls for the given key. The trampoline has a direct jump which gets
> On Jun 5, 2019, at 6:08 AM, Peter Zijlstra wrote:
>
> From: Josh Poimboeuf
>
> Add the inline static call implementation for x86-64. For each key, a
> temporary trampoline is created, named __static_call_tramp_. The
> trampoline has an indirect jump to the destination function.
>
> Objtool
> This fits almost all text_poke_bp() users, except
> arch_unoptimize_kprobe() which restores random text, and for that site
> we have to build an explicit emulate instruction.
>
> Cc: Daniel Bristot de Oliveira
> Cc: Nadav Amit
> Signed-off-by: Peter Zijlstra (Intel)
> ---
> arch/x86/incl
> On May 31, 2019, at 3:07 PM, Nadav Amit wrote:
>
>> On May 31, 2019, at 2:47 PM, Andy Lutomirski wrote:
>>
>>
>> On May 31, 2019, at 2:33 PM, Nadav Amit wrote:
>>
>>>> On May 31, 2019, at 2:14 PM, Andy Lutomirski wrote:
>>>&g
Linus Torvalds
> Cc: Jiri Kosina
> Cc: Edward Cree
> Cc: Thomas Gleixner
> Cc: Masami Hiramatsu
> Cc: Borislav Petkov
> Cc: David Laight
> Cc: Jessica Yu
> Cc: Nadav Amit
> Cc: Andy Lutomirski
> Cc: "H. Peter Anvin"
&
> On Jun 5, 2019, at 6:08 AM, Peter Zijlstra wrote:
>
> From: Josh Poimboeuf
>
> Add infrastructure for an arch-specific CONFIG_HAVE_STATIC_CALL_INLINE
> option, which is a faster version of CONFIG_HAVE_STATIC_CALL. At
> runtime, the static call sites are patched directly, rather than using
>
> On May 31, 2019, at 2:47 PM, Andy Lutomirski wrote:
>
>
> On May 31, 2019, at 2:33 PM, Nadav Amit wrote:
>
>>> On May 31, 2019, at 2:14 PM, Andy Lutomirski wrote:
>>>
>>>> On Thu, May 30, 2019 at 11:37 PM Nadav Amit wrote:
>>>&g
> On May 31, 2019, at 3:37 AM, Pavel Machek wrote:
>
> Hi!
>
>> [ Upstream commit f2c65fb3221adc6b73b0549fc7ba892022db9797 ]
>>
>> When modules and BPF filters are loaded, there is a time window in
>> which some memory is both writable and executable. An attacker that has
>> already found anoth
> On May 31, 2019, at 2:14 PM, Andy Lutomirski wrote:
>
> On Thu, May 30, 2019 at 11:37 PM Nadav Amit wrote:
>> When we flush userspace mappings, we can defer the TLB flushes, as long
>> the following conditions are met:
>>
>> 1. No tables are freed, since
> On May 31, 2019, at 1:37 PM, Andy Lutomirski wrote:
>
> On Fri, May 31, 2019 at 1:13 PM Dave Hansen wrote:
>> On 5/31/19 12:31 PM, Nadav Amit wrote:
>>>> On May 31, 2019, at 11:44 AM, Andy Lutomirski wrote:
>>>>
>>>>
>>>
> On May 31, 2019, at 12:20 PM, Jann Horn wrote:
>
> On Fri, May 31, 2019 at 8:29 PM Nadav Amit wrote:
>> [ +Jann Horn ]
>>
>>> On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote:
>>>
>>> On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrot
ernel/kgdb.c
> @@ -758,7 +758,7 @@ int kgdb_arch_set_breakpoint(struct kgdb_bkpt *bpt)
> BREAK_INSTR_SIZE);
> bpt->type = BP_POKE_BREAKPOINT;
>
> - return err;
> + return 0;
> }
>
> int kgdb_arch_remove_breakpoint(struct kgdb_bkpt *bpt)
> --
> 2.17.1
My bad. Thanks for fixing it.
Reviewed-by: Nadav Amit
> On May 31, 2019, at 4:48 AM, Juergen Gross wrote:
>
> On 31/05/2019 08:36, Nadav Amit wrote:
>>
>> --- a/arch/x86/include/asm/paravirt_types.h
>> +++ b/arch/x86/include/asm/paravirt_types.h
>> @@ -211,6 +211,12 @@ struct pv_mmu_ops {
>> voi
> On May 31, 2019, at 11:48 AM, Andy Lutomirski wrote:
>
>
>> On May 30, 2019, at 11:36 PM, Nadav Amit wrote:
>>
>> cpu_tlbstate is mostly private and only the variable is_lazy is shared.
>> This causes some false-sharing when TLB flushes are performed
> On May 31, 2019, at 11:44 AM, Andy Lutomirski wrote:
>
>
>
>> On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote:
>>
>>> On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote:
>>> When we flush userspace mappings, we can defer the TLB flushes
[ +Jann Horn ]
> On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote:
>
> On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote:
>> When we flush userspace mappings, we can defer the TLB flushes, as long
>> the following conditions are met:
>>
>> 1. No
> On May 31, 2019, at 3:17 AM, Peter Zijlstra wrote:
>
> On Thu, May 30, 2019 at 11:36:40PM -0700, Nadav Amit wrote:
>> cfd_data is marked as shared, but although it hold pointers to shared
>> data structures, it is private per core.
>>
>> Cc: Peter Zijlstra
&
Zijlstra
Signed-off-by: Nadav Amit
---
arch/x86/mm/tlb.c | 62 ++-
1 file changed, 34 insertions(+), 28 deletions(-)
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index 7f61431c75fb..ac98ad76f695 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm
org
Signed-off-by: Nadav Amit
---
arch/x86/hyperv/mmu.c | 2 +
arch/x86/include/asm/paravirt.h | 8 +++
arch/x86/include/asm/paravirt_types.h | 6 ++
arch/x86/include/asm/tlbflush.h | 6 ++
arch/x86/kernel/kvm.c | 1 +
arch/x86/kernel/paravirt.c
-off-by: Nadav Amit
---
arch/x86/include/asm/tlbflush.h | 40 ++---
arch/x86/mm/init.c | 2 +-
arch/x86/mm/tlb.c | 15 -
3 files changed, 32 insertions(+), 25 deletions(-)
diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86
cfd_data is marked as shared, but although it hold pointers to shared
data structures, it is private per core.
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Rik van Riel
Cc: Andy Lutomirski
Signed-off-by: Nadav Amit
---
kernel/smp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff
Using __clear_bit() and __cpumask_clear_cpu() is more efficient than
using their atomic counterparts. Use them when atomicity is not needed,
such as when manipulating bitmasks that are on the stack.
Cc: Dave Hansen
Cc: Andy Lutomirski
Cc: Peter Zijlstra
Signed-off-by: Nadav Amit
---
arch/x86
: Peter Zijlstra
Signed-off-by: Nadav Amit
---
arch/x86/mm/tlb.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index 73d0d51b0f61..b0c3065aad5d 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c
@@ -823,8 +823,12 @@ static
function is executed, save in externally visible variable
the function that is currently executed. This information will be needed
soon for asynchronous remote TLB flushing.
Cc: Dave Hansen
Cc: Andy Lutomirski
Cc: Peter Zijlstra
Signed-off-by: Nadav Amit
---
include/linux/smp.h | 21
Cc: Dave Hansen
Cc: Rik van Riel
Cc: Thomas Gleixner
Cc: Andy Lutomirski
Cc: Josh Poimboeuf
Signed-off-by: Nadav Amit
---
include/linux/smp.h | 27 ++---
kernel/smp.c| 133 +---
2 files changed, 83 insertions(+), 77 deletions(-)
diff --git
,
although the performance gains in this case are likely to be much
smaller.
Cc: Dave Hansen
Cc: Andy Lutomirski
Cc: Peter Zijlstra
Signed-off-by: Nadav Amit
---
arch/x86/include/asm/tlbflush.h | 12
arch/x86/mm/tlb.c | 15 +++
2 files changed, 23
301 - 400 of 1153 matches
Mail list logo