Module Name:    src
Committed By:   maxv
Date:           Thu Aug  9 17:32:44 UTC 2018

Modified Files:
        src/sys/arch/xen/xen: xennetback_xenbus.c

Log Message:
Use an independent pool, don't steal pages from mcl_cache. This was a bad
hack.

No particular functional change, since the (MCLBYTES != PAGE_SIZE)
condition is already true.


To generate a diff of this commit:
cvs rdiff -u -r1.66 -r1.67 src/sys/arch/xen/xen/xennetback_xenbus.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/xen/xen/xennetback_xenbus.c
diff -u src/sys/arch/xen/xen/xennetback_xenbus.c:1.66 src/sys/arch/xen/xen/xennetback_xenbus.c:1.67
--- src/sys/arch/xen/xen/xennetback_xenbus.c:1.66	Thu Aug  9 17:26:00 2018
+++ src/sys/arch/xen/xen/xennetback_xenbus.c	Thu Aug  9 17:32:44 2018
@@ -1,4 +1,4 @@
-/*      $NetBSD: xennetback_xenbus.c,v 1.66 2018/08/09 17:26:00 maxv Exp $      */
+/*      $NetBSD: xennetback_xenbus.c,v 1.67 2018/08/09 17:32:44 maxv Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xennetback_xenbus.c,v 1.66 2018/08/09 17:26:00 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xennetback_xenbus.c,v 1.67 2018/08/09 17:32:44 maxv Exp $");
 
 #include "opt_xen.h"
 
@@ -173,13 +173,9 @@ static void xennetback_get_new_mcl_pages
 
 /*
  * If we can't transfer the mbuf directly, we have to copy it to a page which
- * will be transferred to the remote domain. We use a pool_cache
- * for this, or the mbuf cluster pool cache if MCLBYTES == PAGE_SIZE
+ * will be transferred to the remote domain. We use a pool_cache for this.
  */
-#if MCLBYTES != PAGE_SIZE
 pool_cache_t xmit_pages_cache;
-#endif
-pool_cache_t xmit_pages_cachep;
 
 /* arrays used in xennetback_ifstart(), too large to allocate on stack */
 /* XXXSMP */
@@ -227,13 +223,8 @@ xvifattach(int n)
 	/* initialise pools */
 	pool_init(&xni_pkt_pool, sizeof(struct xni_pkt), 0, 0, 0,
 	    "xnbpkt", NULL, IPL_VM);
-#if MCLBYTES != PAGE_SIZE
 	xmit_pages_cache = pool_cache_init(PAGE_SIZE, 0, 0, 0, "xnbxm", NULL,
 	    IPL_VM, NULL, NULL, NULL);
-	xmit_pages_cachep = xmit_pages_cache;
-#else
-	xmit_pages_cachep = mcl_cache;
-#endif
 
 	SLIST_INIT(&xnetback_instances);
 	mutex_init(&xnetback_lock, MUTEX_DEFAULT, IPL_NONE);
@@ -1048,8 +1039,7 @@ xennetback_ifsoftstart_transfer(void *ar
 			} else {
 				/* we have to copy the packet */
 				xmit_va = (vaddr_t)pool_cache_get_paddr(
-				    xmit_pages_cachep,
-				    PR_NOWAIT, &xmit_pa);
+				    xmit_pages_cache, PR_NOWAIT, &xmit_pa);
 				if (__predict_false(xmit_va == 0))
 					break; /* out of memory */
 
@@ -1185,7 +1175,7 @@ xennetback_ifsoftstart_transfer(void *ar
 				m_freem(mbufs_sent[j]);
 			}
 			for (j = 0; j < nppitems; j++) {
-				pool_cache_put_paddr(xmit_pages_cachep,
+				pool_cache_put_paddr(xmit_pages_cache,
 				    (void *)pages_pool_free[j].va,
 				    pages_pool_free[j].pa);
 			}

Reply via email to