forwarding/ipfw/pf evolution (in pps) on -current
Hi all, here is the result of my simple-and-dummy bench script regarding forwarding/ipfw/pf performance evolution on -current on a single-core server with one flow only. It's the result of more than 810 bench tests (including reboot between each) done twice for validating my methodology. # Disclaimer # 1. It's not a max performance bench: The purpose is to graph the variation of the performance only. 2. I know that using a single-core server in 2013 is a stupid idea but it's all I've got on my lab :-( # Why all these benchs ? # I've found performance regression regarding packet forwarding/ipfw/pf speed on -current comparing to 9.1 on my old server. glebius@ ask me to do some bisection hunting on different -current revision for spotting the culprit commit. But as a lazy guy, in place of doing bisection, I've choose about 50 svn revision and graph them all: It's a lot's more easy to script this than a bisection algorithm :-) And the result is interesting… # The results # The gnuplot diagram in png format with some confirmed specifics spots is available here: http://gugus69.free.fr/freebsd/benchs/current/current-pps.png A confirmed spot is a measurable change between revision N-1 and revision N. = Remember that I'm used a single-core before reading the result! The regression of the new SMP pf is not really a regression: The system is now usable during this high PPS bench and it was not the case before this improvement. ## gnuplot data ## Available here: http://gugus69.free.fr/freebsd/benchs/current/plot/ It's the data and plot file used for generating the graph: You can use them for zooming on it. ## ministat data ## Available here: http://gugus69.free.fr/freebsd/benchs/current/ministat/ You can use it for comparing result between 2 revision, like as example: ministat -s 242160.ipfw 242161.ipfw ## raw data ## Outpout of pkg-gen during all tests: http://gugus69.free.fr/freebsd/benchs/current/raw/ ## nanobsd images # All binary mages used for these benchs are here: http://gugus69.free.fr/freebsd/benchs/current/nanobsd-images/ There is only one full image to be used for the first installation, and all other are upgrade image. They use the serial port as default console too. # Methodology used # ## First step: building a small lab ## I've used 3 old unused servers and a good switch: - One server as netmap pkt-gen packet generator (1.38Mpps of minimum size packet); - One server as netmap pkt-gen receiver; - One server with 2 NIC in the middle as a router/firewall, serial connection, and nanobsd image on it (very easy to upgrade): IBM eServer xSeries 306m with one core (Intel Pentium4 3.00GHz, hyper-threading disabled) and a dual NIC 82546GB connected to the PCI-X Bus; - a Cisco Catalyst switch for connecting all (its own statistics can be used as a tie breaker if I've got a doubt regarding the result given by netmap pkt-gen). All servers have another NIC for the admin network (bench script send SSH commands and nanobsd image upgrade over this dedicated NIC). I've used netmap pkt-gen for generating smallest packet size from the generator to the receiver like that: pkt-gen -i em0 -t 0 -l 42 -d 1.1.1.1 -D 00:0e:0c:de:45:df -s 2.2.2.2 -w 10 Results was collected on the pkt-gen receiver. ## Second step: building small nanobsd images ## Now we need lot's of small nanobsd images generated from the svn revision number selected for the bench: cf script [1]. About 50 revisions were selected between 236884 to 249506: Candidate chosen by reading the svn commit log. ## Third step: auto-bench script ## This auto-bench script [2] do these tasks: 1. Upgrading the server to the release to be tested; 2. Uploading configuration set to be tested (forwarding-only, ipfw or pf) reboot; 3. Start the bench test, collecting the result, and reboot: 5 times for each configuration-set; 4Loop to next configuration set; 5. Loop to next release. ## Last step: converting result for ministat and gnuplot ## I've used a last script for interpreting the output of pkt-gen receiver for ministat and gnuplot [3]. Because I'm not sure if I've used the good method for preparing my data, here is how I've generated the ministat and gnuplot graph: For just one test, the output of pkt-gen in receive mode is lot's of lines like that: main [1085] 400198 pps main [1085] 400287 pps main [1085] 400240 pps main [1085] 400235 pps main [1085] 400245 pps ... I've calculated the median value [3] (thanks ministat) all these results: This give me only one number for the test. = I did the same for each of the 5 same bench tests (same configuration-set, just a reboot between them). And I've put these 5 numbers in the file named SVN-REV.CONFIG-SET. = From these 5 numbers, I've calculated the median value again: This give me a unique performance number that I've used as gnuplot data file. ## Bisection ## From this first result, I've selected others svn revision to generated: The goal was to spot the exact commit that brings the
Re: forwarding/ipfw/pf evolution (in pps) on -current
Oliver, Great and impressive job. If I interpret the plot as is the result say (approximatly of course): 1. Forwarding using ipfw with single rule degrades ~25% the pps. 2. Forwarding with pf however gets ~50%+ of degredation if performance pps. 3. there some point of improved performance (without fw) that went down again somewhere before Clang got prod. 4. I think that the results don't necessarly can be translated to SMP versions because of scheduler, affinity issues. For now i would continue using ipfw :-) Sami On Apr 24, 2013 1:45 PM, Olivier Cochard-Labbé oliv...@cochard.me wrote: Hi all, here is the result of my simple-and-dummy bench script regarding forwarding/ipfw/pf performance evolution on -current on a single-core server with one flow only. It's the result of more than 810 bench tests (including reboot between each) done twice for validating my methodology. # Disclaimer # 1. It's not a max performance bench: The purpose is to graph the variation of the performance only. 2. I know that using a single-core server in 2013 is a stupid idea but it's all I've got on my lab :-( # Why all these benchs ? # I've found performance regression regarding packet forwarding/ipfw/pf speed on -current comparing to 9.1 on my old server. glebius@ ask me to do some bisection hunting on different -current revision for spotting the culprit commit. But as a lazy guy, in place of doing bisection, I've choose about 50 svn revision and graph them all: It's a lot's more easy to script this than a bisection algorithm :-) And the result is interesting… # The results # The gnuplot diagram in png format with some confirmed specifics spots is available here: http://gugus69.free.fr/freebsd/benchs/current/current-pps.png A confirmed spot is a measurable change between revision N-1 and revision N. = Remember that I'm used a single-core before reading the result! The regression of the new SMP pf is not really a regression: The system is now usable during this high PPS bench and it was not the case before this improvement. ## gnuplot data ## Available here: http://gugus69.free.fr/freebsd/benchs/current/plot/ It's the data and plot file used for generating the graph: You can use them for zooming on it. ## ministat data ## Available here: http://gugus69.free.fr/freebsd/benchs/current/ministat/ You can use it for comparing result between 2 revision, like as example: ministat -s 242160.ipfw 242161.ipfw ## raw data ## Outpout of pkg-gen during all tests: http://gugus69.free.fr/freebsd/benchs/current/raw/ ## nanobsd images # All binary mages used for these benchs are here: http://gugus69.free.fr/freebsd/benchs/current/nanobsd-images/ There is only one full image to be used for the first installation, and all other are upgrade image. They use the serial port as default console too. # Methodology used # ## First step: building a small lab ## I've used 3 old unused servers and a good switch: - One server as netmap pkt-gen packet generator (1.38Mpps of minimum size packet); - One server as netmap pkt-gen receiver; - One server with 2 NIC in the middle as a router/firewall, serial connection, and nanobsd image on it (very easy to upgrade): IBM eServer xSeries 306m with one core (Intel Pentium4 3.00GHz, hyper-threading disabled) and a dual NIC 82546GB connected to the PCI-X Bus; - a Cisco Catalyst switch for connecting all (its own statistics can be used as a tie breaker if I've got a doubt regarding the result given by netmap pkt-gen). All servers have another NIC for the admin network (bench script send SSH commands and nanobsd image upgrade over this dedicated NIC). I've used netmap pkt-gen for generating smallest packet size from the generator to the receiver like that: pkt-gen -i em0 -t 0 -l 42 -d 1.1.1.1 -D 00:0e:0c:de:45:df -s 2.2.2.2 -w 10 Results was collected on the pkt-gen receiver. ## Second step: building small nanobsd images ## Now we need lot's of small nanobsd images generated from the svn revision number selected for the bench: cf script [1]. About 50 revisions were selected between 236884 to 249506: Candidate chosen by reading the svn commit log. ## Third step: auto-bench script ## This auto-bench script [2] do these tasks: 1. Upgrading the server to the release to be tested; 2. Uploading configuration set to be tested (forwarding-only, ipfw or pf) reboot; 3. Start the bench test, collecting the result, and reboot: 5 times for each configuration-set; 4Loop to next configuration set; 5. Loop to next release. ## Last step: converting result for ministat and gnuplot ## I've used a last script for interpreting the output of pkt-gen receiver for ministat and gnuplot [3]. Because I'm not sure if I've used the good method for preparing my data, here is how I've generated the ministat and gnuplot graph: For just one test, the output of pkt-gen in receive mode is lot's of lines like that: main [1085]
Re: forwarding/ipfw/pf evolution (in pps) on -current
On Wed, Apr 24, 2013 at 1:46 PM, Sami Halabi sodyn...@gmail.com wrote: Oliver, Great and impressive job. Thanks, 3. there some point of improved performance (without fw) that went down again somewhere before Clang got prod. = Yes, I'm still working on detected the commit that create this degradation. For now i would continue using ipfw :-) Don't use this bench for comparing pf and ipfw performance: Using the single parameter small packet per second throughput is not enough for comparing firewalls performance. If you read RFC3511 (Benchmarking Methodology for Firewall Performance) you will notice that we need to compare lot's more parameters like: - IP throughput - Concurrent TCP Connection Capacity - Maximum TCP Connection Establishment Rate - Maximum TCP Connection Tear Down Rate - Denial Of Service Handling - HTTP Transfer Rate - Maximum HTTP Transaction Rate - Illegal Traffic Handling - IP Fragmentation Handling - Latency - etc... And I want to add another: High availability feature like with pfsync :-) Regards, Olivier ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: forwarding/ipfw/pf evolution (in pps) on -current
On 24.04.2013 12:45, Olivier Cochard-Labbé wrote: Hi all, here is the result of my simple-and-dummy bench script regarding forwarding/ipfw/pf performance evolution on -current on a single-core server with one flow only. It's the result of more than 810 bench tests (including reboot between each) done twice for validating my methodology. Thanks for your excellent work in doing this benchmark time-series, - One server with 2 NIC in the middle as a router/firewall, serial connection, and nanobsd image on it (very easy to upgrade): IBM eServer xSeries 306m with one core (Intel Pentium4 3.00GHz, hyper-threading disabled) and a dual NIC 82546GB connected to the PCI-X Bus; however I want to point out that the Pentium4 has about the worst lock overhead of all cpu architectures, even on UP. This may cause certain changes to look much worse than they are on currently popular architectures. For an estimate and time-series comparison your bench test is very helpful though. -- Andre ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
[head tinderbox] failure on mips64/mips
TB --- 2013-04-24 12:49:07 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2013-04-24 12:49:07 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC amd64 TB --- 2013-04-24 12:49:07 - starting HEAD tinderbox run for mips64/mips TB --- 2013-04-24 12:49:07 - cleaning the object tree TB --- 2013-04-24 12:50:03 - /usr/local/bin/svn stat /src TB --- 2013-04-24 12:50:07 - At svn revision 249829 TB --- 2013-04-24 12:50:08 - building world TB --- 2013-04-24 12:50:08 - CROSS_BUILD_TESTING=YES TB --- 2013-04-24 12:50:08 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-24 12:50:08 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-24 12:50:08 - SRCCONF=/dev/null TB --- 2013-04-24 12:50:08 - TARGET=mips TB --- 2013-04-24 12:50:08 - TARGET_ARCH=mips64 TB --- 2013-04-24 12:50:08 - TZ=UTC TB --- 2013-04-24 12:50:08 - __MAKE_CONF=/dev/null TB --- 2013-04-24 12:50:08 - cd /src TB --- 2013-04-24 12:50:08 - /usr/bin/make -B buildworld Building an up-to-date make(1) World build started on Wed Apr 24 12:50:12 UTC 2013 Rebuilding the temporary build tree stage 1.1: legacy release compatibility shims stage 1.2: bootstrap tools stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3: cross tools stage 4.1: building includes stage 4.2: building libraries stage 4.3: make dependencies stage 4.4: building everything [...] cc -O -pipe -G0 -DHAVE_CONFIG_H -DRL_NO_COMPAT -DMI_OUT=1 -DTUI=1 -I. -I/src/gnu/usr.bin/gdb/kgdb/../arch/mips -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd/mips -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb/config -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/bfd -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /src/gnu/usr.bin/gdb/kgdb/kld.c cc -O -pipe -G0 -DHAVE_CONFIG_H -DRL_NO_COMPAT -DMI_OUT=1 -DTUI=1 -I. -I/src/gnu/usr.bin/gdb/kgdb/../arch/mips -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd/mips -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb/config -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/bfd -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /src/gnu/usr.bin/gdb/kgdb/kthr.c cc -O -pipe -G0 -DHAVE_CONFIG_H -DRL_NO_COMPAT -DMI_OUT=1 -DTUI=1 -I. -I/src/gnu/usr.bin/gdb/kgdb/../arch/mips -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd/mips -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb/config -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/bfd -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /src/gnu/usr.bin/gdb/kgdb/trgt.c cc -O -pipe -G0 -DHAVE_CONFIG_H -DRL_NO_COMPAT -DMI_OUT=1 -DTUI=1 -I. -I/src/gnu/usr.bin/gdb/kgdb/../arch/mips -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd/mips -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb/config -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/bfd -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c:122: error: 'struct trapframe' has no member named 't4' /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c:123: error: 'struct trapframe' has no member named 't5' /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c:124: error: 'struct trapframe' has no member named 't6' /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c:125: error: 'struct trapframe' has no member named 't7' *** [trgt_mips.o] Error code 1 Stop in /src/gnu/usr.bin/gdb/kgdb. *** [all] Error code 1 Stop in /src/gnu/usr.bin/gdb. *** [all] Error code 1 Stop in /src/gnu/usr.bin. *** [all] Error code 1 Stop in /src/gnu. *** [gnu.all__D] Error code 1 Stop in /src. *** [everything] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2013-04-24 13:33:46 - WARNING: /usr/bin/make returned exit code 1 TB --- 2013-04-24 13:33:46 - ERROR: failed to
'service named reload' with non-default system directories.
Hi I often run named outside of the system default directories so that amongst other things a mergemaster fumble doesn't break my name servers. This however breaks rndc because it is not imbued with the clue of where to find its key. /etc/rc.d/named does create the key file in the correct place according to the configured chroot directory. The reload section just doesn't tell rndc where to find it. Can I suggest for a minimal change: --- /usr/src/etc/rc.d/named 2013-04-15 20:17:58.0 +0200 +++ /etc/rc.d/named 2013-04-24 16:16:52.0 +0200 @@ -109,7 +109,7 @@ named_reload() { - ${command%/named}/rndc reload + ${command%/named}/rndc -k ${named_confdir}/rndc.key reload } find_pidfile() A more invasive change: The bind9 reference suggests that named loading rndc.key is for backwards compatibility. Since the rndc.key feature is only intended to allow the backward-compatible usage of BIND 8 configuration files, this feature does not have a high degree of configurability. You cannot easily change the key name or the size of the secret, so you should make a rndc.conf with your own key if you wish to change those things. So, I 'include path/to/rndc.key;' in named.conf, add a controls section that uses this named key and I use the following rndc.conf: ---named.conf--- include /etc/namedb/rndc.key; controls { inet 127.0.0.1 allow { 127.0.0.1; } keys { rndc-key; }; }; ---named.conf--- ---rndc.conf--- include /etc/namedb/rndc.key; options { default-server localhost; default-key rndc-key; }; server localhost { key rndc-key; }; ---rndc.conf--- And the following version of the above patch: --- /usr/src/etc/rc.d/named 2013-04-15 20:17:58.0 +0200 +++ /etc/rc.d/named 2013-04-24 16:16:52.0 +0200 @@ -109,7 +109,7 @@ named_reload() { - ${command%/named}/rndc reload + ${command%/named}/rndc -c ${named_confdir}/rndc.conf reload } find_pidfile() this will allow the rc system to reload and stop named (without a kill) no matter what the configured chroot is. Ian -- Ian Freislich ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: 'service named reload' with non-default system directories.
On Wed, 2013-04-24 at 16:35 +0200, Ian FREISLICH wrote: --- /usr/src/etc/rc.d/named 2013-04-15 20:17:58.0 +0200 +++ /etc/rc.d/named 2013-04-24 16:16:52.0 +0200 @@ -109,7 +109,7 @@ named_reload() { - ${command%/named}/rndc reload + ${command%/named}/rndc -k ${named_confdir}/rndc.key reload } find_pidfile() snip So, I 'include path/to/rndc.key;' in named.conf, add a controls section that uses this named key and I use the following rndc.conf: ---named.conf--- include /etc/namedb/rndc.key; controls { inet 127.0.0.1 allow { 127.0.0.1; } keys { rndc-key; }; }; ---named.conf--- ---rndc.conf--- include /etc/namedb/rndc.key; options { default-server localhost; default-key rndc-key; }; server localhost { key rndc-key; }; ---rndc.conf--- And the following version of the above patch: --- /usr/src/etc/rc.d/named 2013-04-15 20:17:58.0 +0200 +++ /etc/rc.d/named 2013-04-24 16:16:52.0 +0200 @@ -109,7 +109,7 @@ named_reload() { - ${command%/named}/rndc reload + ${command%/named}/rndc -c ${named_confdir}/rndc.conf reload } find_pidfile() this will allow the rc system to reload and stop named (without a kill) no matter what the configured chroot is. Ian Would we need a change to /etc/defaults/rc.conf to set ${named_confdir} to the default location if not set? Also, there already appears to be a ${named_conf} that points to whatever named.conf specified (defaults to /etc/namedb/named.conf). Is this complementary to what you're poking at? Sean signature.asc Description: This is a digitally signed message part
Re: 'service named reload' with non-default system directories.
Sean Bruno wrote: Would we need a change to /etc/defaults/rc.conf to set ${named_confdir} to the default location if not set? I'm not sure. It's derived: load_rc_config $name # Updating the following variables requires that rc.conf be loaded first # required_dirs=$named_chrootdir# if it is set, it must exist named_confdir=${named_chrootdir}${named_conf%/*} I don't think that I did a particularly good job of making it work for all instances. It's more of an opening move to get this working properly wherever the admin chooses to put the named chroot. I'm still expecting comments from Doug Barton. Also, there already appears to be a ${named_conf} that points to whatever named.conf specified (defaults to /etc/namedb/named.conf). Is this complementary to what you're poking at? This is specifically rndc (not named) that fails to find its key or config if you choose to use a chrootdir that isn't the default. Ian -- Ian Freislich ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: CURRENT (r249438): (devel/libiconv)./unistd.h:686:5: error: invalid token at start of a preprocessor expression : #if @GNULIB_EUIDACCESS@
On Tue, 2013-04-23 at 21:03 +0200, Dimitry Andric wrote: On Apr 17, 2013, at 21:16, Jung-uk Kim j...@freebsd.org wrote: On 2013-04-17 06:07:47 -0400, Dimitry Andric wrote: On Apr 17, 2013, at 07:31, Jan Beich jbe...@tormail.org wrote: Dimitry Andric d...@freebsd.org writes: On Apr 16, 2013, at 00:42, Jan Beich jbe...@tormail.org wrote: ... Maybe -O3 overoptimizes regex in libc e.g., $ echo '#if @GNULIB_EUIDACCESS@' | sed 's/@GNULIB_EUIDACCESS@/0/' #if @GNULIB_EUIDACCESS@ $ echo 'xxx' | sed 's/xxx//' xxx How did you arrive at this result? 1/ chroot into poudriere jail for /head amd64 2/ echo CFLAGS+=-O3 /etc/make.conf 3/ make -j2 (in /usr/src/lib/libc) 4/ prepend LD_LIBRARY_PATH=. before sed(1) 5/ rebuild regcomp.o, regcomp.So with -O2 to confirm I have been able to reproduce this on amd64, with -O3, but not on i386. It seems regcomp() is either miscompiled at -O3, or it contains some bug triggered only by the vectorizer. I am still investigating. ... With -fno-vectorize, this problem doesn't seem to happen. After some more investigation, I submitted LLVM PR 15830, with a test case reduced from our regcomp.c. It got diagnosed and fixed pretty quickly, and I have pulled in the fix in r249817. Please verify it, by rebuilding libc with your original -O3 settings; the sed commands listed above should now work correctly. Both the ports devel/libiconv and graphics/jasper do not show the reported error anymore after this patch! Thanks for helping fixing this that fast! With regards, Oliver signature.asc Description: This is a digitally signed message part
Re: panic on a NULL turnstile on boot on r249810
On Wed, Apr 24, 2013 at 12:25:02AM +0400, Gleb Smirnoff wrote: T just upgraded from r245115 to r249810 and now box reliably panics on T boot a second after mounting root. I've nailed it down. It is a stack buffer overflow in the nvidia-driver. I've submitted patch to port maintainer. -- Totus tuus, Glebius. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: forwarding/ipfw/pf evolution (in pps) on -current
On 4/24/13 6:45 PM, Olivier Cochard-Labbé wrote: Hi all, here is the result of my simple-and-dummy bench script regarding forwarding/ipfw/pf performance evolution on -current on a single-core server with one flow only. It's the result of more than 810 bench tests (including reboot between each) done twice for validating my methodology. very cool bet that was fun.. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: forwarding/ipfw/pf evolution (in pps) on -current
On 4/24/2013 6:45 AM, Olivier Cochard-Labbé wrote: # Why all these benchs ? # I've found performance regression regarding packet forwarding/ipfw/pf speed on -current comparing to 9.1 on my old server. BTW, how much of a drop in performance as compared to 9.1 ? ---Mike -- --- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, m...@sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada http://www.tancsa.com/ ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
[head tinderbox] failure on mips64/mips
TB --- 2013-04-25 00:07:39 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2013-04-25 00:07:39 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC amd64 TB --- 2013-04-25 00:07:39 - starting HEAD tinderbox run for mips64/mips TB --- 2013-04-25 00:07:39 - cleaning the object tree TB --- 2013-04-25 00:08:40 - /usr/local/bin/svn stat /src TB --- 2013-04-25 00:08:43 - At svn revision 249844 TB --- 2013-04-25 00:08:44 - building world TB --- 2013-04-25 00:08:44 - CROSS_BUILD_TESTING=YES TB --- 2013-04-25 00:08:44 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-25 00:08:44 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-25 00:08:44 - SRCCONF=/dev/null TB --- 2013-04-25 00:08:44 - TARGET=mips TB --- 2013-04-25 00:08:44 - TARGET_ARCH=mips64 TB --- 2013-04-25 00:08:44 - TZ=UTC TB --- 2013-04-25 00:08:44 - __MAKE_CONF=/dev/null TB --- 2013-04-25 00:08:44 - cd /src TB --- 2013-04-25 00:08:44 - /usr/bin/make -B buildworld Building an up-to-date make(1) World build started on Thu Apr 25 00:08:49 UTC 2013 Rebuilding the temporary build tree stage 1.1: legacy release compatibility shims stage 1.2: bootstrap tools stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3: cross tools stage 4.1: building includes stage 4.2: building libraries stage 4.3: make dependencies stage 4.4: building everything [...] cc -O -pipe -G0 -DHAVE_CONFIG_H -DRL_NO_COMPAT -DMI_OUT=1 -DTUI=1 -I. -I/src/gnu/usr.bin/gdb/kgdb/../arch/mips -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd/mips -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb/config -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/bfd -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /src/gnu/usr.bin/gdb/kgdb/kld.c cc -O -pipe -G0 -DHAVE_CONFIG_H -DRL_NO_COMPAT -DMI_OUT=1 -DTUI=1 -I. -I/src/gnu/usr.bin/gdb/kgdb/../arch/mips -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd/mips -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb/config -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/bfd -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /src/gnu/usr.bin/gdb/kgdb/kthr.c cc -O -pipe -G0 -DHAVE_CONFIG_H -DRL_NO_COMPAT -DMI_OUT=1 -DTUI=1 -I. -I/src/gnu/usr.bin/gdb/kgdb/../arch/mips -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd/mips -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb/config -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/bfd -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /src/gnu/usr.bin/gdb/kgdb/trgt.c cc -O -pipe -G0 -DHAVE_CONFIG_H -DRL_NO_COMPAT -DMI_OUT=1 -DTUI=1 -I. -I/src/gnu/usr.bin/gdb/kgdb/../arch/mips -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd -I/src/gnu/usr.bin/gdb/kgdb/../../binutils/libbfd/mips -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/gdb/config -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/gdb/include -I/src/gnu/usr.bin/gdb/kgdb/../../../../contrib/binutils/bfd -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c:122: error: 'struct trapframe' has no member named 't4' /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c:123: error: 'struct trapframe' has no member named 't5' /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c:124: error: 'struct trapframe' has no member named 't6' /src/gnu/usr.bin/gdb/kgdb/trgt_mips.c:125: error: 'struct trapframe' has no member named 't7' *** [trgt_mips.o] Error code 1 Stop in /src/gnu/usr.bin/gdb/kgdb. *** [all] Error code 1 Stop in /src/gnu/usr.bin/gdb. *** [all] Error code 1 Stop in /src/gnu/usr.bin. *** [all] Error code 1 Stop in /src/gnu. *** [gnu.all__D] Error code 1 Stop in /src. *** [everything] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2013-04-25 00:52:33 - WARNING: /usr/bin/make returned exit code 1 TB --- 2013-04-25 00:52:33 - ERROR: failed to
Re: forwarding/ipfw/pf evolution (in pps) on -current
On Wed, Apr 24, 2013 at 1:46 PM, Sami Halabi sodyn...@gmail.com wrote: 3. there some point of improved performance (without fw) that went down again somewhere before Clang got prod. Found it ! It's commit 242402: Rework the known mutexes... ministat -s 242401.forwarding 242402.forwarding x 242401.forwarding + 242402.forwarding +---+ |+ | |+ + + + x xx x x| | |A| | | |_A_M___| | +---+ N Min MaxMedian AvgStddev x 5417527420242418902419074 1049.7974 + 5402211404828404096403689 1237.6696 Difference at 95.0% confidence -15385 +/- 1673.69 -3.67119% +/- 0.399377% (Student's t, pooled s = 1147.58) ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org