openonload-20101111 ------------------- - Set EF_TX_PUSH=1 to knock 0.5us off TX latency. - Fixed bugs in handling of VLANs and bonds. - Fixed broken EPOLLET handling. - Improved epoll with TCP to more closely match Linux behaviour. - Fixed numerous bugs found in extended testing. - Fixed jumbo frame regression. - Added config file /etc/sysconfig/openonload to control access to Onload. openonload-20100923 ------------------- - See ReleaseNotes for details of new features and known problems. - Acceleration of 802.1Q VLAN interfaces. - Acceleration of bonded interfaces. - Acceleration of epoll system calls. - Small improvement in UDP send and receive latency. - Prevent high latency when doing non-blocking receive calls. - Many many minor enhancements and bug fixes. openonload-20100604-u3 ---------------------- - Fix bug that caused UDP packets to get wrong TTL value. - Send log messages to syslog if STDERR is not a TTY. - Fix incompatibility with apps that call fork() during _init. - Support 2.6.34 and 2.6.35 kernels. - Fixed zero-window probe bug. - Avoid dependency on /usr for driver load. - Ensure that onload driver gets loaded at boot time. - Fix select() timeout behaviour when spinning. - Update to v3_0_6_2199 sfc driver. openonload-20100604-u2 ---------------------- - Fix bugs in filter module that caused ports to be reused inappropriately. - "onload_install --newkernel" to install modules for a new kernel. - Allow "onload_install --listfiles" when Onload is already installed. - The rpm spec file (in src/onload_misc) should now work on RHEL5. - Adding and removing local IP addresses should now work properly. - Fix recursion bug in send path introduced in 20100604 properly. - Fix small per-stack memory leak. - Fix rare bug that could cause corruption of packet lists. openonload-20100604-u1 ---------------------- - Zero-initialise UDP socket receive packet and byte counters. - Fix DMA error on systems using IOMMU and multiple Onloaded interfaces. - Fix recursion bug in send path introduced in 20100604 release. - Fix bug that caused kernel panic when Onload stack destroyed. - Fix warning due to memory allocated with interrupts disabled. - Fix lock corruption caused by signal race. - Fix kernel panic caused by logging ioctl. openonload-20100604 ------------------- - Added option EF_MAX_RX_PACKETS to limit RX path buffer usage. - Improved handling of situations where DMA buffers become scarce. - Send reset on TCP connections when stack freed with internal lock stuck. - Fix incompatibility that prevented 32-bit apps working on 64-bit RHEL5. - Fix bug in control plane: Caused accelerated traffic to go to wrong port. - Fixed build for certain realtime kernels and fedora 11 kernels. - Work-around unwanted intercept of signal() in SLES10 ksh. - Support for Fedora 12. - Install preload libraries setuid/setgid by default. - Quieten kernel log messages about RTA_PRIORITY. - Fix bad performance of UDP send with large datagrams. - Respect spin timeout in UDP send. - Fixed state corruption bug in TCP TX exception path. - Config option documentation available from "onload_stackdump doc". - Fixed bug that could cause multicast filter to install on wrong interface. - Fixed UDP send jitter at certain message sizes and rates. - Added EF_SEND_POLL_THRESH and EF_SEND_POLL_MAX_EVS options. - Improvements to data exported by onload_stackdump. - Cope with early calls into libonload.so before it is initialised. - Added option EF_DELACK_THRESH to disable delayed acknowledgements. - EF_LOAD_ENV now true by default. - Disable EF_CONG_AVOID_SCALE_BACK by default. - Improvements to interrupt handling, reducing interrupts when spinning. - Improvements to onload_install. - Put sfc.ko in updates directory so it overrides in-tree driver. - "onload_stackdump spin_poll" command. - Acceleration of UDP sockets in userlevel select(). (NB. poll() remains best performing multiplexor). - onload_install --listfiles option. - Limit time spent "buzzing" a lock by default. - Make slow start less conservative by default. - Added options EF_TCP_INITIAL_CWND and EF_TCP_LOSS_MIN_CWND. - "onload_stackdump describe_stats" gives documentation for internal stats. - Option --kernelver for onload_build and onload_install. - Improved EF_UDP_RECV_UL_ONLY so less likely to break applications. - Added option EF_UDP_RECV_MCAST_UL_ONLY. - Hand UDP sockets connected over non-Onload interface to kernel by default. - Turn on reporting of certain errors in syslog by default. - sfcirqaffinity script to help setup interrupt affinity. - Update to v3_0_3_2141 sfc driver. openonload-20100308-u2 ---------------------- - Fixed build errors for various kernel versions, including SLES9, Ubuntu and Fedora 12 kernels. - Fixed build errors for certain Ubuntu kernel versions. - Fixed kernel panic when certain interface is down. - Option to spin when waiting for packet buffers. - Fix for high latency when multiple threads spinning in TCP recv(). - Update to v3_0_3_2123 sfc driver. openonload-20100308-u1 ---------------------- - Fixed incorrect default SO_SNDBUF and SO_RCVBUF for TCP sockets. - Fixed potential race in UDP receive path. openonload-20100308 ------------------- - Support for recent Linux kernels, inc. 2.6.33 - Unlocked UDP send path avoids lock contention. - Improved performance for UDP multicast sends. - Improved support for jumbo frames. - Improved UDP performance when traffic goes over non-accelerated interfaces. - Improved performance for UDP with poll(). - Fix to poll() timeout extension. - Option for apps to "share" an OpenOnload stack. - Option to loopback multicast to local receiver (when stack is shared). - Improved NUMA scaling: Onload DMA memory now allocated in local NUMA node. - Update to v3_0_2_2115 sfc driver. - Use appropriate temperature sensor limits. openonload-20091220 ------------------- - Update to v3_0_2_2064 sfc driver. - Support for SFC9000 controllers (SFN5122F). - bugfix: Failed connect() could cause connection to subsequently hang. - Fixes to signal handling. Some calls returned EINTR instead of restarting. - Reduce cpu overhead when blocking and locks are contended. - Introduce more fine-grained control of when spinning is used. - Do not spin in TCP accept() by default. - "stackdump filters" output no longer goes to kernel log - Fixed bug in filtering code relating to multiple sockets in one stack. - Do not attempt the close() intercept on kernels where it doesn't work. - Added option to "buzz" internal locks. - bugfix: Fix out-of-bounds table lookup. - Reduce cost of "deferred work" path and fix race. - Do not hold stack lock while spinning in TCP recv(). - Latency improvement when spinning and interrupts are also enabled. - Handover UDP sockets that are connected over the loopback interface. - Add option EF_UDP_CONNECT_HANDOVER. openonload-20091106 ------------------- - Update to v2_3_20_1086 sfc driver. - sfcaffinity_config: Fixed bug where irq affinity might not be set. - Increase the number of "kernel" sockets that user-level poll() will track. - sfcaffinity_config: Improve error messages. - Remove limitation in filter tables that limited us to 8 hops max. - Program hardware with minimum filter hops needed for current filters. - First steps towards spreading onload interrupts. - Improvements in install to support packaging up binaries, and making rpms. - Fix build and install problem on Debian systems. openonload-20090812 ------------------- - Support for using Onload with multiple NICs/ports. - The SFC affinity driver is now included with OpenOnload. - Various minor improvements to stackdump. - Performance improvement in TCP send and receive paths. - Scalability improvement in UDP recv() et al when spinning. - Export symbol "onload_version" from the preload library (can be used by applications if they want to know whether onload is present, and what version). - Various bug fixes. openonload-20090409.1 --------------------- - bug16011: Packet loss when IPG is very small. - Performance improvement for UDP recv() when spinning is enabled.