* Jeremy Fitzhardinge ([EMAIL PROTECTED]) wrote:
> Seems to work OK for native and Xen.  I had to play a bit with the
> paravirt-sched-clock patch to deal with the VMI changes.  Zach, can you
> check that it still works?

Cool, thanks for the rebase.  Here's some small fixes.

Minor issue with CONFIG_STACK_UNWIND in -mm vs. pda-to-percpu:

diff -r a5e50a2e914a include/asm-i386/unwind.h
--- a/include/asm-i386/unwind.h Tue Apr 10 16:20:13 2007 -0700
+++ b/include/asm-i386/unwind.h Tue Apr 10 16:34:58 2007 -0700
@@ -71,7 +71,7 @@ static inline void arch_unw_init_blocked
        info->regs.xss = __KERNEL_DS;
        info->regs.xds = __USER_DS;
        info->regs.xes = __USER_DS;
-       info->regs.xfs = __KERNEL_PDA;
+       info->regs.xfs = __KERNEL_PERCPU;
 }
 
 extern asmlinkage int arch_unwind_init_running(struct unwind_frame_info *,

Another issue when !SMP from xen-smp.patch.  leave_mm was SMP only before,
it basically still is except for one call from xen_exit_mmap().  This is
the simplest sol'n.


diff -r a5e50a2e914a include/asm-i386/mmu_context.h
--- a/include/asm-i386/mmu_context.h    Tue Apr 10 16:20:13 2007 -0700
+++ b/include/asm-i386/mmu_context.h    Tue Apr 10 16:45:58 2007 -0700
@@ -41,9 +41,11 @@ static inline void enter_lazy_tlb(struct
  */
 static inline void leave_mm (unsigned long cpu)
 {
+#ifdef CONFIG_SMP
        if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_OK)
                BUG();
        cpu_clear(cpu, per_cpu(cpu_tlbstate, cpu).active_mm->cpu_vm_mask);
+#endif
        load_cr3(swapper_pg_dir);
 }
 
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to