[head tinderbox] failure on powerpc/powerpc
TB --- 2012-12-28 03:41:04 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-28 03:41:04 - 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 --- 2012-12-28 03:41:04 - starting HEAD tinderbox run for powerpc/powerpc TB --- 2012-12-28 03:41:04 - cleaning the object tree TB --- 2012-12-28 03:41:35 - /usr/local/bin/svn stat /src TB --- 2012-12-28 03:42:05 - At svn revision 244753 TB --- 2012-12-28 03:42:06 - building world TB --- 2012-12-28 03:42:06 - CROSS_BUILD_TESTING=YES TB --- 2012-12-28 03:42:06 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-28 03:42:06 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-28 03:42:06 - SRCCONF=/dev/null TB --- 2012-12-28 03:42:06 - TARGET=powerpc TB --- 2012-12-28 03:42:06 - TARGET_ARCH=powerpc TB --- 2012-12-28 03:42:06 - TZ=UTC TB --- 2012-12-28 03:42:06 - __MAKE_CONF=/dev/null TB --- 2012-12-28 03:42:06 - cd /src TB --- 2012-12-28 03:42:06 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Fri Dec 28 03:42:12 UTC 2012 >>> 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 >>> World build completed on Fri Dec 28 06:02:50 UTC 2012 TB --- 2012-12-28 06:02:50 - generating LINT kernel config TB --- 2012-12-28 06:02:50 - cd /src/sys/powerpc/conf TB --- 2012-12-28 06:02:50 - /usr/bin/make -B LINT TB --- 2012-12-28 06:02:50 - cd /src/sys/powerpc/conf TB --- 2012-12-28 06:02:50 - /usr/sbin/config -m LINT TB --- 2012-12-28 06:02:50 - building LINT kernel TB --- 2012-12-28 06:02:50 - CROSS_BUILD_TESTING=YES TB --- 2012-12-28 06:02:50 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-28 06:02:50 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-28 06:02:50 - SRCCONF=/dev/null TB --- 2012-12-28 06:02:50 - TARGET=powerpc TB --- 2012-12-28 06:02:50 - TARGET_ARCH=powerpc TB --- 2012-12-28 06:02:50 - TZ=UTC TB --- 2012-12-28 06:02:50 - __MAKE_CONF=/dev/null TB --- 2012-12-28 06:02:50 - cd /src TB --- 2012-12-28 06:02:50 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Fri Dec 28 06:02:50 UTC 2012 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O -pipe -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/powerpc/aim/nexus.c cc -c -x assembler-with-cpp -DLOCORE -O -pipe -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/powerpc/aim/swtch32.S cc -c -O -pipe -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/powerpc/aim/trap.c cc1: warnings being treated as errors In file included from /src/sys/powerpc/aim/trap.c:506: /src/sys/powerpc/aim/../../kern/subr_syscall.c: In function 'syscallenter': /src/sys/powerpc/aim/../../kern/subr_syscall.c:80: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /src/sys
Re: [RFC] proposed 'lem' patch to improve behaviour under emulation
I don't know, in some ways it might be more interesting to make something just for a virtualized device, however reality is that I have way too many higher priority items to worry about after the new year gets underway than that, even so, we can see... Jack On Thu, Dec 27, 2012 at 6:52 PM, Luigi Rizzo wrote: > On Thu, Dec 27, 2012 at 10:46 AM, Jack Vogel wrote: > >> LOL, it's ironic, my intention in creating lem was to isolate the old >> pre-PCIE driver from active changes so as to assure it's stability... >> but virtualization comes around to bit me in the butt :) >> >> I guess I'm agreeable in principle with what you're doing Luigi, but >> can you do me a favor and hold off until I'm technically back from >> vacation (after the new year) and let me review the code then? >> >> > sure, no rush -- i just wanted to have it out for review as it has been > ready for a few weeks now. > > Regarding lem vs em i actually wonder if it wouldn't be better to > consolidate the two drivers given the amount of common code. > While i understand the desire for stability, i actually wonder if there > is much if any leftover hw which uses 'lem' ... outside virtualization! > > cheers > luigi > > ___ 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: [RFC] proposed 'lem' patch to improve behaviour under emulation
On Thu, Dec 27, 2012 at 10:46 AM, Jack Vogel wrote: > LOL, it's ironic, my intention in creating lem was to isolate the old > pre-PCIE driver from active changes so as to assure it's stability... > but virtualization comes around to bit me in the butt :) > > I guess I'm agreeable in principle with what you're doing Luigi, but > can you do me a favor and hold off until I'm technically back from > vacation (after the new year) and let me review the code then? > > sure, no rush -- i just wanted to have it out for review as it has been ready for a few weeks now. Regarding lem vs em i actually wonder if it wouldn't be better to consolidate the two drivers given the amount of common code. While i understand the desire for stability, i actually wonder if there is much if any leftover hw which uses 'lem' ... outside virtualization! cheers luigi ___ 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 arm/arm
TB --- 2012-12-27 21:30:31 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 21:30:31 - 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 --- 2012-12-27 21:30:31 - starting HEAD tinderbox run for arm/arm TB --- 2012-12-27 21:30:31 - cleaning the object tree TB --- 2012-12-27 21:31:40 - /usr/local/bin/svn stat /src TB --- 2012-12-27 21:31:43 - At svn revision 244753 TB --- 2012-12-27 21:31:44 - building world TB --- 2012-12-27 21:31:44 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 21:31:44 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 21:31:44 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 21:31:44 - SRCCONF=/dev/null TB --- 2012-12-27 21:31:44 - TARGET=arm TB --- 2012-12-27 21:31:44 - TARGET_ARCH=arm TB --- 2012-12-27 21:31:44 - TZ=UTC TB --- 2012-12-27 21:31:44 - __MAKE_CONF=/dev/null TB --- 2012-12-27 21:31:44 - cd /src TB --- 2012-12-27 21:31:44 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 21:31:48 UTC 2012 >>> 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 >>> World build completed on Thu Dec 27 22:29:17 UTC 2012 TB --- 2012-12-27 22:29:17 - generating LINT kernel config TB --- 2012-12-27 22:29:17 - cd /src/sys/arm/conf TB --- 2012-12-27 22:29:17 - /usr/bin/make -B LINT TB --- 2012-12-27 22:29:17 - cd /src/sys/arm/conf TB --- 2012-12-27 22:29:17 - /usr/sbin/config -m LINT TB --- 2012-12-27 22:29:17 - building LINT kernel TB --- 2012-12-27 22:29:17 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 22:29:17 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 22:29:17 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 22:29:17 - SRCCONF=/dev/null TB --- 2012-12-27 22:29:17 - TARGET=arm TB --- 2012-12-27 22:29:17 - TARGET_ARCH=arm TB --- 2012-12-27 22:29:17 - TZ=UTC TB --- 2012-12-27 22:29:17 - __MAKE_CONF=/dev/null TB --- 2012-12-27 22:29:17 - cd /src TB --- 2012-12-27 22:29:17 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu Dec 27 22:29:17 UTC 2012 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -x assembler-with-cpp -DLOCORE -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -ffreestanding -Werror /src/sys/arm/arm/swtch.S cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -ffreestanding -Werror /src/sys/arm/arm/sys_machdep.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -ffreestanding -Werror /src/sys/arm/arm/trap.c cc1: warnings being treated as errors In file included from /src/sys/arm/arm/trap.c:900: /src/sys/arm/arm/../../kern/subr_syscall.c: In function 'syscallenter': /src/sys/arm/arm/../../kern/subr_syscall.c:80: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /src/sys/arm/arm/../../kern/subr_syscall.c:154: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] *** [trap.o] Error code 1 Stop in /obj/arm.arm/src/sys/LINT. *** [buildkernel] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB
Re: ipv6_addrs_IF aliases in rc.conf(5)
2012/12/26 Kimmo Paasiala : > I've revised the patch again and updated it at gihub, > https://gist.github.com/4362018. It can now be applied at top level > of sources (/usr/src typically). It now does the deconfiguration in > reverse order of the configuration, meaning the aliases configured > with ipv6_addrs_IF are removed before the ones configured with > ifconfig_IF_aliasN="inet6 ...". Adapted for FreeBSD 8.2, works fine: --- network.subr.orig 2011-02-17 05:19:39.0 +0300 +++ network.subr2012-12-28 00:46:38.0 +0400 @@ -312,6 +312,12 @@ afexists() # 1 otherwise. ipv6if() { + # Test for $ipv6_addrs_IF. If it exists then the + # interface should be configured for IPv6 + _tmpargs=$(get_if_var $_if ipv6_addrs_IF) + if [ -n "${_tmpargs}" ]; then + return 0 + fi if ! checkyesno ipv6_enable; then return 1 fi @@ -948,7 +954,12 @@ network6_interface_setup() rtsol_interface=no ifconfig $i inet6 ${ipv6_ifconfig} alias fi - + ipv6_addrs=`get_if_var $i ipv6_addrs_IF` + if [ -n "${ipv6_addrs}" ]; then + rtsol_available=no + rtsol_interface=no + ipv6_addrs_common ${i} alias + fi # Wireless NIC cards are virtualized through the wlan interface if ! is_wired_interface ${i}; then case "${i}" in @@ -1178,3 +1189,39 @@ network6_getladdr() esac done } + +ipv6_addrs_common() +{ + local _ret _if _action _ip6prefix _ip6prefixes + local _ip6addr _prefixlen + local _range _ip6net _ip6low _ip6high + _ret=1 + _if=$1 + _action=$2 + # get the prefixes from ipv6_addrs_IF variable + _ip6prefixes=`get_if_var $_if ipv6_addrs_IF` + for _ip6prefix in ${_ip6prefixes}; do + _ip6addr=${_ip6prefix%%/*} + _prefixlen=${_ip6prefix##*/} + _range=${_ip6addr##*:} + _ip6net=${_ip6addr%:*} + _ip6low=${_range%-*} + _ip6high=${_range#*-} + # If deleting an alias, set _prefixlen to null string. + if [ "${_action}" = "-alias" ]; then + _prefixlen="" + else + _prefixlen="prefixlen $_prefixlen" + fi + _ip6high=$(("0x${_ip6high}")) + _ip6count=$(("0x${_ip6low}")) + while [ "${_ip6count}" -le "${_ip6high}" ]; do + # Re-uses the _ip6addr variable from above + _ip6addr=$(printf "%x" "${_ip6count}") + eval "ifconfig ${_if} inet6 ${_ip6net}:${_ip6addr} ${_prefixlen} ${_action}" + _ip6count=$((${_ip6count}+1)) + _ret=0 + done + done + return $_ret +} -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin ___ 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: ath0: unable to attach hardware
Hi, Just leave all of the ath/ah options in the kernel. Then comment out device ath device ath_hal device ath_rate_sample .. but yes, leave all the options in there. Adrian On 27 December 2012 12:06, wrote: > Hello, > > I hope you had a pleasant trip. Sorry for not replying for a while. > > Anyway, I tried to do what you asked me to. However, it seems like I > misunderstood the handbook and/or your request, as I failed to compile the > kernel. > > I copied my previous, working kernel config to a new file, and commented the > devices ath, ath_pci, ath_hal and ath_rate_sample, as well as the options > AH_SUPPORT_AR5416, AH_DEBUG and ATH_DEBUG. I did this because I could not > find instructions in the handbook that explained how to build a module as a > kld, and commenting the modules out was my best guess. Please point me to the > relevant section in the handbook in the case that the information was > actually there and I just was unable to find it. > The full kernel config can be seen here: http://nopaste.info/d7475552bd.html > Finally, I went to /usr/src and entered > make buildkernel KERNCONF=PAVILIONNOATH > > This is what I suspect is the relevant output: > > cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc > -I. -I/usr/src/sys/modules/ath/../../dev/ath > -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -DHAVE_KERNEL_OPTION_HEADERS > -include /usr/obj/usr/src/sys/PAVILIONNOATH/opt_global.h -I. -I@ > -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param > large-function-growth=1000 -fno-common -g -fno-omit-frame-pointer > -I/usr/obj/usr/src/sys/PAVILIONNOATH -mno-sse -mcmodel=kernel -mno-red-zone > -mno-mmx -msoft-float -fno-asynchronous-unwind-tables -ffreestanding > -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls > -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith > -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions > -Wmissing-include-dirs -fdiagnostics-show-option -c > /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c > In file included from /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:55: > @/net/if_var.h:125: error: 'IFNAMSIZ' undeclared here (not in a function) > @/net/if_var.h:151: error: field 'if_data' has incomplete type > cc1: warnings being treated as errors > @/net/if_var.h:157: warning: 'struct sockaddr' declared inside parameter list > @/net/if_var.h:157: warning: its scope is only this definition or > declaration, which is probably not what you want > @/net/if_var.h:167: warning: 'struct sockaddr' declared inside parameter list > @/net/if_var.h:187: error: 'AF_MAX' undeclared here (not in a function) > @/net/if_var.h:718: error: field 'if_data' has incomplete type > /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c: In function > 'ath_hal_attach': > /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:65: warning: > dereferencing 'void *' pointer > /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:65: error: request for > member 'sc_ifp' in something not a structure or union > /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:70: warning: > dereferencing 'void *' pointer > /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:70: error: request for > member 'sc_ifp' in something not a structure or union > *** Error code 1 > > The full output has been posted to http://nopaste.info/408e62ac0f.html > > I'm willing and hoping to help troubleshoot this issue, but please keep in > mind that I'm new to FreeBSD, so please give detailed instructions whenever > you can. > > Thank you very much! > >> >>Hi, >> >>Ok. I'm travelling for a little bit; if I don't reply in a few >>days, >>please poke me again. >> >>It may be that the device is asleep for a bit longer (failing this >>test) and has completed resetting at this point. >> >>It may be that the power on sequence is not quite right for some >>reason. >> >>Would you mind recompiling your kernel and making if_ath a kld, >>rather >>than statically in the kernel? >> >>Thanks, >> >> >>Adrian >> >>> >>> attached to this e-mail you find the output of dmesg. What I >>guess the most relevant lines could be is: >>> >>> ath0: mem 0xfdee-0xfdee irq 16 at device >>4.0 on pci2 >>> ar5212ChipTest: address test failed addr: 0x8000 - >>wr:0x != rd:0x >>> ar5212Attach: hardware self-test failed >>> ath0: unable to attach hardware; HAL status 14 >>> device_attach: ath0 attach returned 6 >>> >>> I read the registers 4004 and 4010 again to make sure the values >>still are the same, which indeed they are. >>> >>> I hope this helps. >>> >>> Thanks! >>> >>> On Donnerstag, 13. Dezember 2012 at 10:18 PM, "Adrian Chadd" >> wrote: On 13 December 2012 13:11, wrote: > Hello everyone, > > I'm afraid I still don't know what exactly BAR is, or how I get its value that I'm supposed to plug into the line John provided: > dd if=/dev/mem bs=4 iseek=((s
Re: ath0: unable to attach hardware
Hello, I hope you had a pleasant trip. Sorry for not replying for a while. Anyway, I tried to do what you asked me to. However, it seems like I misunderstood the handbook and/or your request, as I failed to compile the kernel. I copied my previous, working kernel config to a new file, and commented the devices ath, ath_pci, ath_hal and ath_rate_sample, as well as the options AH_SUPPORT_AR5416, AH_DEBUG and ATH_DEBUG. I did this because I could not find instructions in the handbook that explained how to build a module as a kld, and commenting the modules out was my best guess. Please point me to the relevant section in the handbook in the case that the information was actually there and I just was unable to find it. The full kernel config can be seen here: http://nopaste.info/d7475552bd.html Finally, I went to /usr/src and entered make buildkernel KERNCONF=PAVILIONNOATH This is what I suspect is the relevant output: cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -DHAVE_KERNEL_OPTION_HEADERS -include /usr/obj/usr/src/sys/PAVILIONNOATH/opt_global.h -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common -g -fno-omit-frame-pointer -I/usr/obj/usr/src/sys/PAVILIONNOATH -mno-sse -mcmodel=kernel -mno-red-zone -mno-mmx -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -c /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c In file included from /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:55: @/net/if_var.h:125: error: 'IFNAMSIZ' undeclared here (not in a function) @/net/if_var.h:151: error: field 'if_data' has incomplete type cc1: warnings being treated as errors @/net/if_var.h:157: warning: 'struct sockaddr' declared inside parameter list @/net/if_var.h:157: warning: its scope is only this definition or declaration, which is probably not what you want @/net/if_var.h:167: warning: 'struct sockaddr' declared inside parameter list @/net/if_var.h:187: error: 'AF_MAX' undeclared here (not in a function) @/net/if_var.h:718: error: field 'if_data' has incomplete type /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c: In function 'ath_hal_attach': /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:65: warning: dereferencing 'void *' pointer /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:65: error: request for member 'sc_ifp' in something not a structure or union /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:70: warning: dereferencing 'void *' pointer /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:70: error: request for member 'sc_ifp' in something not a structure or union *** Error code 1 The full output has been posted to http://nopaste.info/408e62ac0f.html I'm willing and hoping to help troubleshoot this issue, but please keep in mind that I'm new to FreeBSD, so please give detailed instructions whenever you can. Thank you very much! > >Hi, > >Ok. I'm travelling for a little bit; if I don't reply in a few >days, >please poke me again. > >It may be that the device is asleep for a bit longer (failing this >test) and has completed resetting at this point. > >It may be that the power on sequence is not quite right for some >reason. > >Would you mind recompiling your kernel and making if_ath a kld, >rather >than statically in the kernel? > >Thanks, > > >Adrian > >> >> attached to this e-mail you find the output of dmesg. What I >guess the most relevant lines could be is: >> >> ath0: mem 0xfdee-0xfdee irq 16 at device >4.0 on pci2 >> ar5212ChipTest: address test failed addr: 0x8000 - >wr:0x != rd:0x >> ar5212Attach: hardware self-test failed >> ath0: unable to attach hardware; HAL status 14 >> device_attach: ath0 attach returned 6 >> >> I read the registers 4004 and 4010 again to make sure the values >still are the same, which indeed they are. >> >> I hope this helps. >> >> Thanks! >> >> On Donnerstag, 13. Dezember 2012 at 10:18 PM, "Adrian Chadd" > wrote: >>> >>>On 13 December 2012 13:11, wrote: Hello everyone, I'm afraid I still don't know what exactly BAR is, or how I get >>>its value that I'm supposed to plug into the line John provided: dd if=/dev/mem bs=4 iseek=((start of bar + reg offset)/4) >>>count=1 | hd I assumed that "start of bar" is 0xfdee in my case, since >>>dmesg reports ath0: mem 0xfdee-0xfdee irq 16 at device >>>4.0 on pci2 >>> >>>Yup. >>> This is what I get: # dd if=/dev/mem bs=4 iseek=`echo "ibase=16; (FDEE+4004)/4" >>>| bc` count=1 | hd 00 00 01 00 # dd if=/dev/mem bs=4
Re: [RFC] proposed 'lem' patch to improve behaviour under emulation
LOL, it's ironic, my intention in creating lem was to isolate the old pre-PCIE driver from active changes so as to assure it's stability... but virtualization comes around to bit me in the butt :) I guess I'm agreeable in principle with what you're doing Luigi, but can you do me a favor and hold off until I'm technically back from vacation (after the new year) and let me review the code then? Thanks, Jack On Thu, Dec 27, 2012 at 1:46 AM, Luigi Rizzo wrote: > This patch implements two features for the 'lem' driver that > greatly improve the throughput under proper hypervisor. > This is joint work with Vincenzo Maffione and Giuseppe Lettieri, > I am posting it here for review, will then commit it > if there are no objections. > > The first change is to implement a sysctl to access the 'itr' > interrupt moderation register for the devices supported by this > driver. It is little more than adding a struct into the device > descriptor, and one line to create the dynamic sysctl entry, same > as it is done for the other mitigation registers. > > The second change is more interesting and has huge benefits on througput. > > Under virtualization, "VM exits" (which happen every time there is > an access to a register of the emulated peripheral) are extremely > expensive. In the tx path of the 'lem' driver, there is a write > to the TDT register on every packet sent. > > The patch we propose, if enabled through a sysctl (defaults off, > so no change from current behaviour) defers writes to the TDT > register when there is a pending transmit interrupt. > This means that, together with proper emulation of interrupt > mitigation on the hypervisor side, the number of VM exits > is dramatically reduced. To give you an idea, on a modern > system with qemu-kvm and companion patches, UDP throughput is > > KVM QEMU > standard KVM, standard driver20 Kpps 6.3 Kpps > modified KVM, standard driver37 Kpps28 Kpps > modified KVM, modified driver 200 Kpps34 Kpps > > As you can see, on kvm this change gives a 5x speedup to the tx path, > which combines nicely with the 2x speedup that comes from supporting > interrupt mitigation alone in the hypervisor. Without kvm (or kqemu ?) > the benefits are much lower, as the guest becomes too slow. > > Patch follows. It would be good if people with real hardware > using the 'lem' driver could test it to make sure it does no > harm on their devices (in any case the sysctl variable > dev.em.0.mit_enable must be set to explicitly enable it > at runtime). > > (for those curious to test it under kvm, i am also attaching a > patch that you need to apply to qemu in order to exploit the > effect of interrupt mitigation; it is a followup of a similar > patch i posted in july to the qemu mailing list, and i will > post it the update there as well, shortly. Unfortunately > we do not have kvm on freebsd..) > > cheers > luigi > ___ 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: clang 3.2 RC2 miscompiles libgcc?
On Thu, Dec 27, 2012 at 09:15:01AM -0600, Nathan Whitehorn wrote: > On 12/27/12 09:07, Stefan Farfeleder wrote: > > Hi, > > > > I noticed that most of my C++ applications in recent versions of FreeBSD > > head suddenly crash without me recompiling them. I tracked it down to > > r243830 which imported a new clang version. The new clang seems to > > compile libgcc in a wrong or at least incompatible way with what gcc > > expects. In fact, the breakage only occurs with libgcc compiled by a > > post-r243830 clang and an application compiled with g++ -O2. For me, the > > crash happens with boost::program_options, but I'm not sure if that is > > necessary for the crash. > > I've seen what I think is the same thing due to a miscompilation of > unwind-dw2.c that caused crashes related to cross-shared-object > exception handling. It seems to have been fixed with the 3.2 release but > I haven't tested it too thoroughly yet. Thanks for the confirmation. The cross-dso requirement would explain why my simpler approaches to reproduce it didn't work. But for me there's no difference between RC2 and release (FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 20121221), both cause my applications to crash. Stefan ___ 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 sparc64/sparc64
TB --- 2012-12-27 17:08:27 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 17:08:27 - 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 --- 2012-12-27 17:08:27 - starting HEAD tinderbox run for sparc64/sparc64 TB --- 2012-12-27 17:08:27 - cleaning the object tree TB --- 2012-12-27 17:08:27 - /usr/local/bin/svn stat /src TB --- 2012-12-27 17:08:30 - At svn revision 244738 TB --- 2012-12-27 17:08:31 - building world TB --- 2012-12-27 17:08:31 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 17:08:31 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 17:08:31 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 17:08:31 - SRCCONF=/dev/null TB --- 2012-12-27 17:08:31 - TARGET=sparc64 TB --- 2012-12-27 17:08:31 - TARGET_ARCH=sparc64 TB --- 2012-12-27 17:08:31 - TZ=UTC TB --- 2012-12-27 17:08:31 - __MAKE_CONF=/dev/null TB --- 2012-12-27 17:08:31 - cd /src TB --- 2012-12-27 17:08:31 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 17:08:35 UTC 2012 >>> 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 [...] cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/auth.c -o auth.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/expand_number.c -o expand_number.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/flopen.c -o flopen.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/fparseln.c -o fparseln.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/gr_util.c -o gr_util.o cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_add': /src/lib/libutil/gr_util.c:510: warning: cast discards qualifiers from pointer target type *** [gr_util.o] Error code 1 Stop in /src/lib/libutil. *** [lib/libutil__L] Error code 1 Stop in /src. *** [libraries] Error code 1 Stop in /src. *** [_libraries] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2012-12-27 17:30:05 - WARNING: /usr/bin/make returned exit code 1 TB --- 2012-12-27 17:30:05 - ERROR: failed to build world TB --- 2012-12-27 17:30:05 - 941.18 user 247.12 system 1298.67 real http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-sparc64-sparc64.full ___ 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"
loopback interface broken on current
For the past few days the loopback interface 127.0.0.1 is broken on current. The last good kernel that works for me is r244662: Mon Dec 24 06:43:07 PST 2012 Here are some of the errors from current today: Setting hostname: pozo.com. ifa_del_loopback_route: deletion failed: 3 ifconfig: ioctl (SIOCAIFADDR): File exists bge0: link state changed to DOWN ifa_del_loopback_route: deletion failed: 3 Dec 27 07:21:30.617 [803] warn: server socket setup failed, retry 1: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address Dec 27 07:21:31.620 [803] warn: server socket setup failed, retry 2: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address Dec 27 07:21:32.622 [803] warn: server socket setup failed, retry 3: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address Dec 27 07:21:33.624 [803] warn: server socket setup failed, retry 4: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address Dec 27 07:21:34.626 [803] warn: server socket setup failed, retry 5: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address Dec 27 07:21:34.846 [803] warn: server socket setup failed, retry 6: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address Dec 27 07:21:35.848 [803] warn: server socket setup failed, retry 7: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address Dec 27 07:21:36.850 [803] warn: server socket setup failed, retry 8: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address Dec 27 07:21:37.852 [803] warn: server socket setup failed, retry 9: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address Dec 27 07:21:38.854 [803] error: spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address spamd: could not create INET socket on 127.0.0.1:783: Can't assign requested address /etc/rc: WARNING: failed to start spamd Starting dccgrey. no IPv4 support, connect(): Network is unreachable Starting dccifd. no IPv4 support, connect(): Network is unreachable PING localhost (127.0.0.1): 56 data bytes ^C --- localhost ping statistics --- 20 packets transmitted, 0 packets received, 100.0% packet loss Manfred || n...@pozo.com || || Ph. (415) 681-6235 || -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. ___ 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 powerpc64/powerpc
TB --- 2012-12-27 16:43:04 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 16:43:04 - 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 --- 2012-12-27 16:43:04 - starting HEAD tinderbox run for powerpc64/powerpc TB --- 2012-12-27 16:43:04 - cleaning the object tree TB --- 2012-12-27 16:43:04 - /usr/local/bin/svn stat /src TB --- 2012-12-27 16:43:07 - At svn revision 244738 TB --- 2012-12-27 16:43:08 - building world TB --- 2012-12-27 16:43:08 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 16:43:08 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 16:43:08 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 16:43:08 - SRCCONF=/dev/null TB --- 2012-12-27 16:43:08 - TARGET=powerpc TB --- 2012-12-27 16:43:08 - TARGET_ARCH=powerpc64 TB --- 2012-12-27 16:43:08 - TZ=UTC TB --- 2012-12-27 16:43:08 - __MAKE_CONF=/dev/null TB --- 2012-12-27 16:43:08 - cd /src TB --- 2012-12-27 16:43:08 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 16:43:12 UTC 2012 >>> 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 [...] cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/auth.c -o auth.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/expand_number.c -o expand_number.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/flopen.c -o flopen.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/fparseln.c -o fparseln.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/gr_util.c -o gr_util.o cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_add': /src/lib/libutil/gr_util.c:510: warning: cast discards qualifiers from pointer target type *** [gr_util.o] Error code 1 Stop in /src/lib/libutil. *** [lib/libutil__L] Error code 1 Stop in /src. *** [libraries] Error code 1 Stop in /src. *** [_libraries] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2012-12-27 17:08:26 - WARNING: /usr/bin/make returned exit code 1 TB --- 2012-12-27 17:08:26 - ERROR: failed to build world TB --- 2012-12-27 17:08:26 - 1208.80 user 199.14 system 1522.66 real http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-powerpc64-powerpc.full ___ 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 powerpc/powerpc
TB --- 2012-12-27 16:15:46 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 16:15:46 - 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 --- 2012-12-27 16:15:46 - starting HEAD tinderbox run for powerpc/powerpc TB --- 2012-12-27 16:15:46 - cleaning the object tree TB --- 2012-12-27 16:16:43 - /usr/local/bin/svn stat /src TB --- 2012-12-27 16:16:51 - At svn revision 244738 TB --- 2012-12-27 16:16:52 - building world TB --- 2012-12-27 16:16:52 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 16:16:52 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 16:16:52 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 16:16:52 - SRCCONF=/dev/null TB --- 2012-12-27 16:16:52 - TARGET=powerpc TB --- 2012-12-27 16:16:52 - TARGET_ARCH=powerpc TB --- 2012-12-27 16:16:52 - TZ=UTC TB --- 2012-12-27 16:16:52 - __MAKE_CONF=/dev/null TB --- 2012-12-27 16:16:52 - cd /src TB --- 2012-12-27 16:16:52 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 16:16:57 UTC 2012 >>> 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 [...] cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/auth.c -o auth.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/expand_number.c -o expand_number.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/flopen.c -o flopen.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/fparseln.c -o fparseln.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/gr_util.c -o gr_util.o cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_add': /src/lib/libutil/gr_util.c:510: warning: cast discards qualifiers from pointer target type *** [gr_util.o] Error code 1 Stop in /src/lib/libutil. *** [lib/libutil__L] Error code 1 Stop in /src. *** [libraries] Error code 1 Stop in /src. *** [_libraries] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2012-12-27 16:43:03 - WARNING: /usr/bin/make returned exit code 1 TB --- 2012-12-27 16:43:03 - ERROR: failed to build world TB --- 2012-12-27 16:43:03 - 1180.13 user 296.83 system 1637.03 real http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-powerpc-powerpc.full ___ 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
TB --- 2012-12-27 15:54:15 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 15:54:15 - 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 --- 2012-12-27 15:54:15 - starting HEAD tinderbox run for mips64/mips TB --- 2012-12-27 15:54:15 - cleaning the object tree TB --- 2012-12-27 15:54:15 - /usr/local/bin/svn stat /src TB --- 2012-12-27 15:54:18 - At svn revision 244738 TB --- 2012-12-27 15:54:19 - building world TB --- 2012-12-27 15:54:19 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 15:54:19 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 15:54:19 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 15:54:19 - SRCCONF=/dev/null TB --- 2012-12-27 15:54:19 - TARGET=mips TB --- 2012-12-27 15:54:19 - TARGET_ARCH=mips64 TB --- 2012-12-27 15:54:19 - TZ=UTC TB --- 2012-12-27 15:54:19 - __MAKE_CONF=/dev/null TB --- 2012-12-27 15:54:19 - cd /src TB --- 2012-12-27 15:54:19 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 15:54:23 UTC 2012 >>> 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 [...] cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/auth.c -o auth.o cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/expand_number.c -o expand_number.o cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/flopen.c -o flopen.o cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/fparseln.c -o fparseln.o cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/gr_util.c -o gr_util.o cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_add': /src/lib/libutil/gr_util.c:510: warning: cast discards qualifiers from pointer target type *** [gr_util.o] Error code 1 Stop in /src/lib/libutil. *** [lib/libutil__L] Error code 1 Stop in /src. *** [libraries] Error code 1 Stop in /src. *** [_libraries] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2012-12-27 16:15:46 - WARNING: /usr/bin/make returned exit code 1 TB --- 2012-12-27 16:15:46 - ERROR: failed to build world TB --- 2012-12-27 16:15:46 - 903.61 user 273.79 system 1291.31 real http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-mips64-mips.full ___ 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: clang 3.2 RC2 miscompiles libgcc?
On 12/27/12 09:07, Stefan Farfeleder wrote: > Hi, > > I noticed that most of my C++ applications in recent versions of FreeBSD > head suddenly crash without me recompiling them. I tracked it down to > r243830 which imported a new clang version. The new clang seems to > compile libgcc in a wrong or at least incompatible way with what gcc > expects. In fact, the breakage only occurs with libgcc compiled by a > post-r243830 clang and an application compiled with g++ -O2. For me, the > crash happens with boost::program_options, but I'm not sure if that is > necessary for the crash. I've seen what I think is the same thing due to a miscompilation of unwind-dw2.c that caused crashes related to cross-shared-object exception handling. It seems to have been fixed with the 3.2 release but I haven't tested it too thoroughly yet. -Nathan ___ 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 mips/mips
TB --- 2012-12-27 15:34:27 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 15:34:27 - 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 --- 2012-12-27 15:34:27 - starting HEAD tinderbox run for mips/mips TB --- 2012-12-27 15:34:27 - cleaning the object tree TB --- 2012-12-27 15:34:27 - /usr/local/bin/svn stat /src TB --- 2012-12-27 15:34:30 - At svn revision 244738 TB --- 2012-12-27 15:34:31 - building world TB --- 2012-12-27 15:34:31 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 15:34:31 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 15:34:31 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 15:34:31 - SRCCONF=/dev/null TB --- 2012-12-27 15:34:31 - TARGET=mips TB --- 2012-12-27 15:34:31 - TARGET_ARCH=mips TB --- 2012-12-27 15:34:31 - TZ=UTC TB --- 2012-12-27 15:34:31 - __MAKE_CONF=/dev/null TB --- 2012-12-27 15:34:31 - cd /src TB --- 2012-12-27 15:34:31 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 15:34:35 UTC 2012 >>> 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 [...] cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/auth.c -o auth.o cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/expand_number.c -o expand_number.o cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/flopen.c -o flopen.o cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/fparseln.c -o fparseln.o cc -O -pipe -G0 -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/gr_util.c -o gr_util.o cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_add': /src/lib/libutil/gr_util.c:510: warning: cast discards qualifiers from pointer target type *** [gr_util.o] Error code 1 Stop in /src/lib/libutil. *** [lib/libutil__L] Error code 1 Stop in /src. *** [libraries] Error code 1 Stop in /src. *** [_libraries] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2012-12-27 15:54:15 - WARNING: /usr/bin/make returned exit code 1 TB --- 2012-12-27 15:54:15 - ERROR: failed to build world TB --- 2012-12-27 15:54:15 - 907.60 user 176.40 system 1187.78 real http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-mips-mips.full ___ 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 ia64/ia64
TB --- 2012-12-27 15:10:35 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 15:10:35 - 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 --- 2012-12-27 15:10:35 - starting HEAD tinderbox run for ia64/ia64 TB --- 2012-12-27 15:10:35 - cleaning the object tree TB --- 2012-12-27 15:10:35 - /usr/local/bin/svn stat /src TB --- 2012-12-27 15:10:38 - At svn revision 244738 TB --- 2012-12-27 15:10:39 - building world TB --- 2012-12-27 15:10:39 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 15:10:39 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 15:10:39 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 15:10:39 - SRCCONF=/dev/null TB --- 2012-12-27 15:10:39 - TARGET=ia64 TB --- 2012-12-27 15:10:39 - TARGET_ARCH=ia64 TB --- 2012-12-27 15:10:39 - TZ=UTC TB --- 2012-12-27 15:10:39 - __MAKE_CONF=/dev/null TB --- 2012-12-27 15:10:39 - cd /src TB --- 2012-12-27 15:10:39 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 15:10:44 UTC 2012 >>> 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 [...] cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/auth.c -o auth.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/expand_number.c -o expand_number.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/flopen.c -o flopen.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/fparseln.c -o fparseln.o cc -O2 -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/gr_util.c -o gr_util.o cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_add': /src/lib/libutil/gr_util.c:510: warning: cast discards qualifiers from pointer target type *** [gr_util.o] Error code 1 Stop in /src/lib/libutil. *** [lib/libutil__L] Error code 1 Stop in /src. *** [libraries] Error code 1 Stop in /src. *** [_libraries] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2012-12-27 15:34:27 - WARNING: /usr/bin/make returned exit code 1 TB --- 2012-12-27 15:34:27 - ERROR: failed to build world TB --- 2012-12-27 15:34:27 - 1152.12 user 187.59 system 1431.23 real http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-ia64-ia64.full ___ 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 arm/arm
TB --- 2012-12-27 14:50:16 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 14:50:16 - 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 --- 2012-12-27 14:50:16 - starting HEAD tinderbox run for arm/arm TB --- 2012-12-27 14:50:16 - cleaning the object tree TB --- 2012-12-27 14:51:29 - /usr/local/bin/svn stat /src TB --- 2012-12-27 14:51:32 - At svn revision 244738 TB --- 2012-12-27 14:51:33 - building world TB --- 2012-12-27 14:51:33 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 14:51:33 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 14:51:33 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 14:51:33 - SRCCONF=/dev/null TB --- 2012-12-27 14:51:33 - TARGET=arm TB --- 2012-12-27 14:51:33 - TARGET_ARCH=arm TB --- 2012-12-27 14:51:33 - TZ=UTC TB --- 2012-12-27 14:51:33 - __MAKE_CONF=/dev/null TB --- 2012-12-27 14:51:33 - cd /src TB --- 2012-12-27 14:51:33 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 14:51:38 UTC 2012 >>> 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 [...] cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/auth.c -o auth.o cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/expand_number.c -o expand_number.o cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/flopen.c -o flopen.o cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/fparseln.c -o fparseln.o cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/gr_util.c -o gr_util.o cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_add': /src/lib/libutil/gr_util.c:510: warning: cast discards qualifiers from pointer target type *** [gr_util.o] Error code 1 Stop in /src/lib/libutil. *** [lib/libutil__L] Error code 1 Stop in /src. *** [libraries] Error code 1 Stop in /src. *** [_libraries] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2012-12-27 15:10:35 - WARNING: /usr/bin/make returned exit code 1 TB --- 2012-12-27 15:10:35 - ERROR: failed to build world TB --- 2012-12-27 15:10:35 - 862.34 user 195.46 system 1219.15 real http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-arm-arm.full ___ 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 armv6/arm
TB --- 2012-12-27 14:50:16 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 14:50:16 - 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 --- 2012-12-27 14:50:16 - starting HEAD tinderbox run for armv6/arm TB --- 2012-12-27 14:50:16 - cleaning the object tree TB --- 2012-12-27 14:50:16 - /usr/local/bin/svn stat /src TB --- 2012-12-27 14:50:20 - At svn revision 244738 TB --- 2012-12-27 14:50:21 - building world TB --- 2012-12-27 14:50:21 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 14:50:21 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 14:50:21 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 14:50:21 - SRCCONF=/dev/null TB --- 2012-12-27 14:50:21 - TARGET=arm TB --- 2012-12-27 14:50:21 - TARGET_ARCH=armv6 TB --- 2012-12-27 14:50:21 - TZ=UTC TB --- 2012-12-27 14:50:21 - __MAKE_CONF=/dev/null TB --- 2012-12-27 14:50:21 - cd /src TB --- 2012-12-27 14:50:21 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 14:50:25 UTC 2012 >>> 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 [...] cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/auth.c -o auth.o cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/expand_number.c -o expand_number.o cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/flopen.c -o flopen.o cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/fparseln.c -o fparseln.o cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /src/lib/libutil/gr_util.c -o gr_util.o cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_add': /src/lib/libutil/gr_util.c:510: warning: cast discards qualifiers from pointer target type *** [gr_util.o] Error code 1 Stop in /src/lib/libutil. *** [lib/libutil__L] Error code 1 Stop in /src. *** [libraries] Error code 1 Stop in /src. *** [_libraries] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2012-12-27 15:09:39 - WARNING: /usr/bin/make returned exit code 1 TB --- 2012-12-27 15:09:39 - ERROR: failed to build world TB --- 2012-12-27 15:09:39 - 869.53 user 186.73 system 1162.80 real http://tinderbox.freebsd.org/tinderbox-head-ss-build-HEAD-armv6-arm.full ___ 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"
clang 3.2 RC2 miscompiles libgcc?
Hi, I noticed that most of my C++ applications in recent versions of FreeBSD head suddenly crash without me recompiling them. I tracked it down to r243830 which imported a new clang version. The new clang seems to compile libgcc in a wrong or at least incompatible way with what gcc expects. In fact, the breakage only occurs with libgcc compiled by a post-r243830 clang and an application compiled with g++ -O2. For me, the crash happens with boost::program_options, but I'm not sure if that is necessary for the crash. $ cat po.cc #include int main(void) { namespace po = boost::program_options; const char *argv[] = { "a.out", "-x", 0 }; po::options_description options("Options"); options.add_options()("bla", ""); try { po::variables_map vm; po::store(po::parse_command_line(2, argv, options), vm); notify(vm); return 0; } catch (const std::exception &ex) { return 1; } } $ g++ -O2 -I /usr/local/include -L /usr/local/lib -lboost_program_options po.cc $ ./a.out zsh: segmentation fault (core dumped) ./a.out $ ldd ./a.out ./a.out: libboost_program_options.so => /usr/local/lib/libboost_program_options.so (0x800821000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x800a7e000) libm.so.5 => /lib/libm.so.5 (0x800d7c000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x800f9e000) libc.so.7 => /lib/libc.so.7 (0x8011ab000) libthr.so.3 => /lib/libthr.so.3 (0x801523000) $ ls /usr/home/stefan/scratch/r243829 libgcc_s.so.1 $ LD_LIBRARY_PATH=/usr/home/stefan/scratch/r243829 ./a.out $ valgrind ./a.out ==47491== Memcheck, a memory error detector ==47491== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==47491== Using Valgrind-3.8.0 and LibVEX; rerun with -h for copyright info ==47491== Command: ./a.out ==47491== ==47491== Invalid read of size 8 ==47491==at 0x405DAA: boost::program_options::basic_parsed_options boost::program_options::parse_command_line(int, char const* const*, boost::program_options::options_description const&, int, boost::function1, std::string const&>) (in /usr/home/stefan/scratch/a.out) ==47491==by 0x401E7D: main (in /usr/home/stefan/scratch/a.out) ==47491== Address 0x2800ef8 is 24 bytes inside a block of size 27 alloc'd ==47491==at 0x1009FB6: malloc (in /usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so) ==47491==by 0x213F95A: operator new(unsigned long) (in /usr/lib/libsupc++.so.1) ==47491==by 0x14F08D2: ??? (in /usr/lib/libstdc++.so.6) ==47491==by 0x14EDCFD: std::basic_string, std::allocator >::basic_string(std::string const&, unsigned long, unsigned long) (in /usr/lib/libstdc++.so.6) ==47491==by 0x1234B12: boost::program_options::detail::cmdline::parse_short_option(std::vector >&) (in /usr/local/lib/libboost_program_options.so.4) ==47491==by 0x123843A: boost::detail::function::function_obj_invoker1, std::allocator > >, boost::_mfi::mf1, std::allocator > >, boost::program_options::detail::cmdline, std::vector >&>, boost::_bi::list2, boost::arg<1> > >, std::vector, std::allocator > >, std::vector >&>::invoke(boost::detail::function::function_buffer&, std::vector >&) (in /usr/local/lib/libboost_program_options.so.4) ==47491==by 0x12367C1: boost::program_options::detail::cmdline::run() (in /usr/local/lib/libboost_program_options.so.4) ==47491==by 0x4051D5: boost::program_options::basic_command_line_parser::run() (in /usr/home/stefan/scratch/a.out) ==47491==by 0x405B7A: boost::program_options::basic_parsed_options boost::program_options::parse_command_line(int, char const* const*, boost::program_options::options_description const&, int, boost::function1, std::string const&>) (in /usr/home/stefan/scratch/a.out) ==47491==by 0x401E7D: main (in /usr/home/stefan/scratch/a.out) ==47491== ==47491== Jump to the invalid address stated on the next line ==47491==at 0x782D: ??? ==47491==by 0x405DBF: boost::program_options::basic_parsed_options boost::program_options::parse_command_line(int, char const* const*, boost::program_options::options_description const&, int, boost::function1, std::string const&>) (in /usr/home/stefan/scratch/a.out) ==47491==by 0x401E7D: main (in /usr/home/stefan/scratch/a.out) ==47491== Address 0x782d is not stack'd, malloc'd or (recently) free'd ==47491== ==47491== ==47491== Process terminating with default action of signal 11 (SIGSEGV): dumping core ==47491== Bad permissions for mapped region at address 0x782D ==47491==at 0x782D: ??? ==47491==by 0x405DBF: boost::program_options::basic_parsed_options boost::program_options::parse_command_line(int, char const* const*, boost::program_options::options_description const&, int, boost::function1, std::string const&>) (in /usr/home/stefan/scratch/a.out) ==47491==by 0x401E7D: main (in /usr/home/stefan/scratch/a.out) ==47491== ==47491== HEAP SUMMARY: ==47491== in use at exit: 2,298 bytes in 24 blocks
Re: [RFC] proposed 'lem' patch to improve behaviour under emulation
On Thu, Dec 27, 2012 at 02:26:44AM -0800, Garrett Cooper wrote: > On Thu, Dec 27, 2012 at 1:46 AM, Luigi Rizzo wrote: > > This patch implements two features for the 'lem' driver that > > greatly improve the throughput under proper hypervisor. > > This is joint work with Vincenzo Maffione and Giuseppe Lettieri, > > I am posting it here for review, will then commit it > > if there are no objections. > > > > The first change is to implement a sysctl to access the 'itr' > > interrupt moderation register for the devices supported by this > > driver. It is little more than adding a struct into the device > > descriptor, and one line to create the dynamic sysctl entry, same > > as it is done for the other mitigation registers. > > > > The second change is more interesting and has huge benefits on througput. > > > > Under virtualization, "VM exits" (which happen every time there is > > an access to a register of the emulated peripheral) are extremely > > expensive. In the tx path of the 'lem' driver, there is a write > > to the TDT register on every packet sent. > > > > The patch we propose, if enabled through a sysctl (defaults off, > > so no change from current behaviour) defers writes to the TDT > > register when there is a pending transmit interrupt. > > This means that, together with proper emulation of interrupt > > mitigation on the hypervisor side, the number of VM exits > > is dramatically reduced. To give you an idea, on a modern > > system with qemu-kvm and companion patches, UDP throughput is > > > > KVM QEMU > > standard KVM, standard driver20 Kpps 6.3 Kpps > > modified KVM, standard driver37 Kpps28 Kpps > > modified KVM, modified driver 200 Kpps34 Kpps > > > > As you can see, on kvm this change gives a 5x speedup to the tx path, > > which combines nicely with the 2x speedup that comes from supporting > > interrupt mitigation alone in the hypervisor. Without kvm (or kqemu ?) > > the benefits are much lower, as the guest becomes too slow. > > > > Patch follows. It would be good if people with real hardware > > using the 'lem' driver could test it to make sure it does no > > harm on their devices (in any case the sysctl variable > > dev.em.0.mit_enable must be set to explicitly enable it > > at runtime). > > > > (for those curious to test it under kvm, i am also attaching a > > patch that you need to apply to qemu in order to exploit the > > effect of interrupt mitigation; it is a followup of a similar > > patch i posted in july to the qemu mailing list, and i will > > post it the update there as well, shortly. Unfortunately > > we do not have kvm on freebsd..) > > A few comments. > Thanks! > -Garrett > > Index: if_lem.c > === > --- if_lem.c (revision 244673) > +++ if_lem.c (working copy) > @@ -32,6 +32,8 @@ > > **/ > /*$FreeBSD$*/ > > +#define MITIGATION > + > > gcooper> Could you please make MITIGATION into a proper compile time > flag via sys/conf/options with a more descript name? this is actually going away, with the code compiled in by default ... > @@ -281,6 +283,9 @@ > #define EM_TICKS_TO_USECS(ticks) ((1024 * (ticks) + 500) / 1000) > #define EM_USECS_TO_TICKS(usecs) ((1000 * (usecs) + 512) / 1024) > > +#define MAX_INTS_PER_SEC 8000 > +#define DEFAULT_ITR 10/(MAX_INTS_PER_SEC * 256) > + > > gcooper> Add parentheses around DEFAULT_ITR (I know the code was just > shuffled around, but thought I could ask :)..)? will do thanks luigi ___ 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 powerpc/powerpc
TB --- 2012-12-27 11:13:58 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2012-12-27 11:13:58 - 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 --- 2012-12-27 11:13:58 - starting HEAD tinderbox run for powerpc/powerpc TB --- 2012-12-27 11:13:58 - cleaning the object tree TB --- 2012-12-27 11:15:38 - /usr/local/bin/svn stat /src TB --- 2012-12-27 11:16:30 - At svn revision 244726 TB --- 2012-12-27 11:16:31 - building world TB --- 2012-12-27 11:16:31 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 11:16:31 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 11:16:31 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 11:16:31 - SRCCONF=/dev/null TB --- 2012-12-27 11:16:31 - TARGET=powerpc TB --- 2012-12-27 11:16:31 - TARGET_ARCH=powerpc TB --- 2012-12-27 11:16:31 - TZ=UTC TB --- 2012-12-27 11:16:31 - __MAKE_CONF=/dev/null TB --- 2012-12-27 11:16:31 - cd /src TB --- 2012-12-27 11:16:31 - /usr/bin/make -B buildworld >>> Building an up-to-date make(1) >>> World build started on Thu Dec 27 11:16:36 UTC 2012 >>> 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 >>> World build completed on Thu Dec 27 13:36:15 UTC 2012 TB --- 2012-12-27 13:36:15 - generating LINT kernel config TB --- 2012-12-27 13:36:15 - cd /src/sys/powerpc/conf TB --- 2012-12-27 13:36:15 - /usr/bin/make -B LINT TB --- 2012-12-27 13:36:15 - cd /src/sys/powerpc/conf TB --- 2012-12-27 13:36:15 - /usr/sbin/config -m LINT TB --- 2012-12-27 13:36:15 - building LINT kernel TB --- 2012-12-27 13:36:15 - CROSS_BUILD_TESTING=YES TB --- 2012-12-27 13:36:15 - MAKEOBJDIRPREFIX=/obj TB --- 2012-12-27 13:36:15 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-12-27 13:36:15 - SRCCONF=/dev/null TB --- 2012-12-27 13:36:15 - TARGET=powerpc TB --- 2012-12-27 13:36:15 - TARGET_ARCH=powerpc TB --- 2012-12-27 13:36:15 - TZ=UTC TB --- 2012-12-27 13:36:15 - __MAKE_CONF=/dev/null TB --- 2012-12-27 13:36:15 - cd /src TB --- 2012-12-27 13:36:15 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Thu Dec 27 13:36:15 UTC 2012 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O -pipe -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/powerpc/aim/nexus.c cc -c -x assembler-with-cpp -DLOCORE -O -pipe -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/powerpc/aim/swtch32.S cc -c -O -pipe -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many -fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding -fstack-protector -Werror /src/sys/powerpc/aim/trap.c cc1: warnings being treated as errors In file included from /src/sys/powerpc/aim/trap.c:506: /src/sys/powerpc/aim/../../kern/subr_syscall.c: In function 'syscallenter': /src/sys/powerpc/aim/../../kern/subr_syscall.c:80: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] /src/sys
Re: [RFC] proposed 'lem' patch to improve behaviour under emulation
On Thu, Dec 27, 2012 at 1:46 AM, Luigi Rizzo wrote: > This patch implements two features for the 'lem' driver that > greatly improve the throughput under proper hypervisor. > This is joint work with Vincenzo Maffione and Giuseppe Lettieri, > I am posting it here for review, will then commit it > if there are no objections. > > The first change is to implement a sysctl to access the 'itr' > interrupt moderation register for the devices supported by this > driver. It is little more than adding a struct into the device > descriptor, and one line to create the dynamic sysctl entry, same > as it is done for the other mitigation registers. > > The second change is more interesting and has huge benefits on througput. > > Under virtualization, "VM exits" (which happen every time there is > an access to a register of the emulated peripheral) are extremely > expensive. In the tx path of the 'lem' driver, there is a write > to the TDT register on every packet sent. > > The patch we propose, if enabled through a sysctl (defaults off, > so no change from current behaviour) defers writes to the TDT > register when there is a pending transmit interrupt. > This means that, together with proper emulation of interrupt > mitigation on the hypervisor side, the number of VM exits > is dramatically reduced. To give you an idea, on a modern > system with qemu-kvm and companion patches, UDP throughput is > > KVM QEMU > standard KVM, standard driver20 Kpps 6.3 Kpps > modified KVM, standard driver37 Kpps28 Kpps > modified KVM, modified driver 200 Kpps34 Kpps > > As you can see, on kvm this change gives a 5x speedup to the tx path, > which combines nicely with the 2x speedup that comes from supporting > interrupt mitigation alone in the hypervisor. Without kvm (or kqemu ?) > the benefits are much lower, as the guest becomes too slow. > > Patch follows. It would be good if people with real hardware > using the 'lem' driver could test it to make sure it does no > harm on their devices (in any case the sysctl variable > dev.em.0.mit_enable must be set to explicitly enable it > at runtime). > > (for those curious to test it under kvm, i am also attaching a > patch that you need to apply to qemu in order to exploit the > effect of interrupt mitigation; it is a followup of a similar > patch i posted in july to the qemu mailing list, and i will > post it the update there as well, shortly. Unfortunately > we do not have kvm on freebsd..) A few comments. Thanks! -Garrett Index: if_lem.c === --- if_lem.c(revision 244673) +++ if_lem.c(working copy) @@ -32,6 +32,8 @@ **/ /*$FreeBSD$*/ +#define MITIGATION + gcooper> Could you please make MITIGATION into a proper compile time flag via sys/conf/options with a more descript name? #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" #include "opt_inet.h" @@ -281,6 +283,9 @@ #define EM_TICKS_TO_USECS(ticks) ((1024 * (ticks) + 500) / 1000) #define EM_USECS_TO_TICKS(usecs) ((1000 * (usecs) + 512) / 1024) +#define MAX_INTS_PER_SEC 8000 +#define DEFAULT_ITR 10/(MAX_INTS_PER_SEC * 256) + gcooper> Add parentheses around DEFAULT_ITR (I know the code was just shuffled around, but thought I could ask :)..)? ___ 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"
[RFC] proposed 'lem' patch to improve behaviour under emulation
This patch implements two features for the 'lem' driver that greatly improve the throughput under proper hypervisor. This is joint work with Vincenzo Maffione and Giuseppe Lettieri, I am posting it here for review, will then commit it if there are no objections. The first change is to implement a sysctl to access the 'itr' interrupt moderation register for the devices supported by this driver. It is little more than adding a struct into the device descriptor, and one line to create the dynamic sysctl entry, same as it is done for the other mitigation registers. The second change is more interesting and has huge benefits on througput. Under virtualization, "VM exits" (which happen every time there is an access to a register of the emulated peripheral) are extremely expensive. In the tx path of the 'lem' driver, there is a write to the TDT register on every packet sent. The patch we propose, if enabled through a sysctl (defaults off, so no change from current behaviour) defers writes to the TDT register when there is a pending transmit interrupt. This means that, together with proper emulation of interrupt mitigation on the hypervisor side, the number of VM exits is dramatically reduced. To give you an idea, on a modern system with qemu-kvm and companion patches, UDP throughput is KVM QEMU standard KVM, standard driver20 Kpps 6.3 Kpps modified KVM, standard driver37 Kpps28 Kpps modified KVM, modified driver 200 Kpps34 Kpps As you can see, on kvm this change gives a 5x speedup to the tx path, which combines nicely with the 2x speedup that comes from supporting interrupt mitigation alone in the hypervisor. Without kvm (or kqemu ?) the benefits are much lower, as the guest becomes too slow. Patch follows. It would be good if people with real hardware using the 'lem' driver could test it to make sure it does no harm on their devices (in any case the sysctl variable dev.em.0.mit_enable must be set to explicitly enable it at runtime). (for those curious to test it under kvm, i am also attaching a patch that you need to apply to qemu in order to exploit the effect of interrupt mitigation; it is a followup of a similar patch i posted in july to the qemu mailing list, and i will post it the update there as well, shortly. Unfortunately we do not have kvm on freebsd..) cheers luigi Index: if_lem.c === --- if_lem.c (revision 244673) +++ if_lem.c (working copy) @@ -32,6 +32,8 @@ **/ /*$FreeBSD$*/ +#define MITIGATION + #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" #include "opt_inet.h" @@ -281,6 +283,9 @@ #define EM_TICKS_TO_USECS(ticks) ((1024 * (ticks) + 500) / 1000) #define EM_USECS_TO_TICKS(usecs) ((1000 * (usecs) + 512) / 1024) +#define MAX_INTS_PER_SEC 8000 +#define DEFAULT_ITR 10/(MAX_INTS_PER_SEC * 256) + static int lem_tx_int_delay_dflt = EM_TICKS_TO_USECS(EM_TIDV); static int lem_rx_int_delay_dflt = EM_TICKS_TO_USECS(EM_RDTR); static int lem_tx_abs_int_delay_dflt = EM_TICKS_TO_USECS(EM_TADV); @@ -442,6 +447,11 @@ &adapter->tx_abs_int_delay, E1000_REGISTER(&adapter->hw, E1000_TADV), lem_tx_abs_int_delay_dflt); + lem_add_int_delay_sysctl(adapter, "itr", + "interrupt delay limit in usecs/4", + &adapter->tx_itr, + E1000_REGISTER(&adapter->hw, E1000_ITR), + DEFAULT_ITR); } /* Sysctls for limiting the amount of work done in the taskqueue */ @@ -449,6 +459,12 @@ "max number of rx packets to process", &adapter->rx_process_limit, lem_rx_process_limit); +#ifdef MITIGATION + /* Sysctls to control mitigation */ + lem_add_rx_process_limit(adapter, "mit_enable", + "driver TDT mitigation", &adapter->mit_enable, 0); +#endif /* MITIGATION */ + /* Sysctl for setting the interface flow control */ lem_set_flow_cntrl(adapter, "flow_control", "flow control setting", @@ -1702,6 +1718,17 @@ */ bus_dmamap_sync(adapter->txdma.dma_tag, adapter->txdma.dma_map, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); +#ifdef MITIGATION + if (adapter->mit_enable) { + if (adapter->shadow_tdt & MIT_PENDING_INT) { + /* signal intr and data pending */ + adapter->shadow_tdt = MIT_PENDING_TDT | (i & 0x); + return (0); + } else { + adapter->shadow_tdt = MIT_PENDING_INT; + } + } +#endif /* MITIGATION */ if (adapter->hw.mac.type == e1000_82547 && adapter->link_duplex == HALF_DUPLEX) lem_82547_move_tail(adapter); @@ -3027,6 +3054,16 @@ adapter->next_tx_to_clean = first; adapter->num_tx_desc_avail = num_avail; +#ifdef MITIGATION + if ((adapter->shadow_tdt & MIT_PENDING_TDT) == MIT_PENDING_TDT) { + /* a tdt write is pending, do it */ + E1000_WRITE_REG(&adapter->hw, E1000_TDT(0), + 0x & adapter->shadow_tdt); +