Module Name: src
Committed By: maxv
Date: Thu Apr 26 19:13:34 UTC 2018
Modified Files:
src/sys/kern: uipc_mbuf.c
src/sys/sys: mbuf.h
Log Message:
Change MCLGET, so that it calls m_clget instead of doing the work in a
macro. Macros are inefficient when they contain too many instructions and
are used too often, because of cache coherency (and also register use).
This change saves 32KB of kernel .text.
To generate a diff of this commit:
cvs rdiff -u -r1.196 -r1.197 src/sys/kern/uipc_mbuf.c
cvs rdiff -u -r1.189 -r1.190 src/sys/sys/mbuf.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/uipc_mbuf.c
diff -u src/sys/kern/uipc_mbuf.c:1.196 src/sys/kern/uipc_mbuf.c:1.197
--- src/sys/kern/uipc_mbuf.c:1.196 Thu Apr 26 08:31:36 2018
+++ src/sys/kern/uipc_mbuf.c Thu Apr 26 19:13:34 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_mbuf.c,v 1.196 2018/04/26 08:31:36 maxv Exp $ */
+/* $NetBSD: uipc_mbuf.c,v 1.197 2018/04/26 19:13:34 maxv Exp $ */
/*
* Copyright (c) 1999, 2001 The NetBSD Foundation, Inc.
@@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_mbuf.c,v 1.196 2018/04/26 08:31:36 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_mbuf.c,v 1.197 2018/04/26 19:13:34 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_mbuftrace.h"
@@ -653,7 +653,7 @@ void
m_clget(struct mbuf *m, int nowait)
{
- MCLGET(m, nowait);
+ _MCLGET(m, mcl_cache, MCLBYTES, nowait);
}
#ifdef MBUFTRACE
Index: src/sys/sys/mbuf.h
diff -u src/sys/sys/mbuf.h:1.189 src/sys/sys/mbuf.h:1.190
--- src/sys/sys/mbuf.h:1.189 Tue Apr 24 08:10:32 2018
+++ src/sys/sys/mbuf.h Thu Apr 26 19:13:34 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: mbuf.h,v 1.189 2018/04/24 08:10:32 maxv Exp $ */
+/* $NetBSD: mbuf.h,v 1.190 2018/04/26 19:13:34 maxv Exp $ */
/*
* Copyright (c) 1996, 1997, 1999, 2001, 2007 The NetBSD Foundation, Inc.
@@ -531,7 +531,7 @@ do { \
/*
* The standard mbuf cluster pool.
*/
-#define MCLGET(m, how) _MCLGET((m), mcl_cache, MCLBYTES, (how))
+#define MCLGET(m, how) m_clget((m), (how))
#define MEXTMALLOC(m, size, how) \
do { \