Restored used include of <sys/malloc.h>. malloc() is not used
here, but kmem_malloc() is used and it takes the same "flags" as malloc(). Use the mbuf allocation "flags" M_WAIT and M_DONTWAIT consistently. There is really only one boolean flag, M_DONTWAIT, but the "flags" were always treated as enum-like values, except in some places here where the values are tacitly converted to boolean flags. Treat them as enum-like values everywhere, except where we tacitly assume that there are only two values in order to convert them to the corresponding two kmem_malloc() "flags".
This commit is contained in:
parent
0031f3a90b
commit
64cfdf460e
|
@ -31,11 +31,12 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)uipc_mbuf.c 8.2 (Berkeley) 1/4/94
|
||||
* $Id: uipc_mbuf.c,v 1.31 1997/10/12 20:24:10 phk Exp $
|
||||
* $Id: uipc_mbuf.c,v 1.32 1997/10/28 15:58:22 bde Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/mbuf.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/sysctl.h>
|
||||
|
@ -97,7 +98,7 @@ mbinit(dummy)
|
|||
goto bad;
|
||||
#else
|
||||
/* It's OK to call contigmalloc in this context. */
|
||||
if (m_clalloc(16, 0) == 0)
|
||||
if (m_clalloc(16, M_WAIT) == 0)
|
||||
goto bad;
|
||||
#endif
|
||||
splx(s);
|
||||
|
@ -112,9 +113,9 @@ bad:
|
|||
*/
|
||||
/* ARGSUSED */
|
||||
int
|
||||
m_mballoc(nmb, nowait)
|
||||
m_mballoc(nmb, how)
|
||||
register int nmb;
|
||||
int nowait;
|
||||
int how;
|
||||
{
|
||||
register caddr_t p;
|
||||
register int i;
|
||||
|
@ -130,13 +131,13 @@ m_mballoc(nmb, nowait)
|
|||
|
||||
nbytes = round_page(nmb * MSIZE);
|
||||
p = (caddr_t)kmem_malloc(mb_map, nbytes, M_NOWAIT);
|
||||
if (p == 0 && !nowait) {
|
||||
if (p == 0 && how == M_WAIT) {
|
||||
mbstat.m_wait++;
|
||||
p = (caddr_t)kmem_malloc(mb_map, nbytes, M_WAITOK);
|
||||
}
|
||||
|
||||
/*
|
||||
* Either the map is now full, or this is nowait and there
|
||||
* Either the map is now full, or `how' is M_NOWAIT and there
|
||||
* are no pages left.
|
||||
*/
|
||||
if (p == NULL)
|
||||
|
@ -164,7 +165,7 @@ kproc_mclalloc(void)
|
|||
tsleep(&i_want_my_mcl, PVM, "mclalloc", 0);
|
||||
|
||||
for (; i_want_my_mcl; i_want_my_mcl--) {
|
||||
if (m_clalloc(1, 0) == 0)
|
||||
if (m_clalloc(1, M_WAIT) == 0)
|
||||
printf("m_clalloc failed even in process context!\n");
|
||||
}
|
||||
}
|
||||
|
@ -187,9 +188,9 @@ SYSINIT_KT(mclallocproc, SI_SUB_KTHREAD_UPDATE, SI_ORDER_ANY, kproc_start,
|
|||
*/
|
||||
/* ARGSUSED */
|
||||
int
|
||||
m_clalloc(ncl, nowait)
|
||||
m_clalloc(ncl, how)
|
||||
register int ncl;
|
||||
int nowait;
|
||||
int how;
|
||||
{
|
||||
register caddr_t p;
|
||||
register int i;
|
||||
|
@ -206,7 +207,7 @@ m_clalloc(ncl, nowait)
|
|||
}
|
||||
|
||||
#if MCLBYTES > PAGE_SIZE
|
||||
if (nowait) {
|
||||
if (how != M_WAIT) {
|
||||
i_want_my_mcl += ncl;
|
||||
wakeup(&i_want_my_mcl);
|
||||
mbstat.m_wait++;
|
||||
|
@ -218,11 +219,11 @@ m_clalloc(ncl, nowait)
|
|||
#else
|
||||
npg = ncl;
|
||||
p = (caddr_t)kmem_malloc(mb_map, ctob(npg),
|
||||
nowait ? M_NOWAIT : M_WAITOK);
|
||||
how != M_WAIT ? M_NOWAIT : M_WAITOK);
|
||||
ncl = ncl * PAGE_SIZE / MCLBYTES;
|
||||
#endif
|
||||
/*
|
||||
* Either the map is now full, or this is nowait and there
|
||||
* Either the map is now full, or `how' is M_NOWAIT and there
|
||||
* are no pages left.
|
||||
*/
|
||||
if (p == NULL) {
|
||||
|
@ -302,32 +303,32 @@ m_reclaim()
|
|||
* for critical paths.
|
||||
*/
|
||||
struct mbuf *
|
||||
m_get(nowait, type)
|
||||
int nowait, type;
|
||||
m_get(how, type)
|
||||
int how, type;
|
||||
{
|
||||
register struct mbuf *m;
|
||||
|
||||
MGET(m, nowait, type);
|
||||
MGET(m, how, type);
|
||||
return (m);
|
||||
}
|
||||
|
||||
struct mbuf *
|
||||
m_gethdr(nowait, type)
|
||||
int nowait, type;
|
||||
m_gethdr(how, type)
|
||||
int how, type;
|
||||
{
|
||||
register struct mbuf *m;
|
||||
|
||||
MGETHDR(m, nowait, type);
|
||||
MGETHDR(m, how, type);
|
||||
return (m);
|
||||
}
|
||||
|
||||
struct mbuf *
|
||||
m_getclr(nowait, type)
|
||||
int nowait, type;
|
||||
m_getclr(how, type)
|
||||
int how, type;
|
||||
{
|
||||
register struct mbuf *m;
|
||||
|
||||
MGET(m, nowait, type);
|
||||
MGET(m, how, type);
|
||||
if (m == 0)
|
||||
return (0);
|
||||
bzero(mtod(m, caddr_t), MLEN);
|
||||
|
|
Loading…
Reference in New Issue