forwarding/ipfw/pf evolution (in pps) on -current

2013-04-24 Thread Olivier Cochard-Labbé
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

2013-04-24 Thread Sami Halabi
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

2013-04-24 Thread Olivier Cochard-Labbé
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

2013-04-24 Thread Andre Oppermann

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

2013-04-24 Thread FreeBSD Tinderbox
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.

2013-04-24 Thread Ian FREISLICH
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.

2013-04-24 Thread Sean Bruno
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.

2013-04-24 Thread Ian FREISLICH
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@

2013-04-24 Thread O. Hartmann
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

2013-04-24 Thread Gleb Smirnoff
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

2013-04-24 Thread Julian Elischer

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

2013-04-24 Thread Mike Tancsa
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

2013-04-24 Thread FreeBSD Tinderbox
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

2013-04-24 Thread Olivier Cochard-Labbé
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