|
FreeBSD kernel kern code
|
#include <sys/cdefs.h>#include "opt_param.h"#include <sys/param.h>#include <sys/malloc.h>#include <sys/systm.h>#include <sys/mbuf.h>#include <sys/domain.h>#include <sys/eventhandler.h>#include <sys/kernel.h>#include <sys/protosw.h>#include <sys/smp.h>#include <sys/sysctl.h>#include <security/mac/mac_framework.h>#include <vm/vm.h>#include <vm/vm_extern.h>#include <vm/vm_kern.h>#include <vm/vm_page.h>#include <vm/vm_map.h>#include <vm/uma.h>#include <vm/uma_int.h>#include <vm/uma_dbg.h>
Go to the source code of this file.
Functions | |
| __FBSDID ("$BSDSUniX$") | |
| SYSCTL_QUAD (_kern_ipc, OID_AUTO, maxmbufmem, CTLFLAG_RDTUN,&maxmbufmem, 0,"Maximum real memory allocateable to various mbuf types") | |
| static void | tunable_mbinit (void *dummy) |
| SYSINIT (tunable_mbinit, SI_SUB_KMEM, SI_ORDER_MIDDLE, tunable_mbinit, NULL) | |
| static int | sysctl_nmbclusters (SYSCTL_HANDLER_ARGS) |
| SYSCTL_PROC (_kern_ipc, OID_AUTO, nmbclusters, CTLTYPE_INT|CTLFLAG_RW,&nmbclusters, 0, sysctl_nmbclusters,"IU","Maximum number of mbuf clusters allowed") | |
| static int | sysctl_nmbjumbop (SYSCTL_HANDLER_ARGS) |
| SYSCTL_PROC (_kern_ipc, OID_AUTO, nmbjumbop, CTLTYPE_INT|CTLFLAG_RW,&nmbjumbop, 0, sysctl_nmbjumbop,"IU","Maximum number of mbuf page size jumbo clusters allowed") | |
| static int | sysctl_nmbjumbo9 (SYSCTL_HANDLER_ARGS) |
| SYSCTL_PROC (_kern_ipc, OID_AUTO, nmbjumbo9, CTLTYPE_INT|CTLFLAG_RW,&nmbjumbo9, 0, sysctl_nmbjumbo9,"IU","Maximum number of mbuf 9k jumbo clusters allowed") | |
| static int | sysctl_nmbjumbo16 (SYSCTL_HANDLER_ARGS) |
| SYSCTL_PROC (_kern_ipc, OID_AUTO, nmbjumbo16, CTLTYPE_INT|CTLFLAG_RW,&nmbjumbo16, 0, sysctl_nmbjumbo16,"IU","Maximum number of mbuf 16k jumbo clusters allowed") | |
| static int | sysctl_nmbufs (SYSCTL_HANDLER_ARGS) |
| SYSCTL_PROC (_kern_ipc, OID_AUTO, nmbufs, CTLTYPE_INT|CTLFLAG_RW,&nmbufs, 0, sysctl_nmbufs,"IU","Maximum number of mbufs allowed") | |
| SYSCTL_STRUCT (_kern_ipc, OID_AUTO, mbstat, CTLFLAG_RD,&mbstat, mbstat,"Mbuf general information and statistics") | |
| static int | mb_ctor_mbuf (void *, int, void *, int) |
| static int | mb_ctor_clust (void *, int, void *, int) |
| static int | mb_ctor_pack (void *, int, void *, int) |
| static void | mb_dtor_mbuf (void *, int, void *) |
| static void | mb_dtor_clust (void *, int, void *) |
| static void | mb_dtor_pack (void *, int, void *) |
| static int | mb_zinit_pack (void *, int, int) |
| static void | mb_zfini_pack (void *, int) |
| static void | mb_reclaim (void *) |
| static void * | mbuf_jumbo_alloc (uma_zone_t, int, uint8_t *, int) |
| CTASSERT ((((MSIZE-1)^MSIZE)+1) >> 1==MSIZE) | |
| static void | mbuf_init (void *dummy) |
| SYSINIT (mbuf, SI_SUB_MBUF, SI_ORDER_FIRST, mbuf_init, NULL) | |
| int | m_pkthdr_init (struct mbuf *m, int how) |
Variables | |
| int | nmbufs |
| int | nmbclusters |
| int | nmbjumbop |
| int | nmbjumbo9 |
| int | nmbjumbo16 |
| struct mbstat | mbstat |
| static quad_t | maxmbufmem |
| uma_zone_t | zone_mbuf |
| uma_zone_t | zone_clust |
| uma_zone_t | zone_pack |
| uma_zone_t | zone_jumbop |
| uma_zone_t | zone_jumbo9 |
| uma_zone_t | zone_jumbo16 |
| uma_zone_t | zone_ext_refcnt |
| __FBSDID | ( | "$BSDSUniX$" | ) |
| CTASSERT | ( | (((MSIZE-1)^MSIZE)+1) >> | 1 = =MSIZE | ) |
| int m_pkthdr_init | ( | struct mbuf * | m, |
| int | how | ||
| ) |
Definition at line 707 of file kern_mbuf.c.
|
static |
Definition at line 546 of file kern_mbuf.c.
References panic(), type, zone_clust, zone_jumbo16, zone_jumbo9, and zone_jumbop.
Referenced by mbuf_init().


|
static |
Definition at line 428 of file kern_mbuf.c.
References type.
Referenced by mbuf_init().

|
static |
Definition at line 659 of file kern_mbuf.c.
References type.
Referenced by mbuf_init().

|
static |
Definition at line 602 of file kern_mbuf.c.
Referenced by mbuf_init().

|
static |
Definition at line 484 of file kern_mbuf.c.
References m_tag_delete_chain().
Referenced by mbuf_init().


|
static |
Definition at line 505 of file kern_mbuf.c.
References m_tag_delete_chain(), zone_clust, and zone_pack.
Referenced by mbuf_init().


|
static |
Definition at line 740 of file kern_mbuf.c.
Referenced by mbuf_init().

|
static |
Definition at line 641 of file kern_mbuf.c.
References zone_clust.
Referenced by mbuf_init().

|
static |
Definition at line 621 of file kern_mbuf.c.
References zone_clust.
Referenced by mbuf_init().

|
static |
Definition at line 301 of file kern_mbuf.c.
References mb_ctor_clust(), mb_ctor_mbuf(), mb_ctor_pack(), mb_dtor_clust(), mb_dtor_mbuf(), mb_dtor_pack(), mb_reclaim(), mb_zfini_pack(), mb_zinit_pack(), mbstat, mbuf_jumbo_alloc(), nmbclusters, nmbjumbo16, nmbjumbo9, nmbjumbop, nmbufs, zone_clust, zone_ext_refcnt, zone_jumbo16, zone_jumbo9, zone_jumbop, zone_mbuf, and zone_pack.

|
static |
Definition at line 411 of file kern_mbuf.c.
Referenced by mbuf_init().

|
static |
Definition at line 160 of file kern_mbuf.c.
References nmbclusters, nmbjumbo16, nmbjumbo9, nmbjumbop, nmbufs, sysctl_handle_int(), and zone_clust.

|
static |
Definition at line 224 of file kern_mbuf.c.
References nmbclusters, nmbjumbo16, nmbjumbo9, nmbjumbop, nmbufs, sysctl_handle_int(), and zone_jumbo16.

|
static |
Definition at line 203 of file kern_mbuf.c.
References nmbclusters, nmbjumbo16, nmbjumbo9, nmbjumbop, nmbufs, sysctl_handle_int(), and zone_jumbo9.

|
static |
Definition at line 182 of file kern_mbuf.c.
References nmbclusters, nmbjumbo16, nmbjumbo9, nmbjumbop, nmbufs, sysctl_handle_int(), and zone_jumbop.

|
static |
Definition at line 245 of file kern_mbuf.c.
References nmbufs, sysctl_handle_int(), and zone_mbuf.

| SYSCTL_PROC | ( | _kern_ipc | , |
| OID_AUTO | , | ||
| nmbclusters | , | ||
| CTLTYPE_INT| | CTLFLAG_RW, | ||
| & | nmbclusters, | ||
| 0 | , | ||
| sysctl_nmbclusters | , | ||
| "IU" | , | ||
| "Maximum number of mbuf clusters allowed" | |||
| ) |
| SYSCTL_PROC | ( | _kern_ipc | , |
| OID_AUTO | , | ||
| nmbjumbop | , | ||
| CTLTYPE_INT| | CTLFLAG_RW, | ||
| & | nmbjumbop, | ||
| 0 | , | ||
| sysctl_nmbjumbop | , | ||
| "IU" | , | ||
| "Maximum number of mbuf page size jumbo clusters allowed" | |||
| ) |
| SYSCTL_PROC | ( | _kern_ipc | , |
| OID_AUTO | , | ||
| nmbjumbo9 | , | ||
| CTLTYPE_INT| | CTLFLAG_RW, | ||
| & | nmbjumbo9, | ||
| 0 | , | ||
| sysctl_nmbjumbo9 | , | ||
| "IU" | , | ||
| "Maximum number of mbuf 9k jumbo clusters allowed" | |||
| ) |
| SYSCTL_PROC | ( | _kern_ipc | , |
| OID_AUTO | , | ||
| nmbjumbo16 | , | ||
| CTLTYPE_INT| | CTLFLAG_RW, | ||
| & | nmbjumbo16, | ||
| 0 | , | ||
| sysctl_nmbjumbo16 | , | ||
| "IU" | , | ||
| "Maximum number of mbuf 16k jumbo clusters allowed" | |||
| ) |
| SYSCTL_PROC | ( | _kern_ipc | , |
| OID_AUTO | , | ||
| nmbufs | , | ||
| CTLTYPE_INT| | CTLFLAG_RW, | ||
| & | nmbufs, | ||
| 0 | , | ||
| sysctl_nmbufs | , | ||
| "IU" | , | ||
| "Maximum number of mbufs allowed" | |||
| ) |
| SYSCTL_QUAD | ( | _kern_ipc | , |
| OID_AUTO | , | ||
| maxmbufmem | , | ||
| CTLFLAG_RDTUN | , | ||
| & | maxmbufmem, | ||
| 0 | , | ||
| "Maximum real memory allocateable to various mbuf types" | |||
| ) |
| SYSCTL_STRUCT | ( | _kern_ipc | , |
| OID_AUTO | , | ||
| mbstat | , | ||
| CTLFLAG_RD | , | ||
| & | mbstat, | ||
| mbstat | , | ||
| "Mbuf general information and statistics" | |||
| ) |
| SYSINIT | ( | tunable_mbinit | , |
| SI_SUB_KMEM | , | ||
| SI_ORDER_MIDDLE | , | ||
| tunable_mbinit | , | ||
| NULL | |||
| ) |
| SYSINIT | ( | mbuf | , |
| SI_SUB_MBUF | , | ||
| SI_ORDER_FIRST | , | ||
| mbuf_init | , | ||
| NULL | |||
| ) |
|
static |
Definition at line 116 of file kern_mbuf.c.
References maxmbufmem, nmbclusters, nmbjumbo16, nmbjumbo9, nmbjumbop, and nmbufs.
|
static |
Definition at line 107 of file kern_mbuf.c.
Referenced by tunable_mbinit().
| struct mbstat mbstat |
Definition at line 105 of file kern_mbuf.c.
Referenced by kern_sendfile(), m_copym(), m_copypacket(), m_dup(), m_pullup(), and mbuf_init().
| int nmbclusters |
Definition at line 101 of file kern_mbuf.c.
Referenced by kmeminit(), mbuf_init(), sysctl_nmbclusters(), sysctl_nmbjumbo16(), sysctl_nmbjumbo9(), sysctl_nmbjumbop(), and tunable_mbinit().
| int nmbjumbo16 |
Definition at line 104 of file kern_mbuf.c.
Referenced by mbuf_init(), sysctl_nmbclusters(), sysctl_nmbjumbo16(), sysctl_nmbjumbo9(), sysctl_nmbjumbop(), and tunable_mbinit().
| int nmbjumbo9 |
Definition at line 103 of file kern_mbuf.c.
Referenced by mbuf_init(), sysctl_nmbclusters(), sysctl_nmbjumbo16(), sysctl_nmbjumbo9(), sysctl_nmbjumbop(), and tunable_mbinit().
| int nmbjumbop |
Definition at line 102 of file kern_mbuf.c.
Referenced by mbuf_init(), sysctl_nmbclusters(), sysctl_nmbjumbo16(), sysctl_nmbjumbo9(), sysctl_nmbjumbop(), and tunable_mbinit().
| int nmbufs |
Definition at line 100 of file kern_mbuf.c.
Referenced by mbuf_init(), sysctl_nmbclusters(), sysctl_nmbjumbo16(), sysctl_nmbjumbo9(), sysctl_nmbjumbop(), sysctl_nmbufs(), and tunable_mbinit().
| uma_zone_t zone_clust |
Definition at line 272 of file kern_mbuf.c.
Referenced by mb_ctor_clust(), mb_dtor_pack(), mb_free_ext(), mb_zfini_pack(), mb_zinit_pack(), mbuf_init(), and sysctl_nmbclusters().
| uma_zone_t zone_ext_refcnt |
Definition at line 277 of file kern_mbuf.c.
Referenced by m_extadd(), mb_free_ext(), and mbuf_init().
| uma_zone_t zone_jumbo16 |
Definition at line 276 of file kern_mbuf.c.
Referenced by mb_ctor_clust(), mb_free_ext(), mbuf_init(), and sysctl_nmbjumbo16().
| uma_zone_t zone_jumbo9 |
Definition at line 275 of file kern_mbuf.c.
Referenced by mb_ctor_clust(), mb_free_ext(), mbuf_init(), and sysctl_nmbjumbo9().
| uma_zone_t zone_jumbop |
Definition at line 274 of file kern_mbuf.c.
Referenced by mb_ctor_clust(), mb_free_ext(), mbuf_init(), and sysctl_nmbjumbop().
| uma_zone_t zone_mbuf |
Definition at line 271 of file kern_mbuf.c.
Referenced by mb_free_ext(), mbuf_init(), and sysctl_nmbufs().
| uma_zone_t zone_pack |
Definition at line 273 of file kern_mbuf.c.
Referenced by mb_dtor_pack(), mb_free_ext(), and mbuf_init().