From 967dd2723f525fca9d740f974dac99f3376d8730 Mon Sep 17 00:00:00 2001 From: Nicolas Thery Date: Fri, 15 Aug 2008 21:37:16 +0000 Subject: [PATCH] Allocate sackblock structs with kmalloc() instead of zalloc(). --- sys/netinet/tcp_sack.c | 20 ++++---------------- sys/netinet/tcp_subr.c | 3 +-- sys/netinet/tcp_var.h | 3 +-- 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/sys/netinet/tcp_sack.c b/sys/netinet/tcp_sack.c index 3a7740c27e..71865d8d34 100644 --- a/sys/netinet/tcp_sack.c +++ b/sys/netinet/tcp_sack.c @@ -30,7 +30,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/netinet/tcp_sack.c,v 1.7 2008/02/03 21:40:42 dillon Exp $ + * $DragonFly: src/sys/netinet/tcp_sack.c,v 1.8 2008/08/15 21:37:16 nth Exp $ */ #include @@ -55,8 +55,6 @@ #include #include -#include - struct sackblock { tcp_seq sblk_start; tcp_seq sblk_end; @@ -69,17 +67,7 @@ static void insert_block(struct scoreboard *scb, struct sackblock *newblock); static void update_lostseq(struct scoreboard *scb, tcp_seq snd_una, u_int maxseg); -static vm_zone_t sackblock_zone; - -/* - * Initialize SACK module. - */ -void -tcp_sack_init(void) -{ - sackblock_zone = zinit("sack blocks", sizeof(struct sackblock), - maxsockets, ZONE_INTERRUPT, 0); -} +static MALLOC_DEFINE(M_SACKBLOCK, "sblk", "sackblock struct"); /* * Per-tcpcb initialization. @@ -153,7 +141,7 @@ sack_block_lookup(struct scoreboard *scb, tcp_seq seq, struct sackblock **sb) static __inline struct sackblock * alloc_sackblock(void) { - return zalloc(sackblock_zone); + return (kmalloc(sizeof(struct sackblock), M_SACKBLOCK, M_NOWAIT)); } /* @@ -162,7 +150,7 @@ alloc_sackblock(void) static __inline void free_sackblock(struct sackblock *s) { - zfree(sackblock_zone, s); + kfree(s, M_SACKBLOCK); } /* diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index cbb8a58426..a178b8babf 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -65,7 +65,7 @@ * * @(#)tcp_subr.c 8.2 (Berkeley) 5/24/95 * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.73.2.31 2003/01/24 05:11:34 sam Exp $ - * $DragonFly: src/sys/netinet/tcp_subr.c,v 1.59 2007/07/06 11:59:03 sephe Exp $ + * $DragonFly: src/sys/netinet/tcp_subr.c,v 1.60 2008/08/15 21:37:16 nth Exp $ */ #include "opt_compat.h" @@ -370,7 +370,6 @@ tcp_init(void) #endif syncache_init(); - tcp_sack_init(); tcp_thread_init(); } diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 41b38e003c..9710adfc9e 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -65,7 +65,7 @@ * * @(#)tcp_var.h 8.4 (Berkeley) 5/24/95 * $FreeBSD: src/sys/netinet/tcp_var.h,v 1.56.2.13 2003/02/03 02:34:07 hsu Exp $ - * $DragonFly: src/sys/netinet/tcp_var.h,v 1.40 2007/12/19 11:00:22 sephe Exp $ + * $DragonFly: src/sys/netinet/tcp_var.h,v 1.41 2008/08/15 21:37:16 nth Exp $ */ #ifndef _NETINET_TCP_VAR_H_ @@ -605,7 +605,6 @@ int tcp_sack_ndsack_blocks(struct raw_sackblock *blocks, void tcp_sack_fill_report(struct tcpcb *tp, u_char *opt, u_int *plen); boolean_t tcp_sack_has_sacked(struct scoreboard *scb, u_int amount); -void tcp_sack_init(void); void tcp_sack_tcpcb_init(struct tcpcb *tp); uint32_t tcp_sack_compute_pipe(struct tcpcb *tp); boolean_t -- 2.11.4.GIT