search for: vm_insert_pfn

Displaying 20 results from an estimated 27 matches for "vm_insert_pfn".

Did you mean: vmf_insert_pfn
2017 Feb 08
2
[PATCH RFC 2/2] x86/vdso: Add VCLOCK_HVCLOCK vDSO clock read method
...lt;asm/desc.h> > #include <asm/cpufeature.h> > +#include <asm/mshyperv.h> > > #if defined(CONFIG_X86_64) > unsigned int __read_mostly vdso64_enabled = 1; > @@ -112,13 +113,24 @@ static int vvar_fault(const struct vm_special_mapping *sm, > ret = vm_insert_pfn(vma, vmf->address, > __pa_symbol(&__vvar_page) >> PAGE_SHIFT); > } else if (sym_offset == image->sym_pvclock_page) { > - struct pvclock_vsyscall_time_info *pvti = > - pvclock_pvti_cpu0_va();...
2017 Feb 08
2
[PATCH RFC 2/2] x86/vdso: Add VCLOCK_HVCLOCK vDSO clock read method
...lt;asm/desc.h> > #include <asm/cpufeature.h> > +#include <asm/mshyperv.h> > > #if defined(CONFIG_X86_64) > unsigned int __read_mostly vdso64_enabled = 1; > @@ -112,13 +113,24 @@ static int vvar_fault(const struct vm_special_mapping *sm, > ret = vm_insert_pfn(vma, vmf->address, > __pa_symbol(&__vvar_page) >> PAGE_SHIFT); > } else if (sym_offset == image->sym_pvclock_page) { > - struct pvclock_vsyscall_time_info *pvti = > - pvclock_pvti_cpu0_va();...
2017 Feb 08
3
[PATCH RFC 0/2] x86/vdso: Add Hyper-V TSC page clocksource support
Hi, Hyper-V TSC page clocksource is suitable for vDSO, however, the protocol defined by the hypervisor is different from VCLOCK_PVCLOCK. I implemented the required support re-using pvclock_page VVAR. Simple sysbench test shows the following results: Before: # time sysbench --test=memory --max-requests=500000 run ... real 1m22.618s user 0m50.193s sys 0m32.268s After: # time sysbench
2017 Feb 08
3
[PATCH RFC 0/2] x86/vdso: Add Hyper-V TSC page clocksource support
Hi, Hyper-V TSC page clocksource is suitable for vDSO, however, the protocol defined by the hypervisor is different from VCLOCK_PVCLOCK. I implemented the required support re-using pvclock_page VVAR. Simple sysbench test shows the following results: Before: # time sysbench --test=memory --max-requests=500000 run ... real 1m22.618s user 0m50.193s sys 0m32.268s After: # time sysbench
2017 Feb 08
0
[PATCH RFC 2/2] x86/vdso: Add VCLOCK_HVCLOCK vDSO clock read method
...,7 @@ #include <asm/page.h> #include <asm/desc.h> #include <asm/cpufeature.h> +#include <asm/mshyperv.h> #if defined(CONFIG_X86_64) unsigned int __read_mostly vdso64_enabled = 1; @@ -112,13 +113,24 @@ static int vvar_fault(const struct vm_special_mapping *sm, ret = vm_insert_pfn(vma, vmf->address, __pa_symbol(&__vvar_page) >> PAGE_SHIFT); } else if (sym_offset == image->sym_pvclock_page) { - struct pvclock_vsyscall_time_info *pvti = - pvclock_pvti_cpu0_va(); - if (pvti && vclock_was_used(VCLOCK_PVCLOCK)) { - ret = vm_insert_pfn( -...
2016 Jun 16
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...ot exported function. How does your driver can use it? Its not using the function directly, I just re-iterated the sequence of functions above. (do_set_pte -> page_add_file_rmap) gets called after we grab the page from driver through (__do_fault->vma->vm_ops->fault()). > Do you use vm_insert_pfn? > What type your vma is? VM_PFNMMAP or VM_MIXEDMAP? I dont use vm_insert_pfn(). Here is the sequence of events how the user space VMA gets the non LRU pages from the driver. - Driver registers a character device with 'struct file_operations' binding - Then the 'fops->mmap()'...
2016 Jun 16
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...ot exported function. How does your driver can use it? Its not using the function directly, I just re-iterated the sequence of functions above. (do_set_pte -> page_add_file_rmap) gets called after we grab the page from driver through (__do_fault->vma->vm_ops->fault()). > Do you use vm_insert_pfn? > What type your vma is? VM_PFNMMAP or VM_MIXEDMAP? I dont use vm_insert_pfn(). Here is the sequence of events how the user space VMA gets the non LRU pages from the driver. - Driver registers a character device with 'struct file_operations' binding - Then the 'fops->mmap()'...
2016 Jun 27
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...it? >> >> Its not using the function directly, I just re-iterated the sequence of functions >> above. (do_set_pte -> page_add_file_rmap) gets called after we grab the page from >> driver through (__do_fault->vma->vm_ops->fault()). >> >>> Do you use vm_insert_pfn? >>> What type your vma is? VM_PFNMMAP or VM_MIXEDMAP? >> >> I dont use vm_insert_pfn(). Here is the sequence of events how the user space >> VMA gets the non LRU pages from the driver. >> >> - Driver registers a character device with 'struct file_operatio...
2016 Jun 27
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...it? >> >> Its not using the function directly, I just re-iterated the sequence of functions >> above. (do_set_pte -> page_add_file_rmap) gets called after we grab the page from >> driver through (__do_fault->vma->vm_ops->fault()). >> >>> Do you use vm_insert_pfn? >>> What type your vma is? VM_PFNMMAP or VM_MIXEDMAP? >> >> I dont use vm_insert_pfn(). Here is the sequence of events how the user space >> VMA gets the non LRU pages from the driver. >> >> - Driver registers a character device with 'struct file_operatio...
2016 Jun 16
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...your driver can use it? > > Its not using the function directly, I just re-iterated the sequence of functions > above. (do_set_pte -> page_add_file_rmap) gets called after we grab the page from > driver through (__do_fault->vma->vm_ops->fault()). > > > Do you use vm_insert_pfn? > > What type your vma is? VM_PFNMMAP or VM_MIXEDMAP? > > I dont use vm_insert_pfn(). Here is the sequence of events how the user space > VMA gets the non LRU pages from the driver. > > - Driver registers a character device with 'struct file_operations' binding >...
2016 Jun 15
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
On 06/15/2016 08:02 AM, Minchan Kim wrote: > Hi, > > On Mon, Jun 13, 2016 at 03:08:19PM +0530, Anshuman Khandual wrote: >> > On 05/31/2016 05:31 AM, Minchan Kim wrote: >>> > > @@ -791,6 +921,7 @@ static int __unmap_and_move(struct page *page, struct page *newpage, >>> > > int rc = -EAGAIN; >>> > > int page_was_mapped = 0;
2016 Jun 15
2
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
On 06/15/2016 08:02 AM, Minchan Kim wrote: > Hi, > > On Mon, Jun 13, 2016 at 03:08:19PM +0530, Anshuman Khandual wrote: >> > On 05/31/2016 05:31 AM, Minchan Kim wrote: >>> > > @@ -791,6 +921,7 @@ static int __unmap_and_move(struct page *page, struct page *newpage, >>> > > int rc = -EAGAIN; >>> > > int page_was_mapped = 0;
2016 Jun 28
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...; Its not using the function directly, I just re-iterated the sequence of functions > >> above. (do_set_pte -> page_add_file_rmap) gets called after we grab the page from > >> driver through (__do_fault->vma->vm_ops->fault()). > >> > >>> Do you use vm_insert_pfn? > >>> What type your vma is? VM_PFNMMAP or VM_MIXEDMAP? > >> > >> I dont use vm_insert_pfn(). Here is the sequence of events how the user space > >> VMA gets the non LRU pages from the driver. > >> > >> - Driver registers a character device...
2016 Jun 30
1
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...ing the function directly, I just re-iterated the sequence of functions >>>> above. (do_set_pte -> page_add_file_rmap) gets called after we grab the page from >>>> driver through (__do_fault->vma->vm_ops->fault()). >>>> >>>>> Do you use vm_insert_pfn? >>>>> What type your vma is? VM_PFNMMAP or VM_MIXEDMAP? >>>> >>>> I dont use vm_insert_pfn(). Here is the sequence of events how the user space >>>> VMA gets the non LRU pages from the driver. >>>> >>>> - Driver registers a...
2016 Jun 30
1
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...ing the function directly, I just re-iterated the sequence of functions >>>> above. (do_set_pte -> page_add_file_rmap) gets called after we grab the page from >>>> driver through (__do_fault->vma->vm_ops->fault()). >>>> >>>>> Do you use vm_insert_pfn? >>>>> What type your vma is? VM_PFNMMAP or VM_MIXEDMAP? >>>> >>>> I dont use vm_insert_pfn(). Here is the sequence of events how the user space >>>> VMA gets the non LRU pages from the driver. >>>> >>>> - Driver registers a...
2019 Oct 02
0
DANGER WILL ROBINSON, DANGER
...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)) { vm_insert_pfn(); drop_lock(kvmms->update); hmm_range_unregister(&range); return VM_FAULT_NOPAGE; } drop_lock(kvmms->update); goto again; } The notifier callback: kvmms_notifier_start() { tak...
2016 Jun 16
0
[PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration
...apped into user space > process page table through f_ops->mmap() and vmops->fault() which then updates > the file RMAP (page->mapping->i_mmap) through page_add_file_rmap(page). One thing Hmm, page_add_file_rmap is not exported function. How does your driver can use it? Do you use vm_insert_pfn? What type your vma is? VM_PFNMMAP or VM_MIXEDMAP? I want to make dummy driver to simulate your case. It would be very helpful to implement/test pte-mapped non-lru page migration feature. That's why I ask now. > to note here is that the page->mapping eventually points to struct address_...
2017 Feb 09
0
[PATCH 2/2] x86/vdso: Add VCLOCK_HVCLOCK vDSO clock read method
...t vvar_fault(const struct vm_special_mapping *sm, vmf->address, __pa(pvti) >> PAGE_SHIFT); } + } else if (sym_offset == image->sym_hvclock_page) { + struct ms_hyperv_tsc_page *tsc_pg = hv_get_tsc_page(); + + if (tsc_pg && vclock_was_used(VCLOCK_HVCLOCK)) + ret = vm_insert_pfn(vma, vmf->address, + vmalloc_to_pfn(tsc_pg)); } if (ret == 0 || ret == -EBUSY) diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c index 0ce8485..17519e0 100644 --- a/arch/x86/hyperv/hv_init.c +++ b/arch/x86/hyperv/hv_init.c @@ -157,6 +157,9 @@ void hyperv_init(void)...
2019 Oct 02
2
DANGER WILL ROBINSON, DANGER
...ruct_from_file(vmf->vma->vm_file); > ... > again: > hmm_range_register(&range); > hmm_range_snapshot(&range); > take_lock(kvmms->update); > if (!hmm_range_valid(&range)) { > vm_insert_pfn(); > drop_lock(kvmms->update); > hmm_range_unregister(&range); > return VM_FAULT_NOPAGE; > } > drop_lock(kvmms->update); > goto again; > } > > The notifier callback: &gt...
2019 Oct 02
2
DANGER WILL ROBINSON, DANGER
...ruct_from_file(vmf->vma->vm_file); > ... > again: > hmm_range_register(&range); > hmm_range_snapshot(&range); > take_lock(kvmms->update); > if (!hmm_range_valid(&range)) { > vm_insert_pfn(); > drop_lock(kvmms->update); > hmm_range_unregister(&range); > return VM_FAULT_NOPAGE; > } > drop_lock(kvmms->update); > goto again; > } > > The notifier callback: &gt...