diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-05-22 12:38:32 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-06-07 07:49:12 +0200 |
commit | eddb13416b7f5e1ea35e499c1c2c05e988a50e92 (patch) | |
tree | cf0b6baba70d486a1f3aa855a473147969099171 /cpukit/libnetworking | |
parent | cf54965493787d4fc2803fd1faa8a4f811da9a67 (diff) |
network: Do not use MSIZE
Do not use the MSIZE for the legacy network stack. Instead use
_SYS_MBUF_LEGACY_MSIZE.
Update #2833.
Diffstat (limited to 'cpukit/libnetworking')
-rw-r--r-- | cpukit/libnetworking/kern/uipc_socket2.c | 4 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_glue.c | 10 | ||||
-rw-r--r-- | cpukit/libnetworking/sys/mbuf.h | 7 | ||||
-rw-r--r-- | cpukit/libnetworking/sys/socketvar.h | 4 |
4 files changed, 13 insertions, 12 deletions
diff --git a/cpukit/libnetworking/kern/uipc_socket2.c b/cpukit/libnetworking/kern/uipc_socket2.c index c2d18b128f..e6ea6725dd 100644 --- a/cpukit/libnetworking/kern/uipc_socket2.c +++ b/cpukit/libnetworking/kern/uipc_socket2.c @@ -343,7 +343,7 @@ int sbreserve(struct sockbuf *sb, u_long cc) { - if (cc > sb_max * MCLBYTES / (MSIZE + MCLBYTES)) + if (cc > sb_max * MCLBYTES / (_SYS_MBUF_LEGACY_MSIZE + MCLBYTES)) return (0); sb->sb_hiwat = cc; sb->sb_mbmax = min(cc * sb_efficiency, sb_max); @@ -424,7 +424,7 @@ sbcheck(struct sockbuf *sb) for (m = sb->sb_mb; m; m = m->m_next) { len += m->m_len; - mbcnt += MSIZE; + mbcnt += _SYS_MBUF_LEGACY_MSIZE; if (m->m_flags & M_EXT) /*XXX*/ /* pretty sure this is bogus */ mbcnt += m->m_ext.ext_size; if (m->m_nextpkt) diff --git a/cpukit/libnetworking/rtems/rtems_glue.c b/cpukit/libnetworking/rtems/rtems_glue.c index 46f8765ca7..ac75fb0b5d 100644 --- a/cpukit/libnetworking/rtems/rtems_glue.c +++ b/cpukit/libnetworking/rtems/rtems_glue.c @@ -39,7 +39,7 @@ /* * Memory allocation */ -static uint32_t nmbuf = (64L * 1024L) / MSIZE; +static uint32_t nmbuf = (64L * 1024L) / _SYS_MBUF_LEGACY_MSIZE; uint32_t nmbclusters = (128L * 1024L) / MCLBYTES; /* @@ -221,8 +221,8 @@ bsd_init (void) * Set up mbuf data structures */ - p = rtems_bsdnet_malloc_mbuf(nmbuf * MSIZE + MSIZE - 1,MBUF_MALLOC_MBUF); - p = (char *)(((uintptr_t)p + MSIZE - 1) & ~(MSIZE - 1)); + p = rtems_bsdnet_malloc_mbuf(nmbuf * _SYS_MBUF_LEGACY_MSIZE + _SYS_MBUF_LEGACY_MSIZE - 1,MBUF_MALLOC_MBUF); + p = (char *)(((uintptr_t)p + _SYS_MBUF_LEGACY_MSIZE - 1) & ~(_SYS_MBUF_LEGACY_MSIZE - 1)); if (p == NULL) { printf ("Can't get network memory.\n"); return -1; @@ -230,7 +230,7 @@ bsd_init (void) for (i = 0; i < nmbuf; i++) { ((struct mbuf *)p)->m_next = mmbfree; mmbfree = (struct mbuf *)p; - p += MSIZE; + p += _SYS_MBUF_LEGACY_MSIZE; } mbstat.m_mbufs = nmbuf; mbstat.m_mtypes[MT_FREE] = nmbuf; @@ -296,7 +296,7 @@ rtems_bsdnet_initialize (void) * Set the memory allocation limits */ if (rtems_bsdnet_config.mbuf_bytecount) - nmbuf = rtems_bsdnet_config.mbuf_bytecount / MSIZE; + nmbuf = rtems_bsdnet_config.mbuf_bytecount / _SYS_MBUF_LEGACY_MSIZE; if (rtems_bsdnet_config.mbuf_cluster_bytecount) nmbclusters = rtems_bsdnet_config.mbuf_cluster_bytecount / MCLBYTES; diff --git a/cpukit/libnetworking/sys/mbuf.h b/cpukit/libnetworking/sys/mbuf.h index 48e9e40c2e..c54b760b3e 100644 --- a/cpukit/libnetworking/sys/mbuf.h +++ b/cpukit/libnetworking/sys/mbuf.h @@ -39,14 +39,15 @@ #endif /* - * Mbufs are of a single size, MSIZE (machine/machparam.h), which + * Mbufs are of a single size, _SYS_MBUF_LEGACY_MSIZE (machine/machparam.h), which * includes overhead. An mbuf may add a single "mbuf cluster" of size * MCLBYTES (also in machine/machparam.h), which has no additional overhead * and is used instead of the internal data area; this is done when * at least MINCLSIZE of data must be stored. */ -#define MLEN (MSIZE - sizeof(struct m_hdr)) /* normal data len */ +#define _SYS_MBUF_LEGACY_MSIZE 128 +#define MLEN (_SYS_MBUF_LEGACY_MSIZE - sizeof(struct m_hdr)) /* normal data len */ #define MHLEN (MLEN - sizeof(struct pkthdr)) /* data len w/pkthdr */ #define MINCLSIZE (MHLEN + MLEN) /* smallest amount to put in cluster */ #define M_MAXCOMPRESS (MHLEN / 2) /* max amount to copy for compression */ @@ -59,7 +60,7 @@ * cltom(x) -- Convert cluster # to ptr to beginning of cluster */ #define mtod(m, t) ((t)((m)->m_data)) -#define dtom(x) ((struct mbuf *)((intptr_t)(x) & ~(MSIZE-1))) +#define dtom(x) ((struct mbuf *)((intptr_t)(x) & ~(_SYS_MBUF_LEGACY_MSIZE-1))) #define mtocl(x) (((uintptr_t)(x) - (uintptr_t)mbutl) >> MCLSHIFT) #define cltom(x) ((caddr_t)((u_long)mbutl + ((u_long)(x) << MCLSHIFT))) diff --git a/cpukit/libnetworking/sys/socketvar.h b/cpukit/libnetworking/sys/socketvar.h index 13b3674746..bc3709c03b 100644 --- a/cpukit/libnetworking/sys/socketvar.h +++ b/cpukit/libnetworking/sys/socketvar.h @@ -160,7 +160,7 @@ struct socket { /* adjust counters in sb reflecting allocation of m */ #define sballoc(sb, m) { \ (sb)->sb_cc += (m)->m_len; \ - (sb)->sb_mbcnt += MSIZE; \ + (sb)->sb_mbcnt += _SYS_MBUF_LEGACY_MSIZE; \ if ((m)->m_flags & M_EXT) \ (sb)->sb_mbcnt += (m)->m_ext.ext_size; \ } @@ -168,7 +168,7 @@ struct socket { /* adjust counters in sb reflecting freeing of m */ #define sbfree(sb, m) { \ (sb)->sb_cc -= (m)->m_len; \ - (sb)->sb_mbcnt -= MSIZE; \ + (sb)->sb_mbcnt -= _SYS_MBUF_LEGACY_MSIZE; \ if ((m)->m_flags & M_EXT) \ (sb)->sb_mbcnt -= (m)->m_ext.ext_size; \ } |