Displaying 5 results from an estimated 5 matches for "mm_unpinned_lock".
2007 Apr 18
0
[PATCH 12/12] xen-ldt
...-08 21:12:55.000000000 -0700
+++ linux-2.6.13/include/asm-i386/mach-xen/hypervisor_hooks.h 2005-08-08 21:13:19.000000000 -0700
@@ -0,0 +1,27 @@
+#ifndef __ASM_HYPERVISOR_HOOKS_H
+#define __ASM_HYPERVISOR_HOOKS_H
+
+static inline void add_context_to_unpinned(struct mm_struct *mm)
+{
+ spin_lock(&mm_unpinned_lock);
+ list_add(&mm->context.unpinned, &mm_unpinned);
+ spin_unlock(&mm_unpinned_lock);
+}
+
+static inline void del_context_from_unpinned(struct mm_struct *mm)
+{
+ if (!mm->context.pinned) {
+ spin_lock(&mm_unpinned_lock);
+ list_del(&mm->context.unpinned);
+ spin_unl...
2007 Apr 18
0
[PATCH 12/12] xen-ldt
...-08 21:12:55.000000000 -0700
+++ linux-2.6.13/include/asm-i386/mach-xen/hypervisor_hooks.h 2005-08-08 21:13:19.000000000 -0700
@@ -0,0 +1,27 @@
+#ifndef __ASM_HYPERVISOR_HOOKS_H
+#define __ASM_HYPERVISOR_HOOKS_H
+
+static inline void add_context_to_unpinned(struct mm_struct *mm)
+{
+ spin_lock(&mm_unpinned_lock);
+ list_add(&mm->context.unpinned, &mm_unpinned);
+ spin_unlock(&mm_unpinned_lock);
+}
+
+static inline void del_context_from_unpinned(struct mm_struct *mm)
+{
+ if (!mm->context.pinned) {
+ spin_lock(&mm_unpinned_lock);
+ list_del(&mm->context.unpinned);
+ spin_unl...
2007 Apr 18
2
[PATCH 12/12; UPDATED] xen-ldt
...-08 21:16:15.000000000 -0700
+++ linux-2.6.13/include/asm-i386/mach-xen/hypervisor_hooks.h 2005-08-08 21:16:53.000000000 -0700
@@ -0,0 +1,20 @@
+#ifndef __ASM_HYPERVISOR_HOOKS_H
+#define __ASM_HYPERVISOR_HOOKS_H
+
+static inline void add_context_to_unpinned(struct mm_struct *mm)
+{
+ spin_lock(&mm_unpinned_lock);
+ list_add(&mm->context.unpinned, &mm_unpinned);
+ spin_unlock(&mm_unpinned_lock);
+}
+
+static inline void del_context_from_unpinned(struct mm_struct *mm)
+{
+ if (!mm->context.pinned) {
+ spin_lock(&mm_unpinned_lock);
+ list_del(&mm->context.unpinned);
+ spin_unl...
2007 Apr 18
2
[PATCH 12/12; UPDATED] xen-ldt
...-08 21:16:15.000000000 -0700
+++ linux-2.6.13/include/asm-i386/mach-xen/hypervisor_hooks.h 2005-08-08 21:16:53.000000000 -0700
@@ -0,0 +1,20 @@
+#ifndef __ASM_HYPERVISOR_HOOKS_H
+#define __ASM_HYPERVISOR_HOOKS_H
+
+static inline void add_context_to_unpinned(struct mm_struct *mm)
+{
+ spin_lock(&mm_unpinned_lock);
+ list_add(&mm->context.unpinned, &mm_unpinned);
+ spin_unlock(&mm_unpinned_lock);
+}
+
+static inline void del_context_from_unpinned(struct mm_struct *mm)
+{
+ if (!mm->context.pinned) {
+ spin_lock(&mm_unpinned_lock);
+ list_del(&mm->context.unpinned);
+ spin_unl...
2005 Jun 23
1
[patch] pin/unpin must flush tlb
...(unsigned long)mm->pgd,
- pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL_RO), 0);
+ pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL_RO),
+ UVMF_TLB_FLUSH);
xen_pgd_pin(__pa(mm->pgd));
mm->context.pinned = 1;
spin_lock(&mm_unpinned_lock);
@@ -505,6 +506,7 @@ void mm_unpin(struct mm_struct *mm)
(unsigned long)mm->pgd,
pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL), 0);
mm_walk(mm, PAGE_KERNEL);
+ xen_tlb_flush();
mm->context.pinned = 0;
spin_lock(&mm_unpinned_lock);...