Displaying 7 results from an estimated 7 matches for "kvmms".
Did you mean:
kvms
2019 Oct 02
0
DANGER WILL ROBINSON, DANGER
...vice, virtual_addresse_of_target)
Then when the mirroring process access ptr it triggers page fault that
endup in the vm_operation_struct->fault() which is just doing:
kernel-kvm-mirroring-function:
kvm_mirror_page_fault(struct vm_fault *vmf) {
struct kvm_mirror_struct *kvmms;
kvmms = kvm_mirror_struct_from_file(vmf->vma->vm_file);
...
again:
hmm_range_register(&range);
hmm_range_snapshot(&range);
take_lock(kvmms->update);
if (!hmm_range_valid(&range)) {...
2019 Oct 02
2
DANGER WILL ROBINSON, DANGER
...gt;
> Then when the mirroring process access ptr it triggers page fault that
> endup in the vm_operation_struct->fault() which is just doing:
>
> kernel-kvm-mirroring-function:
> kvm_mirror_page_fault(struct vm_fault *vmf) {
> struct kvm_mirror_struct *kvmms;
>
> kvmms = kvm_mirror_struct_from_file(vmf->vma->vm_file);
> ...
> again:
> hmm_range_register(&range);
> hmm_range_snapshot(&range);
> take_lock(kvmms->update);
> if (!hmm_ra...
2019 Oct 02
2
DANGER WILL ROBINSON, DANGER
...gt;
> Then when the mirroring process access ptr it triggers page fault that
> endup in the vm_operation_struct->fault() which is just doing:
>
> kernel-kvm-mirroring-function:
> kvm_mirror_page_fault(struct vm_fault *vmf) {
> struct kvm_mirror_struct *kvmms;
>
> kvmms = kvm_mirror_struct_from_file(vmf->vma->vm_file);
> ...
> again:
> hmm_range_register(&range);
> hmm_range_snapshot(&range);
> take_lock(kvmms->update);
> if (!hmm_ra...
2019 Oct 03
0
DANGER WILL ROBINSON, DANGER
...e the MMU notifiers around the calls to
> insert_pfn, that of course would be perfect.
Ok and yes you can do that exactly ie inside the mmu notifier callback
from the target. For instance it is as easy as:
target_mirror_notifier_start_callback(start, end) {
struct kvm_mirror_struct *kvmms = from_mmun(...);
unsigned long target_foff, size;
size = end - start;
target_foff = kvmms_convert_mirror_address(start);
take_lock(kvmms->mirror_fault_exclusion_lock);
unmap_mapping_range(kvmms->address_space, target_foff, size, 1);
drop_lock(...
2019 Oct 02
5
DANGER WILL ROBINSON, DANGER
On 02/10/19 19:04, Jerome Glisse wrote:
> On Wed, Oct 02, 2019 at 06:18:06PM +0200, Paolo Bonzini wrote:
>>>> If the mapping of the source VMA changes, mirroring can update the
>>>> target VMA via insert_pfn. But what ensures that KVM's MMU notifier
>>>> dismantles its own existing page tables (so that they can be recreated
>>>> with the new
2019 Oct 02
5
DANGER WILL ROBINSON, DANGER
On 02/10/19 19:04, Jerome Glisse wrote:
> On Wed, Oct 02, 2019 at 06:18:06PM +0200, Paolo Bonzini wrote:
>>>> If the mapping of the source VMA changes, mirroring can update the
>>>> target VMA via insert_pfn. But what ensures that KVM's MMU notifier
>>>> dismantles its own existing page tables (so that they can be recreated
>>>> with the new
2019 Aug 09
6
[RFC PATCH v6 71/92] mm: add support for remote mapping
From: Mircea C?rjaliu <mcirjaliu at bitdefender.com>
The following two new mm exports are introduced:
* mm_remote_map(struct mm_struct *req_mm,
unsigned long req_hva,
unsigned long map_hva)
* mm_remote_unmap(unsigned long map_hva)
* mm_remote_reset(void)
* rmap_walk_remote(struct page *page,
struct rmap_walk_control *rwc)
This patch