Re: [patch 06/21] Xen-paravirt: remove ctor for pgd cache
From: Zachary Amsden <hidden>
Date: 2007-02-13 22:39:55
Also in:
lkml, xen-devel
From: Zachary Amsden <hidden>
Date: 2007-02-13 22:39:55
Also in:
lkml, xen-devel
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