Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Feb 2009 17:52:43 +0100
From:      Fabian Keil <freebsd-listen@fabiankeil.de>
To:        freebsd-net@freebsd.org
Subject:   Re: mbuf revision, testers/comments wanted.
Message-ID:  <20090206175243.70b93f65@fabiankeil.de>
In-Reply-To: <20090202094226.E983@desktop>
References:  <20090131125100.N983@desktop> <20090201160544.4f1961b4@fabiankeil.de> <20090201170550.482bf325@fabiankeil.de> <20090202094226.E983@desktop>

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

[-- Attachment #1 --]
Jeff Roberson <jroberson@jroberson.net> wrote:

> On Sun, 1 Feb 2009, Fabian Keil wrote:
> 
> > Fabian Keil <freebsd-listen@fabiankeil.de> wrote:
> >
> >> Jeff Roberson <jroberson@jroberson.net> wrote:
> >>
> >>> http://people.freebsd.org/~jeff/mbuf_ref2.diff
> >>
> >>> I have been experimenting with different revisions to the mbuf api to
> >>> improve performance and simplify code.  This patch is the first of
> >>> several proposed steps towards those goals.  The aim of this patch is
> >>> two fold;
> >>
> >>> I would appreciate testing feedback from varied workloads to make
> >>> sure there are no bugs before I go forward with this.  I have tested
> >>> only host oriented networking with a few drivers.  It is not
> >>> anticipated that there will be any significant incompatibilities
> >>> introduced with this round but there is always that possibility.
> >
> >> 5)
> >> Finally, I tested the patch on an IBM ThinPad R51. The kernel
> >> hangs on boot, the last messages are (hand transcribed):
> >>
> >> iwi0: <Intel(R) PRO/Wireless 2200BG> mem 0xc0214000-0xc0214fff irq 11
> >> at device 2.0 on pci2 iwi0: Reserved 0x1000 bytes for rid 0x10 type 3
> >> at 0xc0214000 iwi0: could not allocate rx mbuf
> >> iwi0: could not allocate Rx ring
> >> bpfdetach: was not attached
> >
> > Never mind, kernel and user land weren't completely in
> > sync and this might be related to the recent wlan commits.
> > I'll retry with an up-to-date user land.
> >
> 
> I have updated the patch here:
> 
> http://people.freebsd.org/~jeff/mbuf_ref2.diff

Building world failed for me with:

cc -O2 -pipe  -Wall -Wmissing-prototypes -Wno-uninitialized -Wstrict-prototypes -I/usr/src/sbin/pfctl/../../contrib/pf/pfctl -DE
k-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/pfctl/../../sys
f_ruleset.c
In file included from /usr/src/sbin/pfctl/../../sys/contrib/pf/net/pf_ruleset.c:48:
/usr/obj/usr/src/tmp/usr/include/sys/mbuf.h:131: error: expected specifier-qualifier-list before 'uma_zone_t'
*** Error code 1

Stop in /usr/src/sbin/pfctl.
*** Error code 1

Stop in /usr/src/sbin.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

Manually building from /usr/src/sbin worked, though.
After resuming with make buildworld NO_CLEAN=YES,
the next failure was:

===> usr.bin/netstat (all)
cc -O2 -pipe  -fno-strict-aliasing -DIPSEC -DSCTP -DINET6 -DNETGRAPH -DIPX -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -c /usr/src/usr.bin/netstat/if.c
cc -O2 -pipe  -fno-strict-aliasing -DIPSEC -DSCTP -DINET6 -DNETGRAPH -DIPX -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -c /usr/src/usr.bin/netstat/inet.c
cc -O2 -pipe  -fno-strict-aliasing -DIPSEC -DSCTP -DINET6 -DNETGRAPH -DIPX -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -c /usr/src/usr.bin/netstat/main.c
cc -O2 -pipe  -fno-strict-aliasing -DIPSEC -DSCTP -DINET6 -DNETGRAPH -DIPX -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -c /usr/src/usr.bin/netstat/mbuf.c
In file included from /usr/src/usr.bin/netstat/mbuf.c:46:
/usr/obj/usr/src/tmp/usr/include/sys/mbuf.h:131: error: expected specifier-qualifier-list before 'uma_zone_t'
*** Error code 1

Stop in /usr/src/usr.bin/netstat.
*** Error code 1

Stop in /usr/src/usr.bin.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

Again building from /usr/src/usr.bin worked.

Resuming stopped with yet another similar error
message but afterwards make buildworld NO_CLEAN=YES
finished successfully.

I haven't really investigated the problem yet,
but it might have something to do with my make flags:

fk@TP51 ~ $grep NO_ /etc/make.conf
NO_BLUETOOTH=          # do not build Bluetooth related stuff
NO_FORTRAN=            # do not build g77 and related libraries
NO_I4B=                # do not build isdn4bsd package
NO_INET6=              # do not build IPv6 related programs and libraries
NO_IPFILTER=           # do not build IP Filter package
NO_KERBEROS=           # do not build and install Kerberos 5 (KTH Heimdal)
NO_LPR=                # do not build lpr and related programs
NO_MAILWRAPPER=        # do not build the mailwrapper(8) MTA selector
#NO_NIS=                # do not build NIS support and related programs.
NO_ATM=yes
NO_VINUM=yes
NO_OBJC=yes
NO_SHAREDOCS=yes
NO_PROFILE=yes
NO_PORTDOCS=yes

Commenting out the NO_INET6 line didn't make a difference.

I'm using your patch on an IBM ThinPad R51 since
three days and didn't notice any problems so far.

I also briefly tested it on an AMD64 system but as sound
stopped working I reverted to the old kernel after verifying
that ssh worked. This is a snd_emu10kx(4) problem, though.

Fabian

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkmMatsACgkQBYqIVf93VJ1fCgCeJNWV79r+F1tWB3a0J2BWQxVR
IkIAn1uiaL1FAU0krz/3nNtNdgX+YH4V
=O7aP
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090206175243.70b93f65>