lint
[unix-history] / usr / src / sys / kern / uipc_mbuf.c
index c638bcf..f234bbf 100644 (file)
@@ -1,4 +1,4 @@
-/*     uipc_mbuf.c     1.33    82/05/18        */
+/*     uipc_mbuf.c     1.40    82/10/21        */
 
 #include "../h/param.h"
 #include "../h/dir.h"
 
 #include "../h/param.h"
 #include "../h/dir.h"
@@ -8,15 +8,12 @@
 #include "../h/cmap.h"
 #include "../h/map.h"
 #include "../h/mbuf.h"
 #include "../h/cmap.h"
 #include "../h/map.h"
 #include "../h/mbuf.h"
-#include "../net/in_systm.h"           /* XXX */
 #include "../h/vm.h"
 #include "../h/vm.h"
+#include "../h/kernel.h"
 
 mbinit()
 {
 
 
 mbinit()
 {
 
-COUNT(MBINIT);
-       if (m_reserve(32) == 0)
-               goto bad;
        if (m_clalloc(4, MPG_MBUFS) == 0)
                goto bad;
        if (m_clalloc(32, MPG_CLUSTERS) == 0)
        if (m_clalloc(4, MPG_MBUFS) == 0)
                goto bad;
        if (m_clalloc(32, MPG_CLUSTERS) == 0)
@@ -36,15 +33,14 @@ m_clalloc(ncl, how)
        register int i;
        int s;
 
        register int i;
        int s;
 
-COUNT(M_CLALLOC);
        npg = ncl * CLSIZE;
        s = splimp();           /* careful: rmalloc isn't reentrant */
        npg = ncl * CLSIZE;
        s = splimp();           /* careful: rmalloc isn't reentrant */
-       mbx = rmalloc(mbmap, npg);
+       mbx = rmalloc(mbmap, (long)npg);
        splx(s);
        if (mbx == 0)
                return (0);
        m = cltom(mbx / CLSIZE);
        splx(s);
        if (mbx == 0)
                return (0);
        m = cltom(mbx / CLSIZE);
-       if (memall(&Mbmap[mbx], ncl * CLSIZE, proc, CSYS) == 0)
+       if (memall(&Mbmap[mbx], npg, proc, CSYS) == 0)
                return (0);
        vmaccess(&Mbmap[mbx], (caddr_t)m, npg);
        switch (how) {
                return (0);
        vmaccess(&Mbmap[mbx], (caddr_t)m, npg);
        switch (how) {
@@ -80,7 +76,6 @@ m_pgfree(addr, n)
        int n;
 {
 
        int n;
 {
 
-COUNT(M_PGFREE);
 #ifdef lint
        addr = addr; n = n;
 #endif
 #ifdef lint
        addr = addr; n = n;
 #endif
@@ -89,7 +84,6 @@ COUNT(M_PGFREE);
 m_expand()
 {
 
 m_expand()
 {
 
-COUNT(M_EXPAND);
        if (m_clalloc(1, MPG_MBUFS) == 0)
                goto steal;
        return (1);
        if (m_clalloc(1, MPG_MBUFS) == 0)
                goto steal;
        return (1);
@@ -100,27 +94,6 @@ steal:
 
 /* NEED SOME WAY TO RELEASE SPACE */
 
 
 /* NEED SOME WAY TO RELEASE SPACE */
 
-/*
- * Space reservation routines
- */
-m_reserve(mbufs)
-       int mbufs;
-{
-
-       if (mbstat.m_mbcommitted + mbufs >
-             (nmbclusters * NMBPCL) * MBUFOVERALLOCFRACTION)
-               return (0);
-       mbstat.m_mbcommitted += mbufs;
-       return (1);
-}
-
-m_release(mbufs)
-       int mbufs;
-{
-
-       mbstat.m_mbcommitted -= mbufs;
-}
-
 /*
  * Space allocation routines.
  * These are also available as macros
 /*
  * Space allocation routines.
  * These are also available as macros
@@ -132,7 +105,6 @@ m_get(canwait)
 {
        register struct mbuf *m;
 
 {
        register struct mbuf *m;
 
-COUNT(M_GET);
        MGET(m, canwait);
        return (m);
 }
        MGET(m, canwait);
        return (m);
 }
@@ -143,11 +115,9 @@ m_getclr(canwait)
 {
        register struct mbuf *m;
 
 {
        register struct mbuf *m;
 
-COUNT(M_GETCLR);
        m = m_get(canwait);
        if (m == 0)
                return (0);
        m = m_get(canwait);
        if (m == 0)
                return (0);
-       m->m_off = MMINOFF;
        bzero(mtod(m, caddr_t), MLEN);
        return (m);
 }
        bzero(mtod(m, caddr_t), MLEN);
        return (m);
 }
@@ -158,7 +128,6 @@ m_free(m)
 {
        register struct mbuf *n;
 
 {
        register struct mbuf *n;
 
-COUNT(M_FREE);
        MFREE(m, n);
        return (n);
 }
        MFREE(m, n);
        return (n);
 }
@@ -170,7 +139,6 @@ m_more(type)
 {
        register struct mbuf *m;
 
 {
        register struct mbuf *m;
 
-COUNT(M_MORE);
        if (!m_expand()) {
                mbstat.m_drops++;
                return (NULL);
        if (!m_expand()) {
                mbstat.m_drops++;
                return (NULL);
@@ -187,7 +155,6 @@ m_freem(m)
        register struct mbuf *n;
        register int s;
 
        register struct mbuf *n;
        register int s;
 
-COUNT(M_FREEM);
        if (m == NULL)
                return;
        s = splimp();
        if (m == NULL)
                return;
        s = splimp();
@@ -208,7 +175,6 @@ m_copy(m, off, len)
 {
        register struct mbuf *n, **np;
        struct mbuf *top, *p;
 {
        register struct mbuf *n, **np;
        struct mbuf *top, *p;
-COUNT(M_COPY);
 
        if (len == 0)
                return (0);
 
        if (len == 0)
                return (0);
@@ -239,11 +205,9 @@ COUNT(M_COPY);
                        p = mtod(m, struct mbuf *);
                        n->m_off = ((int)p - (int)n) + off;
                        mclrefcnt[mtocl(p)]++;
                        p = mtod(m, struct mbuf *);
                        n->m_off = ((int)p - (int)n) + off;
                        mclrefcnt[mtocl(p)]++;
-               } else {
-                       n->m_off = MMINOFF;
+               } else
                        bcopy(mtod(m, caddr_t)+off, mtod(n, caddr_t),
                            (unsigned)n->m_len);
                        bcopy(mtod(m, caddr_t)+off, mtod(n, caddr_t),
                            (unsigned)n->m_len);
-               }
                if (len != M_COPYALL)
                        len -= n->m_len;
                off = 0;
                if (len != M_COPYALL)
                        len -= n->m_len;
                off = 0;
@@ -282,7 +246,6 @@ m_adj(mp, len)
 {
        register struct mbuf *m, *n;
 
 {
        register struct mbuf *m, *n;
 
-COUNT(M_ADJ);
        if ((m = mp) == NULL)
                return;
        if (len >= 0) {
        if ((m = mp) == NULL)
                return;
        if (len >= 0) {
@@ -328,10 +291,9 @@ m_pullup(m0, len)
        n = m0;
        if (len > MLEN)
                goto bad;
        n = m0;
        if (len > MLEN)
                goto bad;
-       MGET(m, 0);
+       MGET(m, M_DONTWAIT);
        if (m == 0)
                goto bad;
        if (m == 0)
                goto bad;
-       m->m_off = MMINOFF;
        m->m_len = 0;
        do {
                count = MIN(MLEN - m->m_len, len);
        m->m_len = 0;
        do {
                count = MIN(MLEN - m->m_len, len);