Re: [patch 06/21] Xen-paravirt: remove ctor for pgd cache

From: Zachary Amsden
Date: Tue Feb 13 2007 - 17:40:36 EST


Jeremy Fitzhardinge wrote:
@@ -261,10 +261,12 @@ void pgd_ctor(void *pgd, struct kmem_cac
spin_unlock_irqrestore(&pgd_lock, flags);
}
-/* never called when PTRS_PER_PMD > 1 */
-void pgd_dtor(void *pgd, struct kmem_cache *cache, unsigned long unused)
+static void pgd_dtor(pgd_t *pgd)
{
unsigned long flags; /* can be called from interrupt context */
+
+ if (PTRS_PER_PMD == 1)
+ return;
paravirt_release_pd(__pa(pgd) >> PAGE_SHIFT);
spin_lock_irqsave(&pgd_lock, flags);


Acked, with exceptions. This bit breaks VMI. The paravirt_release_pd must happen unconditionally. But I would rather fix it after patches get applied just to make sure the entire allocation / deallocation order constraints are intact.

Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/