Remove VLAN mtag UMA zones and initialize ether_vtag and tso_segsz packet
header fields to zero on mbuf allocation. Sponsored by: TCP/IP Optimization Fundraise 2005
This commit is contained in:
parent
7ff0b850a6
commit
a855e2b4c0
@ -150,7 +150,6 @@ uma_zone_t zone_jumbop;
|
||||
uma_zone_t zone_jumbo9;
|
||||
uma_zone_t zone_jumbo16;
|
||||
uma_zone_t zone_ext_refcnt;
|
||||
uma_zone_t zone_mtag_vlan;
|
||||
|
||||
/*
|
||||
* Local prototypes.
|
||||
@ -163,7 +162,6 @@ 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 int mt_zinit_vlan(void *, int, int);
|
||||
|
||||
static void mb_reclaim(void *);
|
||||
static void mbuf_init(void *);
|
||||
@ -244,12 +242,6 @@ mbuf_init(void *dummy)
|
||||
NULL, NULL,
|
||||
UMA_ALIGN_PTR, UMA_ZONE_ZINIT);
|
||||
|
||||
zone_mtag_vlan = uma_zcreate("mtag_vlan",
|
||||
sizeof(struct m_tag) + sizeof(u_int),
|
||||
NULL, NULL,
|
||||
mt_zinit_vlan, NULL,
|
||||
UMA_ALIGN_INT, 0);
|
||||
|
||||
/* uma_prealloc() goes here... */
|
||||
|
||||
/*
|
||||
@ -325,6 +317,8 @@ mb_ctor_mbuf(void *mem, int size, void *arg, int how)
|
||||
m->m_pkthdr.header = NULL;
|
||||
m->m_pkthdr.csum_flags = 0;
|
||||
m->m_pkthdr.csum_data = 0;
|
||||
m->m_pkthdr.tso_segsz = 0;
|
||||
m->m_pkthdr.ether_vtag = 0;
|
||||
SLIST_INIT(&m->m_pkthdr.tags);
|
||||
#ifdef MAC
|
||||
/* If the label init fails, fail the alloc */
|
||||
@ -523,6 +517,8 @@ mb_ctor_pack(void *mem, int size, void *arg, int how)
|
||||
m->m_pkthdr.header = NULL;
|
||||
m->m_pkthdr.csum_flags = 0;
|
||||
m->m_pkthdr.csum_data = 0;
|
||||
m->m_pkthdr.tso_segsz = 0;
|
||||
m->m_pkthdr.ether_vtag = 0;
|
||||
SLIST_INIT(&m->m_pkthdr.tags);
|
||||
#ifdef MAC
|
||||
/* If the label init fails, fail the alloc */
|
||||
@ -536,23 +532,6 @@ mb_ctor_pack(void *mem, int size, void *arg, int how)
|
||||
return (0);
|
||||
}
|
||||
|
||||
static void
|
||||
mt_vlan_free(struct m_tag *mtag)
|
||||
{
|
||||
uma_zfree(zone_mtag_vlan, mtag);
|
||||
}
|
||||
|
||||
static int
|
||||
mt_zinit_vlan(void *mem, int size, int how)
|
||||
{
|
||||
struct m_tag *mtag = (struct m_tag *)mem;
|
||||
|
||||
m_tag_setup(mtag, MTAG_VLAN, MTAG_VLAN_TAG, sizeof(u_int));
|
||||
mtag->m_tag_free = mt_vlan_free;
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
* This is the protocol drain routine.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user