Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Aug 2009 14:45:18 +0200
From:      "Viktor CISTICZ" <viktor@cisti.cz>
To:        000.fbsd@quip.cz
Cc:        "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   Re: GET BUF: dmamap load failure - 12 + kernel panic [was: NETIO UDP benchmark problem]
Message-ID:  <4vPdkHf5.1250858718.4294130.viktor@mx.estimese.net>
In-Reply-To: <4A8CBA58.3060809@quip.cz>

next in thread | previous in thread | raw e-mail | index | archive | help

Sorry, forgot something.

Dne 20/8/2009, napsal "Miroslav Lachman" <000.fbsd@quip.cz>:

>I changed subject to better describing one, because it is not problem in
>netio itself.
>
>Viktor CISTICZ wrote:
>> Hello,
>> recently i have been testing two servers  via crosslink. Both have
>> Freebsd installed >
>>
>> twin1$ uname -a
>> FreeBSD twin1 8.0-BETA2 FreeBSD 8.0-BETA2 #0: Sun Aug 16
>> 22:57:29 CEST 2009
>> viktor@twin1:/usr/obj/usr/src/sys/GEN_NO_DBG  amd64
>>
>> twin2$ uname -a
>> FreeBSD kitt.twin2 8.0-BETA2 FreeBSD 8.0-BETA2 #0: Wed Jul 22 15:05:19
>> CEST 2009     viktor@kitt.twin2:/usr/obj/usr/src/sys/GEN_NO_DBG  amd64
>>
>> GEN_NO_DBG is GENERIC kernel without debugging options
>>
>> Twin2 is virtual machine on the same hardware as twin1, vmware used.
>>
>> I have this set installed on both machines >
>> twin1$ pkg_info
>> NetPIPE-3.7.1       A self-scaling network benchmark
>> gettext-0.17_1      GNU gettext package
>> gmake-3.81_3        GNU version of 'make' utility
>> iperf-2.0.4         A tool to measure maximum TCP and UDP bandwidth
>> libiconv-1.13.1     A character set conversion library
>> libtool-2.2.6a      Generic shared library support script
>> netio-1.26          Network benchmark
>> netperf-2.4.5       Network performance benchmarking package
>> portaudit-0.5.13    Checks installed ports against a list of security
>> vulnerabi
>> portmaster-2.9      Manage your ports without external databases or
>> languages
>> screen-4.0.3_6      A multi-screen window manager
>> ttcp-1.12           Benchmarking tool for analysing TCP and UDP
>> performance
>> unzip-5.52_5        List, test and extract compressed files in a ZIP
>> archive
>>
>> Both machines are connected via crosslink >
>> twin1# ifconfig
>> igb0 : public interface
>> igb1: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 15=
00
>>         options=3D13b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,TSO4=
>
>>         ether 00:30:48:c8:f3:91
>>         inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255
>>         media: Ethernet autoselect (1000baseT <full-duplex>)
>>         status: active
>>
>> twin2# ifconfig
>> em0: public interface
>> em1: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 150=
0
>>         options=3D9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
>>         ether 00:0c:29:4b:f1:76
>>         inet 10.10.10.20 netmask 0xffffff00 broadcast 10.10.10.255
>>         media: Ethernet autoselect (1000baseT <full-duplex>)
>>         status: active
>>
>> I have set up twin2 as a server for netio >
>> kitt.twin2# netio -s -p 1122
>>
>> And then tested from twin1 tcp test >
>> twin1# netio -p 1122 -t 10.10.10.20
>>
>> It was allright, i've got some results.
>>
>> But when I tried UDP, it failed.
>>
>> The server is still the same >
>> kitt.twin2# netio -s -p 1122
>>
>> Client
>> twin1# netio -p 1122 -u 10.10.10.20
>>
>> After around 1 minute, twin1 server stopped responding on public
>> interface, i've been disconnected. Via remote console i could access
>> the machine, it was acting normally. I could ping both interfaces. I
>> could even ping from other side of crosslink, from twin2 the privat
>> interface, but no reply on public interface.
>> The interface was shown UP in ifconfig, no messages in /var/log/messages.
>>
>> Then i executed ifconfig igb1 down && ifconfig igb1 up and it worked
>> again.
>
>Did you ifconfig down + up igb1 or igb0? As you said "server stopped
>responding on public interface", but you have igb0 marked as public
>interface and igb1 as private crosslink interface in ifconfig above.
I did ifconfig down and up on igb0 (public interface). Then it responded
again. But the second test crashed the machine completely.
>
>Are you really saying that heavy UDP load on private interface igb1
>caused freez of public interface igb0 and then kernel panic?
>
>> I have then executed netio udp test again with 2k udp packets
>>
>> The server is still the same >
>> kitt.twin2# netio -s -p 1122
>>
>> twin1# netio -p 1122 -u -b 2k 10.10.10.20
>>
>> The same problem on twin1, but now it has crashed the computer >
>> via remote console i could see this >
>> twin1# GET BUF: dmamap load failure - 12
>> GET BUF: dmamap load failure - 12
>> GET BUF: dmamap load failure - 12
>> GET BUF: dmamap load failure - 12
>> GET BUF: dmamap load failure - 12
>> GET BUF: dmamap load failure - 12
>> GET BUF: dmamap load failure - 12
>> GET BUF: dmamap load failure - 12
>> GET BUF: dmamap load failure - 12
>> GET BUF: dmamap load failure - 12
>>
>> then it executed core dump and restarted.
>>
>> I am lost, thanks for any advise.
>
>Did you run it as root or regular user?
First I did run it as root on both machines. Then i ran it as normal
user. REsults were the same, kernel panic.
>
>Can you add output of netstat -m right before interface freez / kernel
>panic?
>
>And last - can you reproduce it with kernel with debugging options enabled?
>
>Miroslav Lachman
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4vPdkHf5.1250858718.4294130.viktor>