search for: page_table_lock

Displaying 20 results from an estimated 39 matches for "page_table_lock".

2023 Feb 07
1
[PATCH v2] x86/paravirt: merge activate_mm and dup_mmap callbacks
.../xen/mmu_pv.c index ee29fb558f2e..b3b8d289b9ab 100644 --- a/arch/x86/xen/mmu_pv.c +++ b/arch/x86/xen/mmu_pv.c @@ -885,14 +885,7 @@ void xen_mm_unpin_all(void) spin_unlock(&pgd_lock); } -static void xen_activate_mm(struct mm_struct *prev, struct mm_struct *next) -{ - spin_lock(&next->page_table_lock); - xen_pgd_pin(next); - spin_unlock(&next->page_table_lock); -} - -static void xen_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm) +static void xen_enter_mmap(struct mm_struct *mm) { spin_lock(&mm->page_table_lock); xen_pgd_pin(mm); @@ -2153,8 +2146,7 @@ static const typ...
2008 May 31
1
[PATCH] xen: avoid hypercalls when updating unpinned pud/pmd
...val; + return; + } + + xen_set_pud_hyper(ptr, val); } void xen_set_pte(pte_t *ptep, pte_t pte) @@ -418,7 +449,7 @@ void xen_pmd_clear(pmd_t *pmdp) { - xen_set_pmd(pmdp, __pmd(0)); + set_pmd(pmdp, __pmd(0)); } pmd_t xen_make_pmd(pmdval_t pmd) @@ -789,7 +820,7 @@ spin_lock(&mm->page_table_lock); /* pgd may not be pinned in the error exit path of execve */ - if (PagePinned(virt_to_page(mm->pgd))) + if (page_pinned(mm->pgd)) xen_pgd_unpin(mm->pgd); spin_unlock(&mm->page_table_lock); =================================================================== --- a/arch/x8...
2019 Jul 01
30
dev_pagemap related cleanups v4
Hi Dan, Jérôme and Jason, below is a series that cleans up the dev_pagemap interface so that it is more easily usable, which removes the need to wrap it in hmm and thus allowing to kill a lot of code Note: this series is on top of Linux 5.2-rc6 and has some minor conflicts with the hmm tree that are easy to resolve. Diffstat summary: 34 files changed, 379 insertions(+), 1016 deletions(-) Git
2008 Mar 20
1
[RFC/PATCH 01/15] preparation: provide hook to enable pgstes in user pagetable
...*crst_table_alloc(struct mm_struct *mm, int noexec) @@ -153,7 +169,7 @@ unsigned long *page_table_alloc(struct m unsigned long *table; unsigned long bits; - bits = mm->context.noexec ? 3UL : 1UL; + bits = (mm->context.noexec || mm->context.pgstes) ? 3UL : 1UL; spin_lock(&mm->page_table_lock); page = NULL; if (!list_empty(&mm->context.pgtable_list)) { @@ -170,7 +186,10 @@ unsigned long *page_table_alloc(struct m pgtable_page_ctor(page); page->flags &= ~FRAG_MASK; table = (unsigned long *) page_to_phys(page); - clear_table(table, _PAGE_TYPE_EMPTY, PAGE_SIZE);...
2006 Mar 14
12
[RFC] VMI for Xen?
I''m sure everyone has seen the drop of VMI patches for Linux at this point, but just in case, the link is included below. I''ve read this version of the VMI spec and have made my way through most of the patches. While I wasn''t really that impressed with the first spec wrt Xen, the second version seems to be much more palatable. Specifically, the code inlining and
2013 Jun 23
0
[PATCH 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline
...ap(struct mm_struct *mm) { - get_cpu(); /* make sure we don't move around */ + /* + * Make sure we don't move around, and also prevent CPUs from + * going offline. + */ + get_online_cpus_atomic(); xen_drop_mm_ref(mm); - put_cpu(); + put_online_cpus_atomic(); spin_lock(&mm->page_table_lock);
2013 Jun 25
0
[PATCH v2 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline
...ap(struct mm_struct *mm) { - get_cpu(); /* make sure we don't move around */ + /* + * Make sure we don't move around, and also prevent CPUs from + * going offline. + */ + get_online_cpus_atomic(); xen_drop_mm_ref(mm); - put_cpu(); + put_online_cpus_atomic(); spin_lock(&mm->page_table_lock);
2013 Jun 27
0
[PATCH v3 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline
...ap(struct mm_struct *mm) { - get_cpu(); /* make sure we don't move around */ + /* + * Make sure we don't move around, and also prevent CPUs from + * going offline. + */ + get_online_cpus_atomic(); xen_drop_mm_ref(mm); - put_cpu(); + put_online_cpus_atomic(); spin_lock(&mm->page_table_lock);
2013 Jun 23
0
[PATCH 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline
...ap(struct mm_struct *mm) { - get_cpu(); /* make sure we don't move around */ + /* + * Make sure we don't move around, and also prevent CPUs from + * going offline. + */ + get_online_cpus_atomic(); xen_drop_mm_ref(mm); - put_cpu(); + put_online_cpus_atomic(); spin_lock(&mm->page_table_lock);
2013 Jun 25
0
[PATCH v2 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline
...ap(struct mm_struct *mm) { - get_cpu(); /* make sure we don't move around */ + /* + * Make sure we don't move around, and also prevent CPUs from + * going offline. + */ + get_online_cpus_atomic(); xen_drop_mm_ref(mm); - put_cpu(); + put_online_cpus_atomic(); spin_lock(&mm->page_table_lock);
2013 Jun 27
0
[PATCH v3 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline
...ap(struct mm_struct *mm) { - get_cpu(); /* make sure we don't move around */ + /* + * Make sure we don't move around, and also prevent CPUs from + * going offline. + */ + get_online_cpus_atomic(); xen_drop_mm_ref(mm); - put_cpu(); + put_online_cpus_atomic(); spin_lock(&mm->page_table_lock);
2013 Jun 23
0
[PATCH 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline
...ap(struct mm_struct *mm) { - get_cpu(); /* make sure we don't move around */ + /* + * Make sure we don't move around, and also prevent CPUs from + * going offline. + */ + get_online_cpus_atomic(); xen_drop_mm_ref(mm); - put_cpu(); + put_online_cpus_atomic(); spin_lock(&mm->page_table_lock);
2013 Jun 25
0
[PATCH v2 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline
...ap(struct mm_struct *mm) { - get_cpu(); /* make sure we don't move around */ + /* + * Make sure we don't move around, and also prevent CPUs from + * going offline. + */ + get_online_cpus_atomic(); xen_drop_mm_ref(mm); - put_cpu(); + put_online_cpus_atomic(); spin_lock(&mm->page_table_lock);
2013 Jun 27
0
[PATCH v3 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline
...ap(struct mm_struct *mm) { - get_cpu(); /* make sure we don't move around */ + /* + * Make sure we don't move around, and also prevent CPUs from + * going offline. + */ + get_online_cpus_atomic(); xen_drop_mm_ref(mm); - put_cpu(); + put_online_cpus_atomic(); spin_lock(&mm->page_table_lock);
2019 Dec 23
7
[PATCH 1/6] iommu/omap: convert to devm_platform_ioremap_resource
...t irq; struct omap_iommu *obj; - struct resource *res; struct device_node *of = pdev->dev.of_node; struct orphan_dev *orphan_dev, *tmp; @@ -1218,8 +1217,7 @@ static int omap_iommu_probe(struct platform_device *pdev) spin_lock_init(&obj->iommu_lock); spin_lock_init(&obj->page_table_lock); - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - obj->regbase = devm_ioremap_resource(obj->dev, res); + obj->regbase = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(obj->regbase)) return PTR_ERR(obj->regbase); -- 2.17.1
2019 Dec 23
7
[PATCH 1/6] iommu/omap: convert to devm_platform_ioremap_resource
...t irq; struct omap_iommu *obj; - struct resource *res; struct device_node *of = pdev->dev.of_node; struct orphan_dev *orphan_dev, *tmp; @@ -1218,8 +1217,7 @@ static int omap_iommu_probe(struct platform_device *pdev) spin_lock_init(&obj->iommu_lock); spin_lock_init(&obj->page_table_lock); - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - obj->regbase = devm_ioremap_resource(obj->dev, res); + obj->regbase = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(obj->regbase)) return PTR_ERR(obj->regbase); -- 2.17.1
2007 Oct 12
10
[PATCH 00/10] REVIEW: Xen patches for 2.6.24
This is my current set of updates to Xen for 2.6.24. This is largely a bugfix set, and a couple of them are also relevent to 2.6.23. These are in the pre-x86 merge form; I'll update them once the merge goes into git. Quick overview: - remove some dead code in arch/i386/mm/init.c - clean up some duplicate includes - when sending an IPI, yield the vcpu if the destination doesn't have
2007 Oct 12
10
[PATCH 00/10] REVIEW: Xen patches for 2.6.24
This is my current set of updates to Xen for 2.6.24. This is largely a bugfix set, and a couple of them are also relevent to 2.6.23. These are in the pre-x86 merge form; I'll update them once the merge goes into git. Quick overview: - remove some dead code in arch/i386/mm/init.c - clean up some duplicate includes - when sending an IPI, yield the vcpu if the destination doesn't have
2007 Oct 12
10
[PATCH 00/10] REVIEW: Xen patches for 2.6.24
This is my current set of updates to Xen for 2.6.24. This is largely a bugfix set, and a couple of them are also relevent to 2.6.23. These are in the pre-x86 merge form; I'll update them once the merge goes into git. Quick overview: - remove some dead code in arch/i386/mm/init.c - clean up some duplicate includes - when sending an IPI, yield the vcpu if the destination doesn't have
2008 Mar 20
34
[RFC/PATCH 00/15] kvm on big iron
This patch series introduces a backend for kvm to run on IBM System z machines that uses the mainframe's sie virtualization capability. This work runs 64bit guests on z800/z890/z900/z990/z9/z10 class machines with a 64bit linux host. Userspace will follow once we're done brushing it over. The patch queue consists of the following patches, which can be applied in sequence on top of kvm.git