Thread (51 messages) 51 messages, 8 authors, 2007-02-14

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

Jeremy Fitzhardinge wrote:
quoted hunk ↗ jump to hunk
 
@@ -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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help