search for: ptes

Displaying 20 results from an estimated 323 matches for "ptes".

Did you mean: pte
2020 Jul 06
0
[PATCH 1/5] nouveau: fix storing invalid ptes
...he pages in the address range may not be migrating. In this case, the non migrating pages won't have a new GPU MMU entry to store but the nvif_object_ioctl() NVIF_VMM_V0_PFNMAP method doesn't check the input and stores a bad valid GPU page table entry. Fix this by skipping the invalid input PTEs when updating the GPU page tables. Signed-off-by: Ralph Campbell <rcampbell at nvidia.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c b/drivers/gp...
2020 Jul 13
0
[PATCH v2 1/5] nouveau: fix storing invalid ptes
...he pages in the address range may not be migrating. In this case, the non migrating pages won't have a new GPU MMU entry to store but the nvif_object_ioctl() NVIF_VMM_V0_PFNMAP method doesn't check the input and stores a bad valid GPU page table entry. Fix this by skipping the invalid input PTEs when updating the GPU page tables. Signed-off-by: Ralph Campbell <rcampbell at nvidia.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c b/drivers/gp...
2020 Jul 23
0
[PATCH v4 1/6] nouveau: fix storing invalid ptes
...he pages in the address range may not be migrating. In this case, the non migrating pages won't have a new GPU MMU entry to store but the nvif_object_ioctl() NVIF_VMM_V0_PFNMAP method doesn't check the input and stores a bad valid GPU page table entry. Fix this by skipping the invalid input PTEs when updating the GPU page tables. Signed-off-by: Ralph Campbell <rcampbell at nvidia.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c b/drivers/gp...
2007 Dec 05
13
[PATCH] unshadow the page table page which are used as data page
The patch deals with the situation which guest OS uses unused page table pages as data pages and write data to them. The pages will still be grabbed by Xen as page table pages, and lots of unnecessary page faults occur. The patch will check if the data guest writes to the page table contains valid mfn or not, if not, we believe it is a data page now and then unshadow the page. The patch
2020 Jul 01
0
[PATCH v3 3/5] nouveau: fix mapping 2MB sysmem pages
...dev/mmu/vmmgp100.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c @@ -258,12 +258,94 @@ gp100_vmm_pd0_unmap(struct nvkm_vmm *vmm, VMM_FO128(pt, vmm, pdei * 0x10, 0ULL, 0ULL, pdes); } +static void +gp100_vmm_pd0_pfn_unmap(struct nvkm_vmm *vmm, + struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) +{ + struct device *dev = vmm->mmu->subdev.device->dev; + dma_addr_t addr; + + nvkm_kmap(pt->memory); + while (ptes--) { + u32 datalo = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 0); + u32 datahi = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 4); + u64 data = (u64)da...
2005 Nov 15
3
pte query?
hi, what''s the best way (if at all) to iterate through all of a domain''s page tables within xen 2.0.6? i need to find all references to a specific pte value (which is a given). essentially, a reverse page-table lookup. i''m hesitant to switch to 3.0, but if it''s easier to do what i want, just let me know. thanks, -A. -- Aaron Marks Distributed Systems Lab
2013 Sep 14
3
[xen-unstable bisection] complete build-i386
...rio Faggioli <dario.faggioli@citrix.com> Date: Tue Sep 10 19:54:20 2013 +0200 tools/misc: introduce xen-mfndump. A little development and debugging tool, useful when looking for information about MFN to PFN mappings, MFN/PFN mappings in a guest''s PTEs, etc. This is what it can do as of now: $ /usr/sbin/xen-mfndump Usage: xen-mfndump <command> [args] Commands: help show this help dump-m2p show M2P dump-p2m <domid> show P2M of &...
2016 Nov 25
5
[PATCH 0/3] virtio/vringh: kill off ACCESS_ONCE()
...to hand. > > Whatever triggers the __builtin_memcpy() paths, and even the size==8 > paths on 32bit. > > You could put a WARN in there to easily find them. There were several cases that I found during writing the *ONCE stuff. For example there are some 32bit ppc variants with 64bit PTEs. Some for others (I think sparc). And the mm/ code is perfectly fine with these PTE accesses being done NOT atomic. > > The advantage of introducing the SINGLE_{LOAD,STORE}() helpers is that > they compiletime validate this the size is 'right' and can runtime check > alignmen...
2016 Nov 25
5
[PATCH 0/3] virtio/vringh: kill off ACCESS_ONCE()
...to hand. > > Whatever triggers the __builtin_memcpy() paths, and even the size==8 > paths on 32bit. > > You could put a WARN in there to easily find them. There were several cases that I found during writing the *ONCE stuff. For example there are some 32bit ppc variants with 64bit PTEs. Some for others (I think sparc). And the mm/ code is perfectly fine with these PTE accesses being done NOT atomic. > > The advantage of introducing the SINGLE_{LOAD,STORE}() helpers is that > they compiletime validate this the size is 'right' and can runtime check > alignmen...
2023 Jan 30
2
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...the memory backed mappings are >> unmapped, but the VKBuffer isn't de-allocated, and hence sparse >> mappings need to be re-deployed? >> >> Let's assume the sparse VKBuffer (and hence the VA space allocation) >> is pretty large. In Nouveau the corresponding PTEs would have a >> rather huge page size to cover this. Now, if small memory backed >> mappings are mapped to this huge sparse buffer, in Nouveau we'd >> allocate a new PT with a corresponding smaller page size overlaying >> the sparse mappings PTEs. >> >> H...
2023 Jan 27
1
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...mapped on a sparse range? What happens when the memory backed mappings are unmapped, but the VKBuffer isn't de-allocated, and hence sparse mappings need to be re-deployed? Let's assume the sparse VKBuffer (and hence the VA space allocation) is pretty large. In Nouveau the corresponding PTEs would have a rather huge page size to cover this. Now, if small memory backed mappings are mapped to this huge sparse buffer, in Nouveau we'd allocate a new PT with a corresponding smaller page size overlaying the sparse mappings PTEs. How would this look like in amdgpu? > > When yo...
2008 Mar 19
10
Illegal PV kernel pfm/pfn translations on PROT_NONE ioremaps
Hi, On paravirt x86 (both 32- and 64-bit), since cset 13998: http://xenbits.xensource.com/xen-unstable.hg?rev/13998 we translate all ptes from being mfn-based to pfn-based when the hardware _PAGE_PRESENT bit is cleared. We do this for PROT_NONE pages, which appear to the HV to be non-present, but which are special-cased in the kernel to appear present (a different bit in the pte remains set for these pages and is caught by the pte_p...
2020 Jan 16
2
[PATCH v6 5/6] nouveau: use new mmu interval notifiers
...) mode it dynamically maintains a list of intervals. ODP chooses the align the dynamic intervals to it's HW page table levels, and not to SW VMAs. This is much simpler to manage and faster to fault, at the cost of capturing more VA for invalidations which have to be probed against the HW shadow PTEs. > It isn't that expensive, there is an extra driver lock/unlock as > part of the lookup and possibly a find_vma() and kmalloc(GFP_ATOMIC) > for new intervals. Also, the deferred interval updates for munmap(). > Compared to the cost of updating PTEs in the device and GPU fault >...
2006 Jul 25
18
[PATCH] turn off writable page tables
At OLS I gave a talk on some of the Xen scalability inhibitors, and one of these was writable page tables. We went over why the feature does not scale, but just as important, we found that the uniprocessor case does not provide any advantage either. These tests were done on x86_64, so I wanted to run the 1-way test on 32 bit to show the same problem. So, I have run with writable PTs and
2020 Jul 01
8
[PATCH v3 0/5] mm/hmm/nouveau: add PMD system memory mapping
The goal for this series is to introduce the hmm_pfn_to_map_order() function. This allows a device driver to know that a given 4K PFN is actually mapped by the CPU using a larger sized CPU page table entry and therefore the device driver can safely map system memory using larger device MMU PTEs. The series is based on 5.8.0-rc3 and is intended for Jason Gunthorpe's hmm tree. These were originally part of a larger series: https://lore.kernel.org/linux-mm/20200619215649.32297-1-rcampbell at nvidia.com/ Changes in v3: Replaced the HMM_PFN_P[MU]D flags with hmm_pfn_to_map_order() to indi...
2007 Mar 13
7
vram_dirty vs. shadow paging dirty tracking
When thinking about multithreading the device model, it occurred to me that it''s a little odd that we''re doing a memcmp to determine which portions of the VRAM has changed. Couldn''t we just use dirty page tracking in the shadow paging code? That should significantly lower the overhead of this plus I believe the infrastructure is already mostly there in the shadow2
2011 Jul 18
2
[PATCH tip/x86/mm] x86_32: calculate additional memory needed by the fixmap
...enough memory to allocate the pte pages needed to cover the fixmap virtual memory range, minus the single page allocated by head_32.S; - account for the page already allocated by early_ioremap_init; - account for the two additional pages that might be needed to make sure that the kmap''s ptes are contiguous. Unfortunately this code is rather complex and depends on the behaviour of other functions but I hope to have covered all the corner cases. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> R...
2007 Apr 18
1
[PATCH 6/9] 00mm9 optimize ptep establish for pae.patch
The ptep_establish macro is only used on user-level PTEs, for P->P mapping changes. Since these always happen under protection of the pagetable lock, the strong synchronization of a 64-bit cmpxchg is not needed, in fact, not even a lock prefix needs to be used. We can simply instead clear the P-bit, followed by a normal set. The write ordering is s...
2007 Feb 14
2
[PATCH 8/8] 2.6.17: scan DMI early
...ys_pmd_init(pmd_t *pmd, unsigned long address, unsigned long end) @@ -648,9 +670,9 @@ void __init extend_init_mapping(unsigned } } -static void __init find_early_table_space(unsigned long end) +static unsigned long __init find_early_table_space(unsigned long end) { - unsigned long puds, pmds, ptes, tables; + unsigned long puds, pmds, ptes, tables, fixmap_tables; puds = (end + PUD_SIZE - 1) >> PUD_SHIFT; pmds = (end + PMD_SIZE - 1) >> PMD_SHIFT; @@ -660,7 +682,16 @@ static void __init find_early_table_spac round_up(pmds * 8, PAGE_SIZE) + round_up(ptes * 8, PAGE_SIZE)...
2009 Feb 06
2
Xen pv_ops domU :: BUG() in remove_from_page_cache()
Hi, 2.6.29-rc3 x86_64 guest on x86_64 RHEL5.3 host: https://bugzilla.redhat.com/484295 kernel BUG at mm/filemap.c:123! invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC last sysfs file: /sys/devices/vbd-51712/block/xvda/xvda2/dev CPU 0 Modules linked in: ipv6 xts lrw gf128mul sha256_generic cbc dm_crypt