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
--Sig_/uEWAKkW2bnM6wwEssf4u9mz
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Jeff Roberson <jroberson@jroberson.net> wrote:

> On Sun, 1 Feb 2009, Fabian Keil wrote:
>=20
> > 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.
> >
>=20
> I have updated the patch here:
>=20
> http://people.freebsd.org/~jeff/mbuf_ref2.diff

Building world failed for me with:

cc -O2 -pipe  -Wall -Wmissing-prototypes -Wno-uninitialized -Wstrict-protot=
ypes -I/usr/src/sbin/pfctl/../../contrib/pf/pfctl -DE
k-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitializ=
ed -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_rules=
et.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=3DYES,
the next failure was:

=3D=3D=3D> 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-un=
used-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wn=
o-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-un=
used-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wn=
o-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-un=
used-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wn=
o-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-un=
used-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wn=
o-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=3DYES
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=3D          # do not build Bluetooth related stuff
NO_FORTRAN=3D            # do not build g77 and related libraries
NO_I4B=3D                # do not build isdn4bsd package
NO_INET6=3D              # do not build IPv6 related programs and libraries
NO_IPFILTER=3D           # do not build IP Filter package
NO_KERBEROS=3D           # do not build and install Kerberos 5 (KTH Heimdal)
NO_LPR=3D                # do not build lpr and related programs
NO_MAILWRAPPER=3D        # do not build the mailwrapper(8) MTA selector
#NO_NIS=3D                # do not build NIS support and related programs.
NO_ATM=3Dyes
NO_VINUM=3Dyes
NO_OBJC=3Dyes
NO_SHAREDOCS=3Dyes
NO_PROFILE=3Dyes
NO_PORTDOCS=3Dyes

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

--Sig_/uEWAKkW2bnM6wwEssf4u9mz
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

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

--Sig_/uEWAKkW2bnM6wwEssf4u9mz--



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