From 535cfaa01e0234e224e588e753419d8777e22d0b Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Sun, 17 Apr 2005 00:41:50 -0400 Subject: [PATCH 1/9] Mostly hacks for multiplying Frequency-type proxies by constants (plus some small fixes). python/m5/config.py: Hacks to allow multiplication on Frequency/Latency-valued proxies. Provide __rmul__ as well as __mul__ on Proxy objects. test/genini.py: Default value for -EFOO should be True not 1 (since 1 is no longer convertable to Bool). --HG-- extra : convert_revision : f8a221fcd9e095fdd7b7db4be0ed0cdcd20074be --- python/m5/config.py | 14 ++++++++++---- test/genini.py | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/python/m5/config.py b/python/m5/config.py index 74988109b..2db2164fc 100644 --- a/python/m5/config.py +++ b/python/m5/config.py @@ -177,7 +177,7 @@ class Proxy(object): # support multiplying proxies by constants def __mul__(self, other): - if not isinstance(other, int): + if not isinstance(other, (int, float)): raise TypeError, "Proxy multiplier must be integer" if self._multiplier == None: self._multiplier = other @@ -186,13 +186,19 @@ class Proxy(object): self._multiplier *= other return self + __rmul__ = __mul__ + def _mulcheck(self, result): if self._multiplier == None: return result if not isinstance(result, int): - raise TypeError, "Proxy with multiplier resolves to " \ - "non-integer value" - return result * self._multiplier + # this was an error, but for now we'll assume if it's not + # an int it must be a Frequency (yuk) + result = Frequency._convert(result) + # assuming we're dealing with a frequency here, turn it into + # a string and give it a 't' suffix so the Frequency._convert + # doesn't choke on it later. + return ("%d" % int(round((result * self._multiplier)))) + 't' def unproxy(self, base, ptype): obj = base diff --git a/test/genini.py b/test/genini.py index b8eda5d46..d04f049ea 100755 --- a/test/genini.py +++ b/test/genini.py @@ -44,7 +44,7 @@ try: offset = arg.find('=') if offset == -1: name = arg - value = '1' + value = 'True' else: name = arg[:offset] value = arg[offset+1:] From 5a7ee2b4952f8e4fde66a5bb2a50f8afba91b477 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Fri, 22 Apr 2005 13:12:03 -0400 Subject: [PATCH 2/9] Make code more portable and port to cygwin arch/alpha/alpha_tru64_process.cc: getdirent isn't implemented by cygwin. panic if this function is executed. (It shouldn't be too much to emulate it using opendir, readdir, etc.) arch/alpha/pseudo_inst.cc: Use lseek once and read instead pread. base/intmath.hh: we want int, long, and long long variations of FloorLog2 instead of int32_t, int64_t. Otherwise, we leave one out. base/socket.cc: Fix define that seems to be for apple sim/serialize.cc: don't use the intXX_t stuff, instead, use the real types so we're sure that we cover all of them. --HG-- extra : convert_revision : 9fccaff583100b06bbaafd95a162c4e19beed59e --- arch/alpha/alpha_tru64_process.cc | 4 ++++ arch/alpha/pseudo_inst.cc | 7 ++++-- base/intmath.hh | 38 ++++++++++++++++++++++++++----- base/socket.cc | 2 +- sim/serialize.cc | 19 ++++++++-------- 5 files changed, 52 insertions(+), 18 deletions(-) diff --git a/arch/alpha/alpha_tru64_process.cc b/arch/alpha/alpha_tru64_process.cc index 441e7c89f..0910ec552 100644 --- a/arch/alpha/alpha_tru64_process.cc +++ b/arch/alpha/alpha_tru64_process.cc @@ -622,6 +622,9 @@ class Tru64 { getdirentriesFunc(SyscallDesc *desc, int callnum, Process *process, ExecContext *xc) { +#ifdef __CYGWIN__ + panic("getdirent not implemented on cygwin!"); +#else int fd = process->sim_fd(xc->getSyscallArg(0)); Addr tgt_buf = xc->getSyscallArg(1); int tgt_nbytes = xc->getSyscallArg(2); @@ -670,6 +673,7 @@ class Tru64 { basep.copyOut(xc->mem); return tgt_buf_ptr - tgt_buf; +#endif } /// Target sigreturn() handler. diff --git a/arch/alpha/pseudo_inst.cc b/arch/alpha/pseudo_inst.cc index 3c3b37928..a4af891af 100644 --- a/arch/alpha/pseudo_inst.cc +++ b/arch/alpha/pseudo_inst.cc @@ -26,6 +26,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include #include #include #include @@ -180,15 +181,17 @@ namespace AlphaPseudo if (fd < 0) panic("could not open file %s\n", file); + if (::lseek(fd, offset, SEEK_SET) < 0) + panic("could not seek: %s", strerror(errno)); + char *buf = new char[len]; char *p = buf; while (len > 0) { - int bytes = ::pread(fd, p, len, offset); + int bytes = ::read(fd, p, len); if (bytes <= 0) break; p += bytes; - offset += bytes; result += bytes; len -= bytes; } diff --git a/base/intmath.hh b/base/intmath.hh index 5ffe27103..0cf48b41b 100644 --- a/base/intmath.hh +++ b/base/intmath.hh @@ -73,7 +73,7 @@ IsPowerOf2(T n) } inline int -FloorLog2(uint32_t x) +FloorLog2(unsigned x) { assert(x > 0); @@ -89,7 +89,26 @@ FloorLog2(uint32_t x) } inline int -FloorLog2(uint64_t x) +FloorLog2(unsigned long x) +{ + assert(x > 0); + + int y = 0; + +#if defined(__LP64__) + if (x & ULL(0xffffffff00000000)) { y += 32; x >>= 32; } +#endif + if (x & 0xffff0000) { y += 16; x >>= 16; } + if (x & 0x0000ff00) { y += 8; x >>= 8; } + if (x & 0x000000f0) { y += 4; x >>= 4; } + if (x & 0x0000000c) { y += 2; x >>= 2; } + if (x & 0x00000002) { y += 1; } + + return y; +} + +inline int +FloorLog2(unsigned long long x) { assert(x > 0); @@ -106,17 +125,24 @@ FloorLog2(uint64_t x) } inline int -FloorLog2(int32_t x) +FloorLog2(int x) { assert(x > 0); - return FloorLog2((uint32_t)x); + return FloorLog2((unsigned)x); } inline int -FloorLog2(int64_t x) +FloorLog2(long x) { assert(x > 0); - return FloorLog2((uint64_t)x); + return FloorLog2((unsigned long)x); +} + +inline int +FloorLog2(long long x) +{ + assert(x > 0); + return FloorLog2((unsigned long long)x); } #if defined(__APPLE__) diff --git a/base/socket.cc b/base/socket.cc index ee87dc057..c2e9e70e0 100644 --- a/base/socket.cc +++ b/base/socket.cc @@ -93,7 +93,7 @@ ListenSocket::listen(int port, bool reuse) return true; } -#if !defined(__OpenBSD__) && !defined(linux) +#if defined(__APPLE__) typedef int socklen_t; #endif diff --git a/sim/serialize.cc b/sim/serialize.cc index 52008c394..ca0bc2bb0 100644 --- a/sim/serialize.cc +++ b/sim/serialize.cc @@ -172,15 +172,16 @@ template void \ arrayParamIn(Checkpoint *cp, const std::string §ion, \ const std::string &name, type *param, int size); - -INSTANTIATE_PARAM_TEMPLATES(int8_t) -INSTANTIATE_PARAM_TEMPLATES(uint8_t) -INSTANTIATE_PARAM_TEMPLATES(int16_t) -INSTANTIATE_PARAM_TEMPLATES(uint16_t) -INSTANTIATE_PARAM_TEMPLATES(int32_t) -INSTANTIATE_PARAM_TEMPLATES(uint32_t) -INSTANTIATE_PARAM_TEMPLATES(int64_t) -INSTANTIATE_PARAM_TEMPLATES(uint64_t) +INSTANTIATE_PARAM_TEMPLATES(signed char) +INSTANTIATE_PARAM_TEMPLATES(unsigned char) +INSTANTIATE_PARAM_TEMPLATES(signed short) +INSTANTIATE_PARAM_TEMPLATES(unsigned short) +INSTANTIATE_PARAM_TEMPLATES(signed int) +INSTANTIATE_PARAM_TEMPLATES(unsigned int) +INSTANTIATE_PARAM_TEMPLATES(signed long) +INSTANTIATE_PARAM_TEMPLATES(unsigned long) +INSTANTIATE_PARAM_TEMPLATES(signed long long) +INSTANTIATE_PARAM_TEMPLATES(unsigned long long) INSTANTIATE_PARAM_TEMPLATES(bool) INSTANTIATE_PARAM_TEMPLATES(string) From 3154e2a0c75d6e95458d86b30c982efc003c1f68 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Sun, 24 Apr 2005 21:32:32 -0400 Subject: [PATCH 4/9] Add the m5 parameter to the ns83820 device model so that we can pass simulator specific options to the device driver. dev/ns_gige.cc: Add the m5 register and parameter to the ns83820 device model so that we can pass simulator specific options to the device driver. dev/ns_gige.hh: dev/ns_gige_reg.h: Add the m5 register to the ns83820 device model --HG-- extra : convert_revision : 84674887560fa3b607e725b8e5bc8272761fcf09 --- dev/ns_gige.cc | 9 ++++++++- dev/ns_gige.hh | 1 + dev/ns_gige_reg.h | 3 ++- python/m5/objects/Ethernet.mpy | 2 ++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/dev/ns_gige.cc b/dev/ns_gige.cc index 47631642c..7560b1994 100644 --- a/dev/ns_gige.cc +++ b/dev/ns_gige.cc @@ -747,6 +747,10 @@ NSGigE::read(MemReqPtr &req, uint8_t *data) reg = regs.tesr; break; + case M5REG: + reg = params()->m5reg; + break; + default: panic("reading unimplemented register: addr=%#x", daddr); } @@ -2708,6 +2712,7 @@ BEGIN_DECLARE_SIM_OBJECT_PARAMS(NSGigE) Param pci_func; Param tx_fifo_size; Param rx_fifo_size; + Param m5reg; END_DECLARE_SIM_OBJECT_PARAMS(NSGigE) @@ -2740,7 +2745,8 @@ BEGIN_INIT_SIM_OBJECT_PARAMS(NSGigE) INIT_PARAM(pci_dev, "PCI device number"), INIT_PARAM(pci_func, "PCI function code"), INIT_PARAM_DFLT(tx_fifo_size, "max size in bytes of txFifo", 131072), - INIT_PARAM_DFLT(rx_fifo_size, "max size in bytes of rxFifo", 131072) + INIT_PARAM_DFLT(rx_fifo_size, "max size in bytes of rxFifo", 131072), + INIT_PARAM(m5reg, "m5 register") END_INIT_SIM_OBJECT_PARAMS(NSGigE) @@ -2777,6 +2783,7 @@ CREATE_SIM_OBJECT(NSGigE) params->eaddr = hardware_address; params->tx_fifo_size = tx_fifo_size; params->rx_fifo_size = rx_fifo_size; + params->m5reg = m5reg; return new NSGigE(params); } diff --git a/dev/ns_gige.hh b/dev/ns_gige.hh index 544a300c3..357f08253 100644 --- a/dev/ns_gige.hh +++ b/dev/ns_gige.hh @@ -343,6 +343,7 @@ class NSGigE : public PciDev Net::EthAddr eaddr; uint32_t tx_fifo_size; uint32_t rx_fifo_size; + uint32_t m5reg; }; NSGigE(Params *params); diff --git a/dev/ns_gige_reg.h b/dev/ns_gige_reg.h index 01577fa39..ab9833788 100644 --- a/dev/ns_gige_reg.h +++ b/dev/ns_gige_reg.h @@ -117,7 +117,8 @@ #define TANLPAR 0xec #define TANER 0xf0 #define TESR 0xf4 -#define LAST 0xf4 +#define M5REG 0xf8 +#define LAST 0xf8 #define RESERVED 0xfc /* chip command register */ diff --git a/python/m5/objects/Ethernet.mpy b/python/m5/objects/Ethernet.mpy index ed95ce233..7cc58421a 100644 --- a/python/m5/objects/Ethernet.mpy +++ b/python/m5/objects/Ethernet.mpy @@ -72,6 +72,8 @@ simobj NSGigE(PciDevice): rx_fifo_size = Param.MemorySize('128kB', "max size in bytes of rxFifo") tx_fifo_size = Param.MemorySize('128kB', "max size in bytes of txFifo") + m5reg = Param.UInt32(0, "Register for m5 usage") + intr_delay = Param.Latency('0us', "Interrupt Delay in microseconds") payload_bus = Param.Bus(NULL, "The IO Bus to attach to for payload") physmem = Param.PhysicalMemory(parent.any, "Physical Memory") From 2bb9126a7acff9ca711ecf2584c65ac8ba452fdf Mon Sep 17 00:00:00 2001 From: Ron Dreslinski Date: Thu, 28 Apr 2005 16:13:30 -0400 Subject: [PATCH 5/9] Make ip_conntrack table size larger --HG-- extra : convert_revision : bda54b29cb15144907b186f06517477dea13ba06 --- configs/boot/nat-spec-surge-client.rcS | 2 ++ configs/boot/natbox-spec-surge.rcS | 2 ++ configs/boot/spec-surge-client.rcS | 2 ++ configs/boot/surge-client.rcS | 3 ++- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/configs/boot/nat-spec-surge-client.rcS b/configs/boot/nat-spec-surge-client.rcS index a3bc512db..5e4404a35 100644 --- a/configs/boot/nat-spec-surge-client.rcS +++ b/configs/boot/nat-spec-surge-client.rcS @@ -27,6 +27,8 @@ echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max + echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max diff --git a/configs/boot/natbox-spec-surge.rcS b/configs/boot/natbox-spec-surge.rcS index d612424d2..0aac5d3b6 100644 --- a/configs/boot/natbox-spec-surge.rcS +++ b/configs/boot/natbox-spec-surge.rcS @@ -23,6 +23,8 @@ echo "100000" > /proc/sys/net/core/netdev_max_backlog echo "1" > /proc/sys/net/ipv4/ip_forward +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max + echo "waiting for netserver..." /usr/bin/netcat -c -l -p 8000 diff --git a/configs/boot/spec-surge-client.rcS b/configs/boot/spec-surge-client.rcS index 6ce2ce9de..6931d9e53 100644 --- a/configs/boot/spec-surge-client.rcS +++ b/configs/boot/spec-surge-client.rcS @@ -24,6 +24,8 @@ echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max + echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max diff --git a/configs/boot/surge-client.rcS b/configs/boot/surge-client.rcS index 208524a9c..7b9ea0419 100755 --- a/configs/boot/surge-client.rcS +++ b/configs/boot/surge-client.rcS @@ -18,7 +18,8 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - + +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem From e07fee31cb7d3434d4ce5bb05a2a6b686f49fa50 Mon Sep 17 00:00:00 2001 From: Ron Dreslinski Date: Thu, 28 Apr 2005 17:24:04 -0400 Subject: [PATCH 6/9] Clean up output for pc break events, and remove a unneeded break event. cpu/pc_event.cc: Add a newline to the printout to clean up output kern/linux/linux_system.cc: Remove the die_if_kernel pc break event, it is being called when not the kernel and leads to unneeded printouts --HG-- extra : convert_revision : c359532db31c961074894cc6c44c8452592caca8 --- cpu/pc_event.cc | 2 +- kern/linux/linux_system.cc | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cpu/pc_event.cc b/cpu/pc_event.cc index 21eef677a..2c6bb2443 100644 --- a/cpu/pc_event.cc +++ b/cpu/pc_event.cc @@ -125,7 +125,7 @@ void BreakPCEvent::process(ExecContext *xc) { StringWrap name(xc->cpu->name() + ".break_event"); - DPRINTFN("break event %s triggered", descr()); + DPRINTFN("break event %s triggered\n", descr()); debug_break(); if (remove) delete this; diff --git a/kern/linux/linux_system.cc b/kern/linux/linux_system.cc index b6aa9c6f2..a9c92b54a 100644 --- a/kern/linux/linux_system.cc +++ b/kern/linux/linux_system.cc @@ -109,12 +109,13 @@ LinuxSystem::LinuxSystem(Params *p) kernelPanicEvent->schedule(addr); else panic("could not find kernel symbol \'panic\'"); - +#if 0 kernelDieEvent = new BreakPCEvent(&pcEventQueue, "die if kernel"); if (kernelSymtab->findAddress("die_if_kernel", addr)) kernelDieEvent->schedule(addr); else panic("could not find kernel symbol \'die_if_kernel\'"); +#endif #endif From 602a489573c96d574798c622a70b1b466330fdaf Mon Sep 17 00:00:00 2001 From: Ron Dreslinski Date: Fri, 29 Apr 2005 21:01:43 -0400 Subject: [PATCH 7/9] Add suport for no allocation of cache block on a dma read passing through a cache from the cpu-side interface --HG-- extra : convert_revision : 0a3b3741924ed39c1c8710d0963e4c8f3e73f81a --- dev/ide_ctrl.cc | 3 ++- dev/ns_gige.cc | 14 ++++++++++---- dev/ns_gige.hh | 1 + dev/sinic.cc | 12 ++++++++---- dev/sinic.hh | 1 + python/m5/objects/Ethernet.mpy | 3 +++ 6 files changed, 25 insertions(+), 9 deletions(-) diff --git a/dev/ide_ctrl.cc b/dev/ide_ctrl.cc index 857cdeb78..ae044427e 100644 --- a/dev/ide_ctrl.cc +++ b/dev/ide_ctrl.cc @@ -97,7 +97,8 @@ IdeController::IdeController(Params *p) dmaInterface = new DMAInterface(name() + ".dma", params()->host_bus, - params()->host_bus, 1); + params()->host_bus, 1, + true); pioLatency = params()->pio_latency * params()->host_bus->clockRatio; } diff --git a/dev/ns_gige.cc b/dev/ns_gige.cc index 7560b1994..0b416750f 100644 --- a/dev/ns_gige.cc +++ b/dev/ns_gige.cc @@ -120,11 +120,13 @@ NSGigE::NSGigE(Params *p) if (p->payload_bus) dmaInterface = new DMAInterface(name() + ".dma", p->header_bus, - p->payload_bus, 1); + p->payload_bus, 1, + p->dma_no_allocate); else dmaInterface = new DMAInterface(name() + ".dma", p->header_bus, - p->header_bus, 1); + p->header_bus, 1, + p->dma_no_allocate); } else if (p->payload_bus) { pioInterface = newPioInterface(name(), p->hier, p->payload_bus, this, @@ -134,7 +136,8 @@ NSGigE::NSGigE(Params *p) dmaInterface = new DMAInterface(name() + ".dma", p->payload_bus, - p->payload_bus, 1); + p->payload_bus, 1, + p->dma_no_allocate); } @@ -2713,6 +2716,7 @@ BEGIN_DECLARE_SIM_OBJECT_PARAMS(NSGigE) Param tx_fifo_size; Param rx_fifo_size; Param m5reg; + Param dma_no_allocate; END_DECLARE_SIM_OBJECT_PARAMS(NSGigE) @@ -2746,7 +2750,8 @@ BEGIN_INIT_SIM_OBJECT_PARAMS(NSGigE) INIT_PARAM(pci_func, "PCI function code"), INIT_PARAM_DFLT(tx_fifo_size, "max size in bytes of txFifo", 131072), INIT_PARAM_DFLT(rx_fifo_size, "max size in bytes of rxFifo", 131072), - INIT_PARAM(m5reg, "m5 register") + INIT_PARAM(m5reg, "m5 register"), + INIT_PARAM_DFLT(dma_no_allocate, "Should DMA reads allocate cache lines", true) END_INIT_SIM_OBJECT_PARAMS(NSGigE) @@ -2784,6 +2789,7 @@ CREATE_SIM_OBJECT(NSGigE) params->tx_fifo_size = tx_fifo_size; params->rx_fifo_size = rx_fifo_size; params->m5reg = m5reg; + params->dma_no_allocate = dma_no_allocate; return new NSGigE(params); } diff --git a/dev/ns_gige.hh b/dev/ns_gige.hh index 357f08253..cbb7185e7 100644 --- a/dev/ns_gige.hh +++ b/dev/ns_gige.hh @@ -344,6 +344,7 @@ class NSGigE : public PciDev uint32_t tx_fifo_size; uint32_t rx_fifo_size; uint32_t m5reg; + bool dma_no_allocate; }; NSGigE(Params *params); diff --git a/dev/sinic.cc b/dev/sinic.cc index 9535a58ca..4d6ecf668 100644 --- a/dev/sinic.cc +++ b/dev/sinic.cc @@ -103,11 +103,11 @@ Device::Device(Params *p) if (p->payload_bus) dmaInterface = new DMAInterface(p->name + ".dma", p->header_bus, p->payload_bus, - 1); + 1, p->dma_no_allocate); else dmaInterface = new DMAInterface(p->name + ".dma", p->header_bus, p->header_bus, - 1); + 1, p->dma_no_allocate); } else if (p->payload_bus) { pioInterface = newPioInterface(p->name, p->hier, p->payload_bus, this, &Device::cacheAccess); @@ -115,7 +115,8 @@ Device::Device(Params *p) pioLatency = p->pio_latency * p->payload_bus->clockRatio; dmaInterface = new DMAInterface(p->name + ".dma", p->payload_bus, - p->payload_bus, 1); + p->payload_bus, 1, + p->dma_no_allocate); } } @@ -1388,6 +1389,7 @@ BEGIN_DECLARE_SIM_OBJECT_PARAMS(Device) Param dma_read_factor; Param dma_write_delay; Param dma_write_factor; + Param dma_no_allocate; END_DECLARE_SIM_OBJECT_PARAMS(Device) @@ -1421,7 +1423,8 @@ BEGIN_INIT_SIM_OBJECT_PARAMS(Device) INIT_PARAM_DFLT(dma_read_delay, "fixed delay for dma reads", 0), INIT_PARAM_DFLT(dma_read_factor, "multiplier for dma reads", 0), INIT_PARAM_DFLT(dma_write_delay, "fixed delay for dma writes", 0), - INIT_PARAM_DFLT(dma_write_factor, "multiplier for dma writes", 0) + INIT_PARAM_DFLT(dma_write_factor, "multiplier for dma writes", 0), + INIT_PARAM_DFLT(dma_no_allocate, "Should we allocat on read in cache", true) END_INIT_SIM_OBJECT_PARAMS(Device) @@ -1458,6 +1461,7 @@ CREATE_SIM_OBJECT(Device) params->dma_read_factor = dma_read_factor; params->dma_write_delay = dma_write_delay; params->dma_write_factor = dma_write_factor; + params->dma_no_allocate = dma_no_allocate; return new Device(params); } diff --git a/dev/sinic.hh b/dev/sinic.hh index 6597357a2..062a5408b 100644 --- a/dev/sinic.hh +++ b/dev/sinic.hh @@ -316,6 +316,7 @@ class Device : public Base Tick dma_read_factor; Tick dma_write_delay; Tick dma_write_factor; + bool dma_no_allocate; }; protected: diff --git a/python/m5/objects/Ethernet.mpy b/python/m5/objects/Ethernet.mpy index 7cc58421a..141d138da 100644 --- a/python/m5/objects/Ethernet.mpy +++ b/python/m5/objects/Ethernet.mpy @@ -41,6 +41,7 @@ simobj EtherDev(DmaDevice): dma_read_factor = Param.Latency('0us', "multiplier for dma reads") dma_write_delay = Param.Latency('0us', "fixed delay for dma writes") dma_write_factor = Param.Latency('0us', "multiplier for dma writes") + dma_no_allocate = Param.Bool(True, "Should we allocate cache on read") rx_filter = Param.Bool(True, "Enable Receive Filter") rx_delay = Param.Latency('1us', "Receive Delay") @@ -64,6 +65,8 @@ simobj NSGigE(PciDevice): dma_read_factor = Param.Latency('0us', "multiplier for dma reads") dma_write_delay = Param.Latency('0us', "fixed delay for dma writes") dma_write_factor = Param.Latency('0us', "multiplier for dma writes") + dma_no_allocate = Param.Bool(True, "Should we allocate cache on read") + rx_filter = Param.Bool(True, "Enable Receive Filter") rx_delay = Param.Latency('1us', "Receive Delay") From 849c954adf4660608d0ce48ce445cd47162e4276 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Sat, 30 Apr 2005 11:00:43 -0400 Subject: [PATCH 8/9] Cleanup rcS files. Make sure there are enough tracked connections. Delay before singalling peer to make sure that the peer is ready configs/boot/nat-netperf-server.rcS: delay before singalling to make sure that the natbox is ready configs/boot/nat-netperf-stream-client.rcS: increase the number of tracked connections configs/boot/nat-spec-surge-client.rcS: configs/boot/nfs-client-nhfsstone.rcS: configs/boot/nfs-client-smallb.rcS: configs/boot/nfs-client-tcp-smallb.rcS: configs/boot/nfs-client-tcp.rcS: configs/boot/nfs-client.rcS: configs/boot/nfs-server.rcS: configs/boot/spec-surge-client.rcS: configs/boot/spec-surge-server.rcS: configs/boot/surge-client.rcS: configs/boot/surge-server.rcS: increase the number of tracked connections cleanup configs/boot/nat-spec-surge-server.rcS: configs/boot/natbox-netperf.rcS: configs/boot/nfs-server-nhfsstone.rcS: delay before singalling to make sure that the natbox is ready increase the number of tracked connections cleanup configs/boot/natbox-spec-surge.rcS: delay before singalling to make sure that the natbox is ready increase the number of tracked connections --HG-- extra : convert_revision : 9faa5ec11c9c02fed3d1cff922ca42c41d364204 --- configs/boot/nat-netperf-server.rcS | 2 +- configs/boot/nat-netperf-stream-client.rcS | 1 + configs/boot/nat-spec-surge-client.rcS | 5 +---- configs/boot/nat-spec-surge-server.rcS | 5 ++--- configs/boot/natbox-netperf.rcS | 4 ++-- configs/boot/natbox-spec-surge.rcS | 2 ++ configs/boot/nfs-client-nhfsstone.rcS | 4 +--- configs/boot/nfs-client-smallb.rcS | 4 +--- configs/boot/nfs-client-tcp-smallb.rcS | 4 +--- configs/boot/nfs-client-tcp.rcS | 4 +--- configs/boot/nfs-client.rcS | 4 +--- configs/boot/nfs-server-nhfsstone.rcS | 5 ++--- configs/boot/nfs-server.rcS | 4 +--- configs/boot/spec-surge-client.rcS | 5 +---- configs/boot/spec-surge-server.rcS | 4 +--- configs/boot/surge-client.rcS | 5 +---- configs/boot/surge-server.rcS | 6 ++---- 17 files changed, 22 insertions(+), 46 deletions(-) diff --git a/configs/boot/nat-netperf-server.rcS b/configs/boot/nat-netperf-server.rcS index 69717b7ce..61b4bea7a 100644 --- a/configs/boot/nat-netperf-server.rcS +++ b/configs/boot/nat-netperf-server.rcS @@ -24,7 +24,7 @@ echo "running netserver..." /benchmarks/netperf/netserver echo -n "signal natbox to begin..." -sleep 1 +sleep 5 echo "server ready" | /usr/bin/netcat -c $NATBOX 8000 echo "done." diff --git a/configs/boot/nat-netperf-stream-client.rcS b/configs/boot/nat-netperf-stream-client.rcS index d0213c265..e37b8e565 100644 --- a/configs/boot/nat-netperf-stream-client.rcS +++ b/configs/boot/nat-netperf-stream-client.rcS @@ -9,6 +9,7 @@ ifconfig eth0 $CLIENT txqueuelen 1000 echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem diff --git a/configs/boot/nat-spec-surge-client.rcS b/configs/boot/nat-spec-surge-client.rcS index 5e4404a35..67c831eb0 100644 --- a/configs/boot/nat-spec-surge-client.rcS +++ b/configs/boot/nat-spec-surge-client.rcS @@ -21,19 +21,16 @@ echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/nat-spec-surge-server.rcS b/configs/boot/nat-spec-surge-server.rcS index 9b5674e63..279cd5652 100755 --- a/configs/boot/nat-spec-surge-server.rcS +++ b/configs/boot/nat-spec-surge-server.rcS @@ -24,17 +24,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." @@ -50,6 +48,7 @@ cat /benchmarks/apache2/logs/error_log echo "done." echo "notifying natbox..." +sleep 5 echo "server ready" | /usr/bin/netcat -c $NATBOX 8000 echo "done" diff --git a/configs/boot/natbox-netperf.rcS b/configs/boot/natbox-netperf.rcS index 5ec08c1a2..32a7371a0 100644 --- a/configs/boot/natbox-netperf.rcS +++ b/configs/boot/natbox-netperf.rcS @@ -11,7 +11,7 @@ ifconfig eth1 $INTIF txqueuelen 1000 echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem @@ -21,7 +21,6 @@ echo "262143" > /proc/sys/net/core/rmem_default echo "262143" > /proc/sys/net/core/wmem_default echo "262143" > /proc/sys/net/core/optmem_max echo "100000" > /proc/sys/net/core/netdev_max_backlog - echo "1" > /proc/sys/net/ipv4/ip_forward echo "waiting for netserver..." @@ -47,6 +46,7 @@ $IPTABLES -A FORWARD -j LOG $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE echo "informing client..." +sleep 5 echo "server ready" | /usr/bin/netcat -c $CLIENT 8000 echo "starting bash..." diff --git a/configs/boot/natbox-spec-surge.rcS b/configs/boot/natbox-spec-surge.rcS index 0aac5d3b6..8b84b1a35 100644 --- a/configs/boot/natbox-spec-surge.rcS +++ b/configs/boot/natbox-spec-surge.rcS @@ -11,6 +11,7 @@ ifconfig eth1 $INTIF txqueuelen 1000 echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem @@ -48,6 +49,7 @@ $IPTABLES -A FORWARD -j LOG $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE echo "informing client..." +sleep 5 echo "server ready" | /usr/bin/netcat -c $CLIENT 8000 echo "starting bash..." diff --git a/configs/boot/nfs-client-nhfsstone.rcS b/configs/boot/nfs-client-nhfsstone.rcS index 229e418d8..aa2903919 100755 --- a/configs/boot/nfs-client-nhfsstone.rcS +++ b/configs/boot/nfs-client-nhfsstone.rcS @@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/nfs-client-smallb.rcS b/configs/boot/nfs-client-smallb.rcS index 22e2107eb..375da1f59 100755 --- a/configs/boot/nfs-client-smallb.rcS +++ b/configs/boot/nfs-client-smallb.rcS @@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/nfs-client-tcp-smallb.rcS b/configs/boot/nfs-client-tcp-smallb.rcS index 2ee232158..eeb6aaadd 100755 --- a/configs/boot/nfs-client-tcp-smallb.rcS +++ b/configs/boot/nfs-client-tcp-smallb.rcS @@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/nfs-client-tcp.rcS b/configs/boot/nfs-client-tcp.rcS index a67facbb2..319281385 100755 --- a/configs/boot/nfs-client-tcp.rcS +++ b/configs/boot/nfs-client-tcp.rcS @@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/nfs-client.rcS b/configs/boot/nfs-client.rcS index 84d15439f..2d64f1999 100755 --- a/configs/boot/nfs-client.rcS +++ b/configs/boot/nfs-client.rcS @@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/nfs-server-nhfsstone.rcS b/configs/boot/nfs-server-nhfsstone.rcS index 564833cb1..222ba309e 100755 --- a/configs/boot/nfs-server-nhfsstone.rcS +++ b/configs/boot/nfs-server-nhfsstone.rcS @@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." @@ -60,6 +58,7 @@ echo "Exporting shares..." /sbin/exportfs -r -v echo -n "signal client to mount..." +sleep 5 echo "server ready" | /usr/bin/netcat -c 10.0.0.2 8000 echo "done." diff --git a/configs/boot/nfs-server.rcS b/configs/boot/nfs-server.rcS index 0cb489a9d..9e68597e6 100755 --- a/configs/boot/nfs-server.rcS +++ b/configs/boot/nfs-server.rcS @@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/spec-surge-client.rcS b/configs/boot/spec-surge-client.rcS index 6931d9e53..f42d6045f 100644 --- a/configs/boot/spec-surge-client.rcS +++ b/configs/boot/spec-surge-client.rcS @@ -18,19 +18,16 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/spec-surge-server.rcS b/configs/boot/spec-surge-server.rcS index 12e31696b..e2d0a58d7 100755 --- a/configs/boot/spec-surge-server.rcS +++ b/configs/boot/spec-surge-server.rcS @@ -22,17 +22,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/surge-client.rcS b/configs/boot/surge-client.rcS index 7b9ea0419..c63cc93f0 100755 --- a/configs/boot/surge-client.rcS +++ b/configs/boot/surge-client.rcS @@ -18,18 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - -echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done." diff --git a/configs/boot/surge-server.rcS b/configs/boot/surge-server.rcS index 3feb7b581..234514bd9 100755 --- a/configs/boot/surge-server.rcS +++ b/configs/boot/surge-server.rcS @@ -15,7 +15,7 @@ echo -n "setting up network..." /sbin/ifconfig eth0:3 192.168.0.4 txqueuelen 1000 /sbin/ifconfig eth0:4 192.168.0.5 txqueuelen 1000 /sbin/ifconfig lo 127.0.0.1 - + echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse echo "1" > /proc/sys/net/ipv4/tcp_window_scaling @@ -23,17 +23,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps echo "0" > /proc/sys/net/ipv4/tcp_sack echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog - +echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem - echo "524287" > /proc/sys/net/core/rmem_max echo "524287" > /proc/sys/net/core/wmem_max echo "524287" > /proc/sys/net/core/optmem_max echo "300000" > /proc/sys/net/core/netdev_max_backlog - echo "131072" > /proc/sys/fs/file-max echo "done."