Jeff Roberson <jrober...@jroberson.net> wrote: > On Sun, 1 Feb 2009, Fabian Keil wrote: > > > Fabian Keil <freebsd-lis...@fabiankeil.de> wrote: > > > >> Jeff Roberson <jrober...@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: f...@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
signature.asc
Description: PGP signature