Hyper-V provides HvFlushGuestAddressList() hypercall to flush EPT tlb
with specified ranges. This patch is to add the hypercall support.
Signed-off-by: Lan Tianyu
---
Change since v1:
Add hyperv tlb flush struct to avoid use kvm tlb flush struct
in the hyperv file.
---
arch/x86/hyperv/nes
kvm_mmu_zap_collapsible_spte() returns flush request to the
slot_handle_leaf() and the latter does flush on demand. When
range flush is available, make kvm_mmu_zap_collapsible_spte()
to flush tlb with range directly to avoid returning range back
to slot_handle_leaf().
Signed-off-by: Lan Tianyu
--
PV EPT tlb flush function will accept a list of flush ranges and
use struct kvm_mmu_page as the list entry.
Signed-off-by: Lan Tianyu
---
arch/x86/include/asm/kvm_host.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index a6
This patch is to trace log in the hyperv_nested_flush_
guest_mapping_range().
Signed-off-by: Lan Tianyu
---
arch/x86/hyperv/nested.c| 1 +
arch/x86/include/asm/trace/hyperv.h | 14 ++
2 files changed, 15 insertions(+)
diff --git a/arch/x86/hyperv/nested.c b/arch/x86/hyp
It's necessary to check whether mmu page is last or large page when add
mmu page into flush list. "spte" is needed for such check and so add
spte point in the struct kvm_mmu_page.
Signed-off-by: Lan Tianyu
---
arch/x86/include/asm/kvm_host.h | 1 +
arch/x86/kvm/mmu.c | 5 +
arch
Originally, flush tlb is done by slot_handle_level_range(). This patch
is to flush tlb directly in the kvm_zap_gfn_range() when range
flush is available.
Signed-off-by: Lan Tianyu
---
arch/x86/kvm/mmu.c | 16 +---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/arch/x8
This patch is to use range list flush function in the
mmu_sync_children(), kvm_mmu_commit_zap_page() and
FNAME(sync_page)().
Signed-off-by: Lan Tianyu
---
arch/x86/kvm/mmu.c | 26 +++---
arch/x86/kvm/paging_tmpl.h | 5 -
2 files changed, 27 insertions(+), 4 delet
This patch is to add wrapper functions for tlb_remote_flush_with_range
callback.
Signed-off-by: Lan Tianyu
---
arch/x86/kvm/mmu.c | 48
1 file changed, 48 insertions(+)
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index c67f09086378..ac3b
This patch is to flush tlb directly in the kvm_handle_hva_range()
when range flush is available.
Signed-off-by: Lan Tianyu
---
arch/x86/kvm/mmu.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 822e170881a4..dfd2a0710417 100644
--- a/arch/
This patch is to replace kvm_flush_remote_tlbs() with kvm_flush_
remote_tlbs_with_address() in some functions without logic change.
Signed-off-by: Lan Tianyu
---
arch/x86/kvm/mmu.c | 33 ++---
arch/x86/kvm/paging_tmpl.h | 3 ++-
2 files changed, 24 insertions
For nested memory virtualization, Hyper-v doesn't set write-protect
L1 hypervisor EPT page directory and page table node to track changes
while it relies on guest to tell it changes via HvFlushGuestAddressLlist
hypercall. HvFlushGuestAddressLlist hypercall provides a way to flush
EPT page table
Add flush range call back in the kvm_x86_ops and platform can use it
to register its associated function. The parameter "kvm_tlb_range"
accepts a single range and flush list which contains a list of ranges.
Signed-off-by: Lan Tianyu
---
Change since v1:
Change "end_gfn" to "pages" to aviod
On Mon, Sep 17, 2018 at 12:25 PM, Andy Lutomirski wrote:
> On Fri, Sep 14, 2018 at 5:50 AM, Thomas Gleixner wrote:
>> The code flow for the vclocks is convoluted as it requires the vclocks
>> which can be invalidated separately from the vsyscall_gtod_data sequence to
>> store the fact in a separa
On Mon, Sep 17, 2018 at 5:45 AM, Thomas Gleixner wrote:
> Architectures have extra archdata in the clocksource, e.g. for VDSO
> support. There are no sanity checks or general initializations for this
> available. Add support for that.
>
> Signed-off-by: Thomas Gleixner
Sorry, Let me try reply-al
On Sat, 2018-09-15 at 18:47 +0530, Nishad Kamdar wrote:
> This patch removes do {} while (0) loop for single statement macros.
> Issue found by checkpatch.
Some or all of this code is not used and should be deleted instead.
> Signed-off-by: Nishad Kamdar
> ---
> drivers/staging/mt7621-mmc/sd.c
On Fri, Sep 14, 2018 at 5:50 AM, Thomas Gleixner wrote:
> The code flow for the vclocks is convoluted as it requires the vclocks
> which can be invalidated separately from the vsyscall_gtod_data sequence to
> store the fact in a separate variable. That's inefficient.
>
> notrace static int do_hr
On 17/09/2018 18:51, Florian Fainelli wrote:
On 09/17/2018 04:47 AM, Phil Elwell wrote:
Hi Stefan,
On 17/09/2018 12:39, Stefan Wahren wrote:
Hi Phil,
Am 17.09.2018 um 10:22 schrieb Phil Elwell:
Both sides of the VCHIQ communications mechanism need to agree on the cache
line size. Using an in
On 09/17/2018 04:47 AM, Phil Elwell wrote:
> Hi Stefan,
>
> On 17/09/2018 12:39, Stefan Wahren wrote:
>> Hi Phil,
>>
>> Am 17.09.2018 um 10:22 schrieb Phil Elwell:
>>> Both sides of the VCHIQ communications mechanism need to agree on the cache
>>> line size. Using an incorrect value can lead to da
Hello,
Hope all is well!
We are a database organization. We provide business executives' contact
information.
Below, I've included a few examples:
Industry-Specific Lists: Agriculture, Business Services, Chambers of
Commerce, Cities, Towns & Municipalities, Construction, Consumer Services
Add option validation in remount. After this patch, remount
can change recognized options, and for unknown options remount
will fail and report error.
Signed-off-by: Chengguang Xu
---
drivers/staging/erofs/super.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/drivers/staging
Call erofs_get_fault_rate() to get fault rate instead of
directly getting it from sbi, so we can remove the macro
check surrounding it.
Signed-off-by: Chengguang Xu
---
drivers/staging/erofs/super.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/staging/erofs/supe
Introduce a new helper for getting fault rate, so that we
don't have to check macro in calling place.
Signed-off-by: Chengguang Xu
---
drivers/staging/erofs/super.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/drivers/staging/erofs/super.c b/drivers/staging/erofs/super.c
index
Introduce a new helper __erofs_build_fault_attr() to handle set/clear
erofs_fault_info, we need this funciton for internal use case.
for example, reset fault_injection option in remount.
Signed-off-by: Chengguang Xu
---
drivers/staging/erofs/super.c | 25 +++--
1 file changed
Define a dummpy function of erofs_build_fault_attr() when macro
CONFIG_EROFS_FAULT_INJECTION is disabled, so that we don't have to
check the macro in calling place. Based on above adjustment,
do proper code cleanup for option parsing of fault_injection.
Signed-off-by: Chengguang Xu
---
drivers/s
Define a dummy function of time_to_inject()/erofs_show_injection_info(),
so that we don't have to check macro CONFIG_EROFS_FAULT_INJECTION in
calling place.
Signed-off-by: Chengguang Xu
---
drivers/staging/erofs/internal.h | 13 ++---
1 file changed, 10 insertions(+), 3 deletions(-)
dif
This patch set mainly does option validation for remount and at
the same time does related code cleanups. Currently when we call
fault injection related code we have to surround it with macro
CONFIG_EROFS_FAULT_INJECTION in every calling place, after this
patch set we don't have to do that, so the
Hi,
I just wanted to check if you would be interested in a list of Managed
Service Providers (MSPs) and Managed Security Service Providers (MSSPs)?
We also have the data intelligence of:
• Managed Service Providers (MSP’s) – 25,000 unique companies
• Managed Security Service Prov
> -Original Message-
> From: Greg KH
> Sent: Monday, September 17, 2018 7:28 AM
> To: KY Srinivasan
> Cc: o...@aepfle.de; Stephen Hemminger ;
> jasow...@redhat.com; linux-ker...@vger.kernel.org; Michael Kelley
> (EOSG) ; a...@canonical.com;
> de...@linuxdriverproject.org; vkuznets
> S
From: Stephen Hemminger
Date: Fri, 14 Sep 2018 12:54:55 -0700
> The Hyper-V implementation of PCI controller has concept of 32 bit serial
> number
> (not to be confused with PCI-E serial number). This value is sent in the
> protocol
> from the host to indicate SR-IOV VF device is attached to a
On Mon, Sep 17, 2018 at 02:16:48PM +, KY Srinivasan wrote:
>
>
> > -Original Message-
> > From: Greg KH
> > Sent: Sunday, September 16, 2018 9:56 PM
> > To: KY Srinivasan
> > Cc: linux-ker...@vger.kernel.org; de...@linuxdriverproject.org;
> > o...@aepfle.de; a...@canonical.com; jaso
On 2018/9/17 21:52, cgxu519 wrote:
> On 09/14/2018 11:22 PM, Chao Yu wrote:
>> On 2018/9/13 13:46, cgxu519 wrote:
>>> On 09/13/2018 10:15 AM, Chao Yu wrote:
On 2018/9/12 13:10, Chengguang Xu wrote:
> Define a dummpy function of erofs_build_fault_attr() when macro
> CONFIG_EROFS_FAULT_I
> -Original Message-
> From: Greg KH
> Sent: Sunday, September 16, 2018 9:56 PM
> To: KY Srinivasan
> Cc: linux-ker...@vger.kernel.org; de...@linuxdriverproject.org;
> o...@aepfle.de; a...@canonical.com; jasow...@redhat.com; Stephen
> Hemminger ; Michael Kelley (EOSG)
> ; vkuznets
> S
On 09/14/2018 11:22 PM, Chao Yu wrote:
On 2018/9/13 13:46, cgxu519 wrote:
On 09/13/2018 10:15 AM, Chao Yu wrote:
On 2018/9/12 13:10, Chengguang Xu wrote:
Define a dummpy function of erofs_build_fault_attr() when macro
CONFIG_EROFS_FAULT_INJECTION is disabled, so that we don't have to
check the
With the storage array in place it's now trivial to support CLOCK_TAI in
the vdso. Extend the base time storage array and add the update code.
Signed-off-by: Thomas Gleixner
---
V2: Remove the masking trick
arch/x86/entry/vsyscall/vsyscall_gtod.c |4
arch/x86/include/asm/vgtod.h
All VDSO clock sources are TSC based and use CLOCKSOURCE_MASK(64). There is
no point in masking with all FF. Get rid of it and enforce the mask in the
sanity checker.
Signed-off-by: Thomas Gleixner
---
arch/x86/entry/vdso/vclock_gettime.c |2 +-
arch/x86/kernel/time.c |6 ++
do_realtime() and do_monotonic() are now the same except for the storage
array index. Hand the index in as an argument and collapse the functions.
Signed-off-by: Thomas Gleixner
---
arch/x86/entry/vdso/vclock_gettime.c | 35 +++
1 file changed, 7 insertions(+),
The code flow for the vclocks is convoluted as it requires the vclocks
which can be invalidated separately from the vsyscall_gtod_data sequence to
store the fact in a separate variable. That's inefficient.
Restructure the code so the vclock readout returns cycles and the
conversion to nanoseconds
Dereferencing gtod->cycle_last all over the place and foing the cycles <
last comparison in the vclock read functions generates horrible code. Doing
it at the call site is much better and gains a few cycles both for TSC and
pvclock.
Caveat: This adds the comparison to the hyperv vclock as well, bu
It's desired to support more clocks in the VDSO, e.g. CLOCK_TAI. This
results either in indirect calls due to the larger switch case, which then
requires retpolines or when the compiler is forced to avoid jump tables it
results in even more conditionals.
To avoid both variants which are bad for pe
Now that the time getter functions use the clockid as index into the
storage array for the base time access, the switch case can be replaced.
- Check for clockid >= MAX_CLOCKS and for negative clockid (CPU/FD) first
and call the fallback function right away.
- After establishing that clockid is
Architectures have extra archdata in the clocksource, e.g. for VDSO
support. There are no sanity checks or general initializations for this
available. Add support for that.
Signed-off-by: Thomas Gleixner
---
include/linux/clocksource.h |5 +
kernel/time/Kconfig |4
kerne
do_realtime_coarse() and do_monotonic_coarse() are now the same except for
the storage array index. Hand the index in as an argument and collapse the
functions.
Signed-off-by: Thomas Gleixner
---
arch/x86/entry/vdso/vclock_gettime.c | 20
1 file changed, 4 insertions(+), 1
Runtime validate the VCLOCK_MODE in clocksource::archdata and disable
VCLOCK if invalid, which disables the VDSO but keeps the system running.
Signed-off-by: Thomas Gleixner
---
V2: Fix the VCLOCK_MAX check
arch/x86/Kconfig |1 +
arch/x86/kernel/time.c | 16
2 file
The sequence count in vgtod_data is unsigned int, but the call sites use
unsigned long, which is a pointless exercise. Fix the call sites and
replace 'unsigned' with unsinged 'int' while at it.
Signed-off-by: Thomas Gleixner
---
arch/x86/entry/vdso/vclock_gettime.c |8
arch/x86/incl
Matt attempted to add CLOCK_TAI support to the VDSO clock_gettime()
implementation, which extended the clockid switch case and added yet
another slightly different copy of the same code.
Especially the extended switch case is problematic as the compiler tends to
generate a jump table which then re
On Fri, 14 Sep 2018, Arnd Bergmann wrote:
> On Fri, Sep 14, 2018 at 2:52 PM Thomas Gleixner wrote:
> A couple of architectures (s390, ia64, riscv, powerpc, arm64)
> implement the vdso as assembler code at the moment, so they
> won't be as easy to consolidate (other than outright replacing all
> th
From: Nick Ewalt
The maximum number of entries in the page table is configurable at
initialization time and should be used in gasket_extended_lvl0_page_idx.
Signed-off-by: Nick Ewalt
Signed-off-by: Todd Poynor
---
drivers/staging/gasket/gasket_page_table.c | 2 +-
1 file changed, 1 insertion(
From: Todd Poynor
Add a brief description and URL for more information on the Apex device,
an Edge TPU (Tensorflow Processing Unit) machine learning accelerator.
Signed-off-by: Todd Poynor
---
drivers/staging/gasket/Kconfig | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git
From: Nick Ewalt
Only call dma_unmap_page if there was an associated dma_map_page call.
Signed-off-by: Nick Ewalt
Signed-off-by: Todd Poynor
---
drivers/staging/gasket/gasket_page_table.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/gasket/gasket_page_ta
From: Nick Ewalt
The DMA direction supplied to dma_unmap_page should match the
corresponding dma_map_page call, which is mapped bi-directional.
Signed-off-by: Nick Ewalt
Signed-off-by: Todd Poynor
---
drivers/staging/gasket/gasket_page_table.c | 2 +-
1 file changed, 1 insertion(+), 1 deletio
From: Todd Poynor
Add a description of the Gasket framework device Apex (it's a Google
Edge TPU machine learning accelerator soon to be released), plus a
handful of fixes.
Nick Ewalt (7):
staging: gasket: fix DMA direction for extended page tables
staging: gasket: fix data page unmap DMA dir
From: Nick Ewalt
Handle dma_map_page failing in gasket_alloc_extended_subtable: free
memory, don't add invalid page table entry.
Signed-off-by: Nick Ewalt
Signed-off-by: Todd Poynor
---
drivers/staging/gasket/gasket_page_table.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a
From: Nick Ewalt
Extended page tables should be mapped as DMA_TO_DEVICE, not
bi-directional.
Signed-off-by: Nick Ewalt
Signed-off-by: Todd Poynor
---
drivers/staging/gasket/gasket_page_table.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/gasket/gaske
From: Nick Ewalt
Previously pages would have never been unmapped in this case.
Signed-off-by: Nick Ewalt
Signed-off-by: Todd Poynor
---
drivers/staging/gasket/gasket_page_table.c | 33 +-
1 file changed, 20 insertions(+), 13 deletions(-)
diff --git a/drivers/staging/gaske
From: Nick Ewalt
Free gasket_coherent_page_entries metadata memory, update data
structures accordingly.
Signed-off-by: Nick Ewalt
Signed-off-by: Todd Poynor
---
drivers/staging/gasket/gasket_page_table.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/staging/gasket/gasket_pa
From: Todd Poynor
Flags should be specified for dma_alloc_coherent() call. Use
GFP_KERNEL, it's fine to sleep here.
Signed-off-by: Todd Poynor
---
drivers/staging/gasket/gasket_page_table.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/gasket/gasket_page_
From: Todd Poynor
Devices not using MSIX don't use the msix_initialized field, so don't
require it to be set in the interrupt system status check. The general
check for interrupts configured that follows can cover both MSIX and
device-managed interrupts.
Signed-off-by: Todd Poynor
---
drivers/
Hi Stefan,
On 17/09/2018 12:39, Stefan Wahren wrote:
> Hi Phil,
>
> Am 17.09.2018 um 10:22 schrieb Phil Elwell:
>> Both sides of the VCHIQ communications mechanism need to agree on the cache
>> line size. Using an incorrect value can lead to data corruption, but having
>> the
>> two sides using
Hi Phil,
Am 17.09.2018 um 10:22 schrieb Phil Elwell:
> Both sides of the VCHIQ communications mechanism need to agree on the cache
> line size. Using an incorrect value can lead to data corruption, but having
> the
> two sides using different values is usually worse.
>
> In the absence of an obvi
On Wed, 12 Sep 2018 17:08:52 +0200
Arnd Bergmann wrote:
> The .ioctl and .compat_ioctl file operations have the same prototype so
> they can both point to the same function, which works great almost all
> the time when all the commands are compatible.
>
> One exception is the s390 architecture,
On Sat, 15 Sep 2018 19:54:40 +0200
Miquel Raynal wrote:
> Hi Boris,
>
> Boris Brezillon wrote on Fri, 7 Sep 2018
> 00:38:32 +0200:
>
> > Hello,
> >
> > This is the 2nd batch of API cleanup patches. This time we move
> > deprecated hooks/fields to the nand_legacy struct, and then move some
>
To allow VCHIQ to determine the correct cache line size, use the new
"brcm,bcm2836-vchiq" compatible string on BCM2836 and BCM2837.
Signed-off-by: Phil Elwell
Acked-by: Stefan Wahren
---
arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +-
arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 2 +-
arch/a
"brcm,bcm2836-vchiq" should be used on BCM2836 and BCM2837 to ensure
correct operation.
Signed-off-by: Phil Elwell
Acked-by: Stefan Wahren
---
Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-vchiq.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Documentation/dev
The size field in a Device Tree "reg" property is encoded in bytes, not
words.
Fixes: 614fa22119d6 ("ARM: dts: bcm2835: Add VCHIQ node to the Raspberry Pi
boards. (v3)")
Signed-off-by: Phil Elwell
Acked-by: Stefan Wahren
---
arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +-
1 file changed, 1 insertio
Use the compatible string in the DTB to select the correct cache line
size for the SoC - 32 for BCM2835, and 64 for BCM2836 and BCM2837.
Signed-off-by: Phil Elwell
---
.../interface/vchiq_arm/vchiq_2835_arm.c | 4 ++-
.../vc04_services/interface/vchiq_arm/vchiq_arm.c | 35 +++
Both sides of the VCHIQ communications mechanism need to agree on the cache
line size. Using an incorrect value can lead to data corruption, but having the
two sides using different values is usually worse.
In the absence of an obvious convenient run-time method to determine the
correct value in t
On 2018-09-15 23:26:53 [+], Michael Kelley (EOSG) wrote:
> From Sebastian Andrzej Siewior Sent: Thursday, August 30, 2018 12:55 AM
> >
> > On !RT the header file get_irq_regs() gets pulled in via other header
> > files. On
> > RT it does not and the build fails:
> >
> > drivers/hv/vmbu
Am 03.09.18 um 02:36 schrieb Rashmica:
> Hi David,
>
>
> On 21/08/18 20:44, David Hildenbrand wrote:
>
>> There seem to be some problems as result of 30467e0b3be ("mm, hotplug:
>> fix concurrent memory hot-add deadlock"), which tried to fix a possible
>> lock inversion reported and discussed in
NATWEST BANK PLC,
10 Southwark Street ,
London Bridge , London - UK
SE1 1TT
RC: 121878
Our Ref: NTB/WESTMIN/INTER-15
Your Ref: Affidavit: AFX 076GD7B24
Tell=+447035969549
Fax+448435643403
REF:- INSTRUCTION TO CREDIT YOUR ACCOUNT WITH THE SUM OF (US$10Million)
This is the second time we are notify
69 matches
Mail list logo