svn commit: r282853 - in stable/10: etc/mtree tests/sys tests/sys/vm tools/regression/mmap
Author: ngie Date: Wed May 13 11:12:06 2015 New Revision: 282853 URL: https://svnweb.freebsd.org/changeset/base/282853 Log: MFC r282076,r282104: r282076: Integrate tools/regression/mmap into the FreeBSD test suite as tests/sys/kern/mmap_test r282104: Move tests/sys/kern/mmap_test to tests/sys/vm/mmap_test As jhb noted, the actual mmap(2) implementation is under sys/vm, not sys/kern/, so the correct logical place is tests/sys/vm/, not tests/sys/kern/ Added: stable/10/tests/sys/vm/ - copied from r282104, head/tests/sys/vm/ Deleted: stable/10/tools/regression/mmap/ Modified: stable/10/etc/mtree/BSD.tests.dist stable/10/tests/sys/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/etc/mtree/BSD.tests.dist == --- stable/10/etc/mtree/BSD.tests.dist Wed May 13 11:07:40 2015 (r282852) +++ stable/10/etc/mtree/BSD.tests.dist Wed May 13 11:12:06 2015 (r282853) @@ -220,6 +220,8 @@ unlink .. .. +vm +.. .. usr.bin apply Modified: stable/10/tests/sys/Makefile == --- stable/10/tests/sys/MakefileWed May 13 11:07:40 2015 (r282852) +++ stable/10/tests/sys/MakefileWed May 13 11:12:06 2015 (r282853) @@ -9,6 +9,7 @@ TESTS_SUBDIRS+= file TESTS_SUBDIRS+=kern TESTS_SUBDIRS+=kqueue TESTS_SUBDIRS+=netinet +TESTS_SUBDIRS+=vm # Items not integrated into kyua runs by default SUBDIR+= pjdfstest ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282837 - stable/10/tools/regression/gaithrstress
Author: ngie Date: Wed May 13 10:15:26 2015 New Revision: 282837 URL: https://svnweb.freebsd.org/changeset/base/282837 Log: MFC r282062: Fix -Wformat warnings by using proper format string qualifiers for long and unsigned[ long] types Modified: stable/10/tools/regression/gaithrstress/gaithrstress.c Directory Properties: stable/10/ (props changed) Modified: stable/10/tools/regression/gaithrstress/gaithrstress.c == --- stable/10/tools/regression/gaithrstress/gaithrstress.c Wed May 13 10:12:16 2015(r282836) +++ stable/10/tools/regression/gaithrstress/gaithrstress.c Wed May 13 10:15:26 2015(r282837) @@ -230,7 +230,7 @@ usage: err(1, reading word file %s, wordfile); if (nrandwords 1) errx(1, word file %s did not have 0 words, wordfile); - printf(Read %u random words from %s.\n, nrandwords, wordfile); + printf(Read %zu random words from %s.\n, nrandwords, wordfile); workers = calloc(nworkers, sizeof(*workers)); if (workers == NULL) err(1, allocating workers); @@ -242,8 +242,8 @@ usage: for (i = 0; i nworkers; i++) { if (pthread_create(workers[i].w_thread, NULL, work, workers[i]) != 0) - err(1, creating worker %u, i); - printf(%u%s, i, i == nworkers - 1 ? .\n : , ); + err(1, creating worker %zu, i); + printf(%zu%s, i, i == nworkers - 1 ? .\n : , ); fflush(stdout); } @@ -255,7 +255,7 @@ usage: fflush(stdout); for (i = 0; i nworkers; i++) { pthread_join(workers[i].w_thread, NULL); - printf(%u%s, i, i == nworkers - 1 ? .\n : , ); + printf(%zu%s, i, i == nworkers - 1 ? .\n : , ); fflush(stdout); } @@ -264,7 +264,7 @@ usage: printf(%-10s%-20s%-20s%-29s\n, --, --, --, ---); for (i = 0; i nworkers; i++) { - printf(%-10u%-20ju%-20ju%u:%s%.2f\n, i, + printf(%-10zu%-20ju%-20ju%ld:%s%.2f\n, i, workers[i].w_lookup_success, workers[i].w_lookup_failure, workers[i].w_max_lookup_time.tv_sec / 60, workers[i].w_max_lookup_time.tv_sec % 60 10 ? 0 : , ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282841 - in stable/10: etc/mtree tests/sys tests/sys/kqueue tools/regression/kqueue
Author: ngie Date: Wed May 13 10:21:13 2015 New Revision: 282841 URL: https://svnweb.freebsd.org/changeset/base/282841 Log: MFC r282063: Integrate tools/regression/kqueue into the FreeBSD test suite as tests/sys/kqueue Added: stable/10/tests/sys/kqueue/ - copied from r282063, head/tests/sys/kqueue/ Deleted: stable/10/tools/regression/kqueue/ Modified: stable/10/etc/mtree/BSD.tests.dist stable/10/tests/sys/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/etc/mtree/BSD.tests.dist == --- stable/10/etc/mtree/BSD.tests.dist Wed May 13 10:21:00 2015 (r282840) +++ stable/10/etc/mtree/BSD.tests.dist Wed May 13 10:21:13 2015 (r282841) @@ -180,6 +180,8 @@ sys kern .. +kqueue +.. netinet .. pjdfstest Modified: stable/10/tests/sys/Makefile == --- stable/10/tests/sys/MakefileWed May 13 10:21:00 2015 (r282840) +++ stable/10/tests/sys/MakefileWed May 13 10:21:13 2015 (r282841) @@ -5,6 +5,7 @@ TESTSDIR= ${TESTSBASE}/sys TESTS_SUBDIRS+=kern +TESTS_SUBDIRS+=kqueue TESTS_SUBDIRS+=netinet # Items not integrated into kyua runs by default ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282854 - in stable/10/lib: libc librt libthr msun msun/tests
Author: ngie Date: Wed May 13 11:32:55 2015 New Revision: 282854 URL: https://svnweb.freebsd.org/changeset/base/282854 Log: MFC r282057,r282092,r282106: r282057: Build/install libc, librt, libthr, and msun NetBSD test suites on all architectures r282092 (by andrew): Correct the spelling of MACHINE_CPUARCH, MACHINE_CPU is not set on arm64. r282106: Remove per-architecture checks for enabling HAVE_FENV_H The conditional came from NetBSD, where only select architectures have this header/support All architectures on FreeBSD have the necessary support though, so the conditional's completely unnecessary make tinderbox done on all architectures (including arm64, where the issue occurred before) this time Deleted: stable/10/lib/libc/Makefile.amd64 stable/10/lib/libc/Makefile.i386 stable/10/lib/librt/Makefile.amd64 stable/10/lib/librt/Makefile.i386 stable/10/lib/libthr/Makefile.amd64 stable/10/lib/libthr/Makefile.i386 stable/10/lib/msun/Makefile.amd64 stable/10/lib/msun/Makefile.i386 Modified: stable/10/lib/libc/Makefile stable/10/lib/librt/Makefile stable/10/lib/libthr/Makefile stable/10/lib/msun/Makefile stable/10/lib/msun/tests/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/Makefile == --- stable/10/lib/libc/Makefile Wed May 13 11:12:06 2015(r282853) +++ stable/10/lib/libc/Makefile Wed May 13 11:32:55 2015(r282854) @@ -160,7 +160,9 @@ libkern.${LIBC_ARCH}:: ${KMSRCS} CFLAGS+=-DSYSCALL_COMPAT .endif -.include bsd.arch.inc.mk +.if ${MK_TESTS} != no +SUBDIR+= tests +.endif .include bsd.lib.mk Modified: stable/10/lib/librt/Makefile == --- stable/10/lib/librt/MakefileWed May 13 11:12:06 2015 (r282853) +++ stable/10/lib/librt/MakefileWed May 13 11:32:55 2015 (r282854) @@ -20,6 +20,8 @@ PRECIOUSLIB= VERSION_MAP= ${.CURDIR}/Version.map -.include bsd.arch.inc.mk +.if ${MK_TESTS} != no +SUBDIR+= tests +.endif .include bsd.lib.mk Modified: stable/10/lib/libthr/Makefile == --- stable/10/lib/libthr/Makefile Wed May 13 11:12:06 2015 (r282853) +++ stable/10/lib/libthr/Makefile Wed May 13 11:32:55 2015 (r282854) @@ -63,6 +63,8 @@ SYMLINKS+=lib${LIB}_p.a ${LIBDIR}/libpth CFLAGS+=-DSYSCALL_COMPAT .endif -.include bsd.arch.inc.mk +.if ${MK_TESTS} != no +SUBDIR+= tests +.endif .include bsd.lib.mk Modified: stable/10/lib/msun/Makefile == --- stable/10/lib/msun/Makefile Wed May 13 11:12:06 2015(r282853) +++ stable/10/lib/msun/Makefile Wed May 13 11:32:55 2015(r282854) @@ -219,6 +219,8 @@ MLINKS+=trunc.3 truncf.3 trunc.3 truncl. .include bsd.own.mk -.include bsd.arch.inc.mk +.if ${MK_TESTS} != no +SUBDIR+= tests +.endif .include bsd.lib.mk Modified: stable/10/lib/msun/tests/Makefile == --- stable/10/lib/msun/tests/Makefile Wed May 13 11:12:06 2015 (r282853) +++ stable/10/lib/msun/tests/Makefile Wed May 13 11:32:55 2015 (r282854) @@ -6,11 +6,8 @@ TESTSRC= ${SRCTOP}/contrib/netbsd-tests/ TESTSDIR= ${TESTSBASE}/lib/msun -.if ${MACHINE} == sparc || ${MACHINE} == i386 \ - || ${MACHINE} == amd64 || ${MACHINE_CPU} == arm \ - || ${MACHINE} == sparc64 +# All architectures on FreeBSD have fenv.h CFLAGS+= -DHAVE_FENV_H -.endif .if ${MACHINE} == amd64 || ${MACHINE} == i386 CFLAGS+= -D__HAVE_LONG_DOUBLE ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282839 - stable/10/usr.sbin/bhyve
Author: mav Date: Wed May 13 10:18:44 2015 New Revision: 282839 URL: https://svnweb.freebsd.org/changeset/base/282839 Log: MFC r281764, r282563: Disable RX/TX queues notifications when not needed. This reduces CPU load and doubles iperf throughput, reaching 2-3Gbit/s. Sponsored by: iXsystems, Inc. Modified: stable/10/usr.sbin/bhyve/pci_virtio_net.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/bhyve/pci_virtio_net.c == --- stable/10/usr.sbin/bhyve/pci_virtio_net.c Wed May 13 10:17:34 2015 (r282838) +++ stable/10/usr.sbin/bhyve/pci_virtio_net.c Wed May 13 10:18:44 2015 (r282839) @@ -34,6 +34,7 @@ __FBSDID($FreeBSD$); #include sys/select.h #include sys/uio.h #include sys/ioctl.h +#include machine/atomic.h #include net/ethernet.h #include errno.h @@ -393,6 +394,7 @@ pci_vtnet_ping_rxq(void *vsc, struct vqu */ if (sc-vsc_rx_ready == 0) { sc-vsc_rx_ready = 1; + vq-vq_used-vu_flags |= VRING_USED_F_NO_NOTIFY; } } @@ -438,6 +440,7 @@ pci_vtnet_ping_txq(void *vsc, struct vqu /* Signal the tx thread for processing */ pthread_mutex_lock(sc-tx_mtx); + vq-vq_used-vu_flags |= VRING_USED_F_NO_NOTIFY; if (sc-tx_in_progress == 0) pthread_cond_signal(sc-tx_cond); pthread_mutex_unlock(sc-tx_mtx); @@ -451,7 +454,7 @@ pci_vtnet_tx_thread(void *param) { struct pci_vtnet_softc *sc = param; struct vqueue_info *vq; - int have_work, error; + int error; vq = sc-vsc_queues[VTNET_TXQ]; @@ -465,19 +468,17 @@ pci_vtnet_tx_thread(void *param) for (;;) { /* note - tx mutex is locked here */ - do { - if (sc-resetting) - have_work = 0; - else - have_work = vq_has_descs(vq); - - if (!have_work) { - sc-tx_in_progress = 0; - error = pthread_cond_wait(sc-tx_cond, - sc-tx_mtx); - assert(error == 0); - } - } while (!have_work); + while (sc-resetting || !vq_has_descs(vq)) { + vq-vq_used-vu_flags = ~VRING_USED_F_NO_NOTIFY; + mb(); + if (!sc-resetting vq_has_descs(vq)) + break; + + sc-tx_in_progress = 0; + error = pthread_cond_wait(sc-tx_cond, sc-tx_mtx); + assert(error == 0); + } + vq-vq_used-vu_flags |= VRING_USED_F_NO_NOTIFY; sc-tx_in_progress = 1; pthread_mutex_unlock(sc-tx_mtx); ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282844 - stable/10/usr.sbin/bhyve
Author: mav Date: Wed May 13 10:29:45 2015 New Revision: 282844 URL: https://svnweb.freebsd.org/changeset/base/282844 Log: MFC r282344: Handle ATA_SEND_FPDMA_QUEUED as NCQ in ahci_port_stop(). Modified: stable/10/usr.sbin/bhyve/pci_ahci.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/bhyve/pci_ahci.c == --- stable/10/usr.sbin/bhyve/pci_ahci.c Wed May 13 10:29:02 2015 (r282843) +++ stable/10/usr.sbin/bhyve/pci_ahci.c Wed May 13 10:29:45 2015 (r282844) @@ -418,7 +418,8 @@ ahci_port_stop(struct ahci_port *p) slot = aior-slot; cfis = aior-cfis; if (cfis[2] == ATA_WRITE_FPDMA_QUEUED || - cfis[2] == ATA_READ_FPDMA_QUEUED) + cfis[2] == ATA_READ_FPDMA_QUEUED || + cfis[2] == ATA_SEND_FPDMA_QUEUED) ncq = 1; if (ncq) ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282849 - stable/10/contrib/netbsd-tests/lib/libpthread
Author: ngie Date: Wed May 13 10:56:35 2015 New Revision: 282849 URL: https://svnweb.freebsd.org/changeset/base/282849 Log: MFC r281966: Add #include sys/types.h for register_t for mips Modified: stable/10/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c == --- stable/10/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c Wed May 13 10:53:16 2015(r282848) +++ stable/10/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c Wed May 13 10:56:35 2015(r282849) @@ -28,6 +28,9 @@ #include sys/cdefs.h __RCSID($NetBSD); +#ifdef __FreeBSD__ +#include sys/types.h +#endif #include pthread.h #include ucontext.h #include stdio.h ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282850 - stable/10/tests/sys/kern
Author: ngie Date: Wed May 13 11:01:48 2015 New Revision: 282850 URL: https://svnweb.freebsd.org/changeset/base/282850 Log: MFC r262526,r262730: r262526 (by pho): Added a regression test for r234131. Discussed with:asomers Sponsored by: EMC / Isilon storage division r262730 (by pho): Changed name of test case to a more descriptive one and moved comment to the descr property. Suggested by: jmmv Sponsored by: EMC / Isilon storage division Added: stable/10/tests/sys/kern/kern_descrip_test.c - copied, changed from r262526, head/tests/sys/kern/kern_descrip_test.c Modified: stable/10/tests/sys/kern/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/tests/sys/kern/Makefile == --- stable/10/tests/sys/kern/Makefile Wed May 13 10:56:35 2015 (r282849) +++ stable/10/tests/sys/kern/Makefile Wed May 13 11:01:48 2015 (r282850) @@ -2,7 +2,8 @@ TESTSDIR= ${TESTSBASE}/sys/kern -ATF_TESTS_C= unix_seqpacket_test +ATF_TESTS_C+= kern_descrip_test +ATF_TESTS_C+= unix_seqpacket_test TEST_METADATA.unix_seqpacket_test+=timeout=15 LDADD.unix_seqpacket_test+=-lpthread Copied and modified: stable/10/tests/sys/kern/kern_descrip_test.c (from r262526, head/tests/sys/kern/kern_descrip_test.c) == --- head/tests/sys/kern/kern_descrip_test.c Wed Feb 26 09:08:25 2014 (r262526, copy source) +++ stable/10/tests/sys/kern/kern_descrip_test.cWed May 13 11:01:48 2015(r282850) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2013 EMC Corp. + * Copyright (c) 2014 EMC Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -52,14 +52,12 @@ ATF_TC_BODY(dup2_simple, tc) ATF_REQUIRE(bcmp(sb1, sb2, sizeof(sb1)) == 0); } -/* - Regression test for r234131: - Return EBADF instead of EMFILE from dup2 when the second argument is - outside the range of valid file descriptors - */ - -ATF_TC_WITHOUT_HEAD(dup2_r234131); -ATF_TC_BODY(dup2_r234131, tc) +ATF_TC(dup2__ebadf_when_2nd_arg_out_of_range); +ATF_TC_HEAD(dup2__ebadf_when_2nd_arg_out_of_range, tc) +{ + atf_tc_set_md_var(tc, descr, Regression test for r234131); +} +ATF_TC_BODY(dup2__ebadf_when_2nd_arg_out_of_range, tc) { int fd1, fd2, ret; @@ -74,7 +72,7 @@ ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, dup2_simple); -ATF_TP_ADD_TC(tp, dup2_r234131); +ATF_TP_ADD_TC(tp, dup2__ebadf_when_2nd_arg_out_of_range); return atf_no_error(); } ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282848 - stable/10
Author: ngie Date: Wed May 13 10:53:16 2015 New Revision: 282848 URL: https://svnweb.freebsd.org/changeset/base/282848 Log: MFC r281618,r281823: r281618: Defeat race with MK_KERBEROS == yes introduced with bootstrap-tools parallelization work done in r279197 - kerberos5/lib/libroken requires kerberos5/tools/make-roken to build - kerberos5/tools/asn1_compile, kerberos5/tools/slc, and usr.bin/compile_et require kerberos5/lib/libroken and kerberos5/lib/libvers This race is incredibly evident when cross-building sparc64 on ref10-amd64.freebsd.org Pointyhat to: ngie r281823: Serialize all of _kerberos5_bootstrap_tools to avoid build failures involving make bootstrap-tools On the plus side, this also greatly reduces complexity Pointyhat to: ngie Reported by: Willem Jan Withagen w...@digiware.nl Modified: stable/10/Makefile.inc1 Directory Properties: stable/10/ (props changed) Modified: stable/10/Makefile.inc1 == --- stable/10/Makefile.inc1 Wed May 13 10:43:49 2015(r282847) +++ stable/10/Makefile.inc1 Wed May 13 10:53:16 2015(r282848) @@ -1328,8 +1328,7 @@ _kerberos5_bootstrap_tools= \ kerberos5/tools/slc \ usr.bin/compile_et -${_bt}-kerberos5/tools/slc: ${_bt}-kerberos5/lib/libroken -${_bt}-kerberos5/tools/asn1_compile: ${_bt}-kerberos5/lib/libroken +.ORDER: ${_kerberos5_bootstrap_tools:C/^/${_bt}-/g} .endif .if ${_BOOTSTRAP_MAKEINFO} != no ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282842 - in stable/10: etc/mtree tests/sys tests/sys/fifo tests/sys/file tools/regression/fifo tools/regression/file/dup tools/regression/file/fcntlflags tools/regression/file/flock to...
Author: ngie Date: Wed May 13 10:24:23 2015 New Revision: 282842 URL: https://svnweb.freebsd.org/changeset/base/282842 Log: MFC r282067: Integrate tools/regression/fifo into the FreeBSD test suite as tests/sys/fifo and tools/regression/file into the FreeBSD test suite as tests/sys/file Added: stable/10/tests/sys/fifo/ - copied from r282067, head/tests/sys/fifo/ stable/10/tests/sys/file/ - copied from r282067, head/tests/sys/file/ Deleted: stable/10/tools/regression/fifo/ stable/10/tools/regression/file/dup/ stable/10/tools/regression/file/fcntlflags/ stable/10/tools/regression/file/flock/ stable/10/tools/regression/file/ftruncate/ stable/10/tools/regression/file/newfileops_on_fork/ Modified: stable/10/etc/mtree/BSD.tests.dist stable/10/tests/sys/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/etc/mtree/BSD.tests.dist == --- stable/10/etc/mtree/BSD.tests.dist Wed May 13 10:21:13 2015 (r282841) +++ stable/10/etc/mtree/BSD.tests.dist Wed May 13 10:24:23 2015 (r282842) @@ -178,6 +178,10 @@ .. .. sys +fifo +.. +file +.. kern .. kqueue Modified: stable/10/tests/sys/Makefile == --- stable/10/tests/sys/MakefileWed May 13 10:21:13 2015 (r282841) +++ stable/10/tests/sys/MakefileWed May 13 10:24:23 2015 (r282842) @@ -4,6 +4,8 @@ TESTSDIR= ${TESTSBASE}/sys +TESTS_SUBDIRS+=fifo +TESTS_SUBDIRS+=file TESTS_SUBDIRS+=kern TESTS_SUBDIRS+=kqueue TESTS_SUBDIRS+=netinet ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282845 - stable/10/usr.sbin/bhyve
Author: mav Date: Wed May 13 10:30:53 2015 New Revision: 282845 URL: https://svnweb.freebsd.org/changeset/base/282845 Log: MFC r282345: Initialize PxCMD on reset and make its read-only bits such. Modified: stable/10/usr.sbin/bhyve/pci_ahci.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/bhyve/pci_ahci.c == --- stable/10/usr.sbin/bhyve/pci_ahci.c Wed May 13 10:29:45 2015 (r282844) +++ stable/10/usr.sbin/bhyve/pci_ahci.c Wed May 13 10:30:53 2015 (r282845) @@ -490,6 +490,9 @@ ahci_reset(struct pci_ahci_softc *sc) for (i = 0; i sc-ports; i++) { sc-port[i].ie = 0; sc-port[i].is = 0; + sc-port[i].cmd = (AHCI_P_CMD_SUD | AHCI_P_CMD_POD); + if (sc-port[i].bctx) + sc-port[i].cmd |= AHCI_P_CMD_CPS; sc-port[i].sctl = 0; ahci_port_reset(sc-port[i]); } @@ -1941,8 +1944,15 @@ pci_ahci_port_write(struct pci_ahci_soft break; case AHCI_P_CMD: { - p-cmd = value; - + p-cmd = ~(AHCI_P_CMD_ST | AHCI_P_CMD_SUD | AHCI_P_CMD_POD | + AHCI_P_CMD_CLO | AHCI_P_CMD_FRE | AHCI_P_CMD_APSTE | + AHCI_P_CMD_ATAPI | AHCI_P_CMD_DLAE | AHCI_P_CMD_ALPE | + AHCI_P_CMD_ASP | AHCI_P_CMD_ICC_MASK); + p-cmd |= (AHCI_P_CMD_ST | AHCI_P_CMD_SUD | AHCI_P_CMD_POD | + AHCI_P_CMD_CLO | AHCI_P_CMD_FRE | AHCI_P_CMD_APSTE | + AHCI_P_CMD_ATAPI | AHCI_P_CMD_DLAE | AHCI_P_CMD_ALPE | + AHCI_P_CMD_ASP | AHCI_P_CMD_ICC_MASK) value; + if (!(value AHCI_P_CMD_ST)) { ahci_port_stop(p); } else { @@ -1970,6 +1980,10 @@ pci_ahci_port_write(struct pci_ahci_soft p-cmd = ~AHCI_P_CMD_CLO; } + if (value AHCI_P_CMD_ICC_MASK) { + p-cmd = ~AHCI_P_CMD_ICC_MASK; + } + ahci_handle_port(p); break; } ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282846 - stable/10/usr.sbin/bhyve
Author: mav Date: Wed May 13 10:35:34 2015 New Revision: 282846 URL: https://svnweb.freebsd.org/changeset/base/282846 Log: MFC r282364, r282429, r282524: Implement BSY reporting and in-order execution of non-NCQ commands. Block command queue on BSY or DRQ bits set or device error reported. This can be a performance penalization for non-NCQ commands, but it is required for proper error recovery and standard compliance. Modified: stable/10/usr.sbin/bhyve/pci_ahci.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/bhyve/pci_ahci.c == --- stable/10/usr.sbin/bhyve/pci_ahci.c Wed May 13 10:30:53 2015 (r282845) +++ stable/10/usr.sbin/bhyve/pci_ahci.c Wed May 13 10:35:34 2015 (r282846) @@ -135,11 +135,13 @@ struct ahci_port { char ident[20 + 1]; int atapi; int reset; + int waitforclear; int mult_sectors; uint8_t xfermode; uint8_t err_cfis[20]; uint8_t sense_key; uint8_t asc; + u_int ccs; uint32_t pending; uint32_t clb; @@ -204,6 +206,8 @@ struct pci_ahci_softc { }; #defineahci_ctx(sc)((sc)-asc_pi-pi_vmctx) +static void ahci_handle_port(struct ahci_port *p); + static inline void lba_to_msf(uint8_t *buf, int lba) { lba += 150; @@ -269,22 +273,26 @@ ahci_write_fis(struct ahci_port *p, enum case FIS_TYPE_REGD2H: offset = 0x40; len = 20; - irq = AHCI_P_IX_DHR; + irq = (fis[1] (1 6)) ? AHCI_P_IX_DHR : 0; break; case FIS_TYPE_SETDEVBITS: offset = 0x58; len = 8; - irq = AHCI_P_IX_SDB; + irq = (fis[1] (1 6)) ? AHCI_P_IX_SDB : 0; break; case FIS_TYPE_PIOSETUP: offset = 0x20; len = 20; - irq = 0; + irq = (fis[1] (1 6)) ? AHCI_P_IX_PS : 0; break; default: WPRINTF(unsupported fis type %d\n, ft); return; } + if (fis[2] ATA_S_ERROR) { + p-waitforclear = 1; + irq |= AHCI_P_IX_TFE; + } memcpy(p-rfis + offset, fis, len); if (irq) { p-is |= irq; @@ -309,22 +317,23 @@ ahci_write_fis_sdb(struct ahci_port *p, uint8_t error; error = (tfd 8) 0xff; + tfd = 0x77; memset(fis, 0, sizeof(fis)); fis[0] = FIS_TYPE_SETDEVBITS; fis[1] = (1 6); - fis[2] = tfd 0x77; + fis[2] = tfd; fis[3] = error; if (fis[2] ATA_S_ERROR) { - p-is |= AHCI_P_IX_TFE; p-err_cfis[0] = slot; - p-err_cfis[2] = tfd 0x77; + p-err_cfis[2] = tfd; p-err_cfis[3] = error; memcpy(p-err_cfis[4], cfis + 4, 16); } else { *(uint32_t *)(fis + 4) = (1 slot); p-sact = ~(1 slot); } - p-tfd = tfd; + p-tfd = ~0x77; + p-tfd |= tfd; ahci_write_fis(p, FIS_TYPE_SETDEVBITS, fis); } @@ -351,7 +360,6 @@ ahci_write_fis_d2h(struct ahci_port *p, fis[12] = cfis[12]; fis[13] = cfis[13]; if (fis[2] ATA_S_ERROR) { - p-is |= AHCI_P_IX_TFE; p-err_cfis[0] = 0x80; p-err_cfis[2] = tfd 0xff; p-err_cfis[3] = error; @@ -363,6 +371,21 @@ ahci_write_fis_d2h(struct ahci_port *p, } static void +ahci_write_fis_d2h_ncq(struct ahci_port *p, int slot) +{ + uint8_t fis[20]; + + p-tfd = ATA_S_READY | ATA_S_DSC; + memset(fis, 0, sizeof(fis)); + fis[0] = FIS_TYPE_REGD2H; + fis[1] = 0; /* No interrupt */ + fis[2] = p-tfd;/* Status */ + fis[3] = 0; /* No error */ + p-ci = ~(1 slot); + ahci_write_fis(p, FIS_TYPE_REGD2H, fis); +} + +static void ahci_write_reset_fis_d2h(struct ahci_port *p) { uint8_t fis[20]; @@ -389,9 +412,11 @@ ahci_check_stopped(struct ahci_port *p) */ if (!(p-cmd AHCI_P_CMD_ST)) { if (p-pending == 0) { + p-ccs = 0; p-cmd = ~(AHCI_P_CMD_CR | AHCI_P_CMD_CCS_MASK); p-ci = 0; p-sact = 0; + p-waitforclear = 0; } } } @@ -589,12 +614,13 @@ ahci_handle_rw(struct ahci_port *p, int struct ahci_cmd_hdr *hdr; uint64_t lba; uint32_t len; - int err, ncq, readop; + int err, first, ncq, readop; prdt = (struct ahci_prdt_entry *)(cfis + 0x80); hdr = (struct ahci_cmd_hdr *)(p-cmd_lst + slot * AHCI_CL_SIZE); ncq = 0; readop = 1; + first = (done == 0); if (cfis[2] == ATA_WRITE ||
svn commit: r282860 - stable/10/tests/sys/kern
Author: ngie Date: Wed May 13 12:17:01 2015 New Revision: 282860 URL: https://svnweb.freebsd.org/changeset/base/282860 Log: MFC r262781,r263336: r262781 (by pho): Preserve naming consistency for test cases. Pointed out by:jmmv Sponsored by: EMC / Isilon storage division r263336 (by pho): Added sysctl kern.maxfiles increase test, do not use /etc/passwd for tests and use volatile sig_atomic_t for signal handler variable. Reviewed by: asomers (previous version) Sponsored by: EMC / Isilon storage division Modified: stable/10/tests/sys/kern/kern_descrip_test.c Directory Properties: stable/10/ (props changed) Modified: stable/10/tests/sys/kern/kern_descrip_test.c == --- stable/10/tests/sys/kern/kern_descrip_test.cWed May 13 12:13:18 2015(r282859) +++ stable/10/tests/sys/kern/kern_descrip_test.cWed May 13 12:17:01 2015(r282860) @@ -29,22 +29,31 @@ __FBSDID($FreeBSD$); #include errno.h #include fcntl.h +#include signal.h #include stdio.h #include stdlib.h #include strings.h #include sys/limits.h #include sys/stat.h +#include sys/sysctl.h #include unistd.h #include atf-c.h -ATF_TC_WITHOUT_HEAD(dup2_simple); -ATF_TC_BODY(dup2_simple, tc) +static volatile sig_atomic_t done; + +#define AFILE afile +#define EXPANDBY 1000 +#define PARALLEL 4 +#define RENDEZVOUS rendezvous +#define VALUE value + +ATF_TC_WITHOUT_HEAD(dup2__simple); +ATF_TC_BODY(dup2__simple, tc) { int fd1, fd2; struct stat sb1, sb2; - fd1 = open(/etc/passwd, O_RDONLY); - ATF_REQUIRE(fd1 = 0); + ATF_REQUIRE((fd1 = open(AFILE, O_CREAT, 0644)) != -1); fd2 = 27; ATF_REQUIRE(dup2(fd1, fd2) != -1); ATF_REQUIRE(fstat(fd1, sb1) != -1); @@ -57,22 +66,125 @@ ATF_TC_HEAD(dup2__ebadf_when_2nd_arg_out { atf_tc_set_md_var(tc, descr, Regression test for r234131); } + ATF_TC_BODY(dup2__ebadf_when_2nd_arg_out_of_range, tc) { int fd1, fd2, ret; - fd1 = open(/etc/passwd, O_RDONLY); + ATF_REQUIRE((fd1 = open(AFILE, O_CREAT, 0644)) != -1); fd2 = INT_MAX; ret = dup2(fd1, fd2); ATF_CHECK_EQ(-1, ret); ATF_CHECK_EQ(EBADF, errno); } +static void +handler(int s __unused) +{ + done++; +} + +static void +openfiles2(size_t n) +{ + size_t i; + int r; + + errno = 0; + for (i = 0; i n; i++) + ATF_REQUIRE((r = open(AFILE, O_RDONLY)) != -1); + kill(getppid(), SIGUSR1); + + for (;;) { + if (access(RENDEZVOUS, R_OK) != 0) + break; + usleep(1000); + } + _exit(0); +} + +static void +openfiles(size_t n) +{ + int i, fd; + + signal(SIGUSR1, handler); + ATF_REQUIRE((fd = open(AFILE, O_CREAT, 0644)) != -1); + close(fd); + ATF_REQUIRE((fd = open(RENDEZVOUS, O_CREAT, 0644)) != -1); + close(fd); + done = 0; + for (i = 0; i PARALLEL; i++) + if (fork() == 0) + openfiles2(n / PARALLEL); + while (done != PARALLEL) + usleep(1000); + unlink(RENDEZVOUS); + usleep(4); +} + +ATF_TC_WITH_CLEANUP(kern_maxfiles__increase); +ATF_TC_HEAD(kern_maxfiles__increase, tc) +{ + atf_tc_set_md_var(tc, require.user, root); + atf_tc_set_md_var(tc, require.config, allow_sysctl_side_effects); + atf_tc_set_md_var(tc, descr, + Check kern.maxfiles expansion); +} + +ATF_TC_BODY(kern_maxfiles__increase, tc) +{ + size_t oldlen; + int maxfiles, oldmaxfiles, current; + char buf[80]; + + oldlen = sizeof(maxfiles); + if (sysctlbyname(kern.maxfiles, maxfiles, oldlen, NULL, 0) == -1) + atf_tc_fail(getsysctlbyname(%s): %s, kern.maxfiles, + strerror(errno)); + if (sysctlbyname(kern.openfiles, current, oldlen, NULL, 0) == -1) + atf_tc_fail(getsysctlbyname(%s): %s, kern.openfiles, + strerror(errno)); + + oldmaxfiles = maxfiles; + + /* Store old kern.maxfiles in a symlink for cleanup */ + snprintf(buf, sizeof(buf), %d, oldmaxfiles); + if (symlink(buf, VALUE) == 1) + atf_tc_fail(symlink(%s, %s): %s, buf, VALUE, + strerror(errno)); + + maxfiles += EXPANDBY; + if (sysctlbyname(kern.maxfiles, NULL, 0, maxfiles, oldlen) == -1) + atf_tc_fail(getsysctlbyname(%s): %s, kern.maxfiles, + strerror(errno)); + + openfiles(oldmaxfiles - current + 1); + (void)unlink(VALUE); +} + +ATF_TC_CLEANUP(kern_maxfiles__increase, tc) +{ + size_t oldlen; + int n, oldmaxfiles; + char buf[80]; + + if ((n = readlink(VALUE, buf, sizeof(buf))) 0) { + buf[n] = '\0'; + if (sscanf(buf, %d, oldmaxfiles) == 1) { + oldlen =
svn commit: r282855 - in stable/10/tools/regression/aio/kqueue: . lio
Author: ngie Date: Wed May 13 11:49:38 2015 New Revision: 282855 URL: https://svnweb.freebsd.org/changeset/base/282855 Log: MFC r280894,r280895: r280894: Minor cleanup before converting to ATF testcases - Remove blank (tab-only) lines. - Fix -Wunused warnings. - Bump up to WARNS= 6 r280895: - Fix -Wsign issue - Bump up to WARNS=6 Modified: stable/10/tools/regression/aio/kqueue/Makefile stable/10/tools/regression/aio/kqueue/aio_kqueue.c stable/10/tools/regression/aio/kqueue/lio/Makefile stable/10/tools/regression/aio/kqueue/lio/lio_kqueue.c Directory Properties: stable/10/ (props changed) Modified: stable/10/tools/regression/aio/kqueue/Makefile == --- stable/10/tools/regression/aio/kqueue/Makefile Wed May 13 11:32:55 2015(r282854) +++ stable/10/tools/regression/aio/kqueue/Makefile Wed May 13 11:49:38 2015(r282855) @@ -3,4 +3,8 @@ PROG= aio_kqueue MAN= +WARNS?=6 + +SUBDIR+= lio + .include bsd.prog.mk Modified: stable/10/tools/regression/aio/kqueue/aio_kqueue.c == --- stable/10/tools/regression/aio/kqueue/aio_kqueue.c Wed May 13 11:32:55 2015(r282854) +++ stable/10/tools/regression/aio/kqueue/aio_kqueue.c Wed May 13 11:49:38 2015(r282855) @@ -177,7 +177,7 @@ main (int argc, char *argv[]) #endif if (result != sizeof(buffer)) { printf(FAIL: run %d, operation %d, result %d -(errno=%d) should be %d\n, run, pending, +(errno=%d) should be %zu\n, run, pending, result, errno, sizeof(buffer)); failed++; } else Modified: stable/10/tools/regression/aio/kqueue/lio/Makefile == --- stable/10/tools/regression/aio/kqueue/lio/Makefile Wed May 13 11:32:55 2015(r282854) +++ stable/10/tools/regression/aio/kqueue/lio/Makefile Wed May 13 11:49:38 2015(r282855) @@ -3,4 +3,6 @@ PROG= lio_kqueue MAN= +WARNS?=6 + .include bsd.prog.mk Modified: stable/10/tools/regression/aio/kqueue/lio/lio_kqueue.c == --- stable/10/tools/regression/aio/kqueue/lio/lio_kqueue.c Wed May 13 11:32:55 2015(r282854) +++ stable/10/tools/regression/aio/kqueue/lio/lio_kqueue.c Wed May 13 11:49:38 2015(r282855) @@ -37,13 +37,15 @@ * http://www.ambrisko.com/doug/listio_kqueue/listio_kqueue.patch */ -#include aio.h -#include fcntl.h -#include stdio.h -#include errno.h #include sys/types.h #include sys/event.h #include sys/time.h +#include aio.h +#include fcntl.h +#include errno.h +#include stdio.h +#include stdlib.h +#include string.h #include unistd.h #define PATH_TEMPLATE /tmp/aio.XX @@ -52,9 +54,10 @@ #define MAX LIO_MAX * 16 #define MAX_RUNS 300 +int main(int argc, char *argv[]){ int fd; - struct aiocb *iocb[MAX], *kq_iocb; + struct aiocb *iocb[MAX]; struct aiocb **lio[LIO_MAX], **lio_element, **kq_lio; int i, result, run, error, j, k; char buffer[32768]; @@ -65,7 +68,7 @@ main(int argc, char *argv[]){ time_t time1, time2; char *file, pathname[sizeof(PATH_TEMPLATE)-1]; int tmp_file = 0, failed = 0; - + if (kq 0) { perror(No kqeueue\n); exit(1); @@ -89,7 +92,7 @@ main(int argc, char *argv[]){ #ifdef DEBUG printf(Hello kq %d fd %d\n, kq, fd); #endif - + for (run = 0; run MAX_RUNS; run++){ #ifdef DEBUG printf(Run %d\n, run); @@ -137,13 +140,13 @@ main(int argc, char *argv[]){ printf(write %d is at %p\n, j, lio[j]); #endif } - + for(i = 0; i LIO_MAX; i++) { for(j = LIO_MAX - 1; j =0; j--) { if (lio[j]) break; } - + for(;;) { bzero(ke, sizeof(ke)); bzero(kq_returned, sizeof(ke)); @@ -169,18 +172,18 @@ main(int argc, char *argv[]){ kq_returned.udata, lio[j]); #endif - + if(kq_lio) break; #ifdef DEBUG printf(Try again\n); #endif - } - + } + #ifdef DEBUG
svn commit: r282859 - stable/10/tests/freebsd_test_suite
Author: ngie Date: Wed May 13 12:13:18 2015 New Revision: 282859 URL: https://svnweb.freebsd.org/changeset/base/282859 Log: MFC r282211,r282244: r282211: ATF_REQUIRE_KERNEL_MODULE: use atf_skip, not ATF_REQUIRE_MSG so the testcase no longer bombs out PLAIN_REQUIRE_KERNEL_MODULE: use printf + _exit, no err so the testcase no longer bombs out if it prints to stderr r282244: Fix typo. It should have been atf_tc_skip, not atf_skip Reported by: many, Jenkins Pointyhat to: ngie Modified: stable/10/tests/freebsd_test_suite/macros.h Directory Properties: stable/10/ (props changed) Modified: stable/10/tests/freebsd_test_suite/macros.h == --- stable/10/tests/freebsd_test_suite/macros.h Wed May 13 12:09:01 2015 (r282858) +++ stable/10/tests/freebsd_test_suite/macros.h Wed May 13 12:13:18 2015 (r282859) @@ -32,21 +32,24 @@ #include sys/param.h #include sys/module.h #include string.h -#include err.h #include errno.h +#include stdio.h +#include unistd.h #include atf-c.h #defineATF_REQUIRE_KERNEL_MODULE(_mod_name) do { \ - ATF_REQUIRE_MSG(modfind(_mod_name) != -1, \ - module %s could not be resolved: %s, \ - _mod_name, strerror(errno));\ + if (modfind(_mod_name) == -1) { \ + atf_tc_skip(module %s could not be resolved: %s, \ + _mod_name, strerror(errno));\ + } \ } while(0) -#definePLAIN_REQUIRE_KERNEL_MODULE(_mod_name, _exit_code) do { \ +#definePLAIN_REQUIRE_KERNEL_MODULE(_mod_name, _exit_code) do { \ if (modfind(_mod_name) == -1) { \ - err(_exit_code, module %s could not be resolved, \ - _mod_name); \ + printf(module %s could not be resolved: %s\n, \ + _mod_name, strerror(errno));\ + _exit(_exit_code); \ } \ } while(0) ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282861 - in stable/10: sbin/geom/class/part sys/geom/part sys/sys
Author: ae Date: Wed May 13 14:05:53 2015 New Revision: 282861 URL: https://svnweb.freebsd.org/changeset/base/282861 Log: MFC r282465: Add apple-boot, apple-hfs and apple-ufs aliases to MBR scheme. Sort DOSPTYP_* entries in diskmbr.h by value. Document these scheme-specific types in gpart(8). Modified: stable/10/sbin/geom/class/part/gpart.8 stable/10/sys/geom/part/g_part_mbr.c stable/10/sys/sys/diskmbr.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/geom/class/part/gpart.8 == --- stable/10/sbin/geom/class/part/gpart.8 Wed May 13 12:17:01 2015 (r282860) +++ stable/10/sbin/geom/class/part/gpart.8 Wed May 13 14:05:53 2015 (r282861) @@ -24,7 +24,7 @@ .\ .\ $FreeBSD$ .\ -.Dd March 12, 2015 +.Dd May 5, 2015 .Dt GPART 8 .Os .Sh NAME @@ -668,6 +668,8 @@ for GPT. .It Cm apple-hfs An Apple Mac OS X partition that contains a HFS or HFS+ filesystem. The scheme-specific types are +.Qq Li !175 +for MBR, .Qq Li !Apple_HFS for APM and .Qq Li !48465300--11aa-aa11-00306543ecac @@ -696,6 +698,8 @@ for GPT. .It Cm apple-ufs An Apple Mac OS X partition that contains a UFS filesystem. The scheme-specific types are +.Qq Li !168 +for MBR, .Qq Li !Apple_UNIX_SVR2 for APM and .Qq Li !55465300--11aa-aa11-00306543ecac Modified: stable/10/sys/geom/part/g_part_mbr.c == --- stable/10/sys/geom/part/g_part_mbr.cWed May 13 12:17:01 2015 (r282860) +++ stable/10/sys/geom/part/g_part_mbr.cWed May 13 14:05:53 2015 (r282861) @@ -138,6 +138,9 @@ static struct g_part_mbr_alias { { DOSPTYP_PPCBOOT, G_PART_ALIAS_PREP_BOOT }, { DOSPTYP_VMFS, G_PART_ALIAS_VMFS }, { DOSPTYP_VMKDIAG, G_PART_ALIAS_VMKDIAG }, + { DOSPTYP_APPLE_UFS,G_PART_ALIAS_APPLE_UFS }, + { DOSPTYP_APPLE_BOOT, G_PART_ALIAS_APPLE_BOOT }, + { DOSPTYP_HFS, G_PART_ALIAS_APPLE_HFS }, }; static int Modified: stable/10/sys/sys/diskmbr.h == --- stable/10/sys/sys/diskmbr.h Wed May 13 12:17:01 2015(r282860) +++ stable/10/sys/sys/diskmbr.h Wed May 13 14:05:53 2015(r282861) @@ -51,11 +51,13 @@ #defineDOSPTYP_EXTLBA 0x0f/* DOS extended partition */ #defineDOSPTYP_PPCBOOT 0x41/* PReP/CHRP boot partition */ #defineDOSPTYP_LDM 0x42/* Win2k dynamic extended partition */ -#defineDOSPTYP_386BSD 0xa5/* 386BSD partition type */ -#defineDOSPTYP_HFS 0xaf/* HFS/HFS+ partition type */ #defineDOSPTYP_LINSWP 0x82/* Linux swap partition */ #defineDOSPTYP_LINUX 0x83/* Linux partition */ #defineDOSPTYP_LINLVM 0x8e/* Linux LVM partition */ +#defineDOSPTYP_386BSD 0xa5/* 386BSD partition type */ +#defineDOSPTYP_APPLE_UFS 0xa8/* Apple Mac OS X boot */ +#defineDOSPTYP_APPLE_BOOT 0xab/* Apple Mac OS X UFS */ +#defineDOSPTYP_HFS 0xaf/* HFS/HFS+ partition type */ #defineDOSPTYP_PMBR0xee/* GPT Protective MBR */ #defineDOSPTYP_VMFS0xfb/* VMware VMFS partition */ #defineDOSPTYP_VMKDIAG 0xfc/* VMware vmkDiagnostic partition */ ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282878 - stable/10/sys/dev/mii
Author: yongari Date: Thu May 14 05:10:42 2015 New Revision: 282878 URL: https://svnweb.freebsd.org/changeset/base/282878 Log: MFC r281877: Add another variant of BCM5708S controller to IBM HS21 workaround list. PR: 118238 Modified: stable/10/sys/dev/mii/brgphy.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/mii/brgphy.c == --- stable/10/sys/dev/mii/brgphy.c Thu May 14 04:21:04 2015 (r282877) +++ stable/10/sys/dev/mii/brgphy.c Thu May 14 05:10:42 2015 (r282878) @@ -158,25 +158,33 @@ static const struct mii_phy_funcs brgphy brgphy_reset }; -#define HS21_PRODUCT_IDIBM eServer BladeCenter HS21 -#define HS21_BCM_CHIPID0x57081021 +static const struct hs21_type { + const uint32_t id; + const char *prod; +} hs21_type_lists[] = { + { 0x57081021, IBM eServer BladeCenter HS21 }, + { 0x57081011, IBM eServer BladeCenter HS21 -[8853PAU]- }, +}; static int detect_hs21(struct bce_softc *bce_sc) { char *sysenv; - int found; + int found, i; found = 0; - if (bce_sc-bce_chipid == HS21_BCM_CHIPID) { - sysenv = getenv(smbios.system.product); - if (sysenv != NULL) { - if (strncmp(sysenv, HS21_PRODUCT_ID, - strlen(HS21_PRODUCT_ID)) == 0) - found = 1; - freeenv(sysenv); + sysenv = getenv(smbios.system.product); + if (sysenv == NULL) + return (found); + for (i = 0; i nitems(hs21_type_lists); i++) { + if (bce_sc-bce_chipid == hs21_type_lists[i].id + strncmp(sysenv, hs21_type_lists[i].prod, + strlen(hs21_type_lists[i].prod)) == 0) { + found++; + break; } } + freeenv(sysenv); return (found); } ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282870 - stable/10/usr.sbin/freebsd-update
Author: delphij Date: Wed May 13 22:36:00 2015 New Revision: 282870 URL: https://svnweb.freebsd.org/changeset/base/282870 Log: MFC r279571,281563 (allanjude): Add a new safetly belt to freebsd-update to prevent a user doing a minor update (-pX) while having an unfinished major upgrade (9.x to 9.y) Safetly belt can be disabled with the -F flag Additionally, add the --not-running-from-cron flag they bypasses the TTY requirement, and allows freebsd-update to be invoked by orchestration frameworks, scripts, or otherwise. PR: 196760 Relnotes: yes Sponsored by: ScaleEngine Inc. Modified: stable/10/usr.sbin/freebsd-update/freebsd-update.8 stable/10/usr.sbin/freebsd-update/freebsd-update.sh Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/freebsd-update/freebsd-update.8 == --- stable/10/usr.sbin/freebsd-update/freebsd-update.8 Wed May 13 21:38:39 2015(r282869) +++ stable/10/usr.sbin/freebsd-update/freebsd-update.8 Wed May 13 22:36:00 2015(r282870) @@ -25,7 +25,7 @@ .\ .\ $FreeBSD$ .\ -.Dd July 14, 2010 +.Dd March 2, 2015 .Dt FREEBSD-UPDATE 8 .Os FreeBSD .Sh NAME @@ -36,10 +36,12 @@ .Op Fl b Ar basedir .Op Fl d Ar workdir .Op Fl f Ar conffile +.Op Fl F .Op Fl k Ar KEY .Op Fl r Ar newrelease .Op Fl s Ar server .Op Fl t Ar address +.Op Fl -not-running-from-cron .Cm command ... .Sh DESCRIPTION The @@ -54,16 +56,16 @@ by the .Fx Release Engineering Team, e.g., .Fx -7.3-RELEASE and +9.3-RELEASE and .Fx -8.0-RELEASE, but not +10.1-RELEASE, but not .Fx -6.3-STABLE or +9.3-STABLE or .Fx -9.0-CURRENT. +11-CURRENT. .Sh OPTIONS The following options are supported: -.Bl -tag -width -f conffile +.Bl -tag -width -r newrelease .It Fl b Ar basedir Operate on a system mounted at .Ar basedir . @@ -81,6 +83,10 @@ Read configuration options from .Ar conffile . (default: .Pa /etc/freebsd-update.conf ) +.It Fl F +Force +.Nm Cm fetch +to proceed where it normally would not, such as an unfinished upgrade .It Fl k Ar KEY Trust an RSA key with SHA256 of .Ar KEY . @@ -98,12 +104,21 @@ Mail output of command, if any, to .Ar address . (default: root, or as given in the configuration file.) +.It Fl -not-running-from-cron +Force +.Nm Cm fetch +to proceed when there is no controlling tty. +This is for use by automated scripts and orchestration tools. +Please do not run +.Nm Cm fetch +from crontab or similar using this flag, see: +.Nm Cm cron .El .Sh COMMANDS The .Cm command can be any one of the following: -.Bl -tag -width -f conffile +.Bl -tag -width rollback .It Cm fetch Based on the currently installed world and the configuration options set, fetch all available binary updates. Modified: stable/10/usr.sbin/freebsd-update/freebsd-update.sh == --- stable/10/usr.sbin/freebsd-update/freebsd-update.sh Wed May 13 21:38:39 2015(r282869) +++ stable/10/usr.sbin/freebsd-update/freebsd-update.sh Wed May 13 22:36:00 2015(r282870) @@ -43,12 +43,15 @@ Options: (default: /var/db/freebsd-update/) -f conffile -- Read configuration options from conffile (default: /etc/freebsd-update.conf) + -F -- Force a fetch operation to proceed -k KEY -- Trust an RSA key with SHA256 hash of KEY -r release -- Target for upgrade (e.g., 6.2-RELEASE) -s server-- Server from which to fetch updates (default: update.FreeBSD.org) -t address -- Mail output of cron command, if any, to address (default: root) + --not-running-from-cron + -- Run without a tty, for use by automated tools Commands: fetch-- Fetch updates from server cron -- Sleep rand(3600) seconds, fetch updates, and send an @@ -399,6 +402,12 @@ init_params () { # No commands specified yet COMMANDS= + + # Force fetch to proceed + FORCEFETCH=0 + + # Run without a TTY + NOTTYOK=0 } # Parse the command line @@ -411,6 +420,12 @@ parse_cmdline () { if [ ! -z ${CONFFILE} ]; then usage; fi shift; CONFFILE=$1 ;; + -F) + FORCEFETCH=1 + ;; + --not-running-from-cron) + NOTTYOK=1 + ;; # Configuration file equivalents -b) @@ -665,6 +680,14 @@ fetch_check_params () { echo (Did you mean 'upgrade' instead?) exit 1 fi + + # Check that we have updates ready to install + if [ -f ${BDHASH}-install/kerneldone -a $FORCEFETCH -eq 0 ]; then + echo You have a partially completed upgrade pending + echo Run '$0 install' first. +
svn commit: r282862 - stable/10/sys/cam/ctl
Author: mav Date: Wed May 13 15:23:53 2015 New Revision: 282862 URL: https://svnweb.freebsd.org/changeset/base/282862 Log: MFC r282565: Handle EDQUOT backend storage errors same as ENOSPC. Modified: stable/10/sys/cam/ctl/ctl_backend_block.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cam/ctl/ctl_backend_block.c == --- stable/10/sys/cam/ctl/ctl_backend_block.c Wed May 13 14:05:53 2015 (r282861) +++ stable/10/sys/cam/ctl/ctl_backend_block.c Wed May 13 15:23:53 2015 (r282862) @@ -524,7 +524,7 @@ ctl_be_block_biodone(struct bio *bio) if (beio-num_errors 0) { if (error == EOPNOTSUPP) { ctl_set_invalid_opcode(io-scsiio); - } else if (error == ENOSPC) { + } else if (error == ENOSPC || error == EDQUOT) { ctl_set_space_alloc_fail(io-scsiio); } else if (beio-bio_cmd == BIO_FLUSH) { /* XXX KDM is there is a better error here? */ @@ -741,7 +741,7 @@ ctl_be_block_dispatch_file(struct ctl_be ctl_scsi_path_string(io, path_str, sizeof(path_str)); printf(%s%s command returned errno %d\n, path_str, (beio-bio_cmd == BIO_READ) ? READ : WRITE, error); - if (error == ENOSPC) { + if (error == ENOSPC || error == EDQUOT) { ctl_set_space_alloc_fail(io-scsiio); } else ctl_set_medium_error(io-scsiio); @@ -898,7 +898,7 @@ ctl_be_block_dispatch_zvol(struct ctl_be * return the I/O to the user. */ if (error != 0) { - if (error == ENOSPC) { + if (error == ENOSPC || error == EDQUOT) { ctl_set_space_alloc_fail(io-scsiio); } else ctl_set_medium_error(io-scsiio); ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282877 - stable/10/release/tools
Author: gjb Date: Thu May 14 04:21:04 2015 New Revision: 282877 URL: https://svnweb.freebsd.org/changeset/base/282877 Log: MFC r282772: Fix virtual machine disk format creating by passing VMFORMAT to mkimg(1) PR: 200068 Sponsored by: The FreeBSD Foundation Modified: stable/10/release/tools/vmimage.subr Modified: stable/10/release/tools/vmimage.subr == --- stable/10/release/tools/vmimage.subrThu May 14 04:17:58 2015 (r282876) +++ stable/10/release/tools/vmimage.subrThu May 14 04:21:04 2015 (r282877) @@ -23,14 +23,15 @@ write_partition_layout() { case ${TARGET}:${TARGET_ARCH} in amd64:amd64 | i386:i386) - mkimg -s gpt -b ${BOOTFILES}/i386/pmbr/pmbr \ + mkimg -s gpt -f ${VMFORMAT} \ + -b ${BOOTFILES}/i386/pmbr/pmbr \ -p freebsd-boot/bootfs:=${BOOTFILES}/i386/gptboot/gptboot \ ${SWAPOPT} \ -p freebsd-ufs/rootfs:=${VMBASE} \ -o ${VMIMAGE} ;; powerpc:powerpc*) - mkimg -s apm \ + mkimg -s apm -f ${VMFORMAT} \ -p apple-boot/bootfs:=${BOOTFILES}/powerpc/boot1.chrp/boot1.hfs \ ${SWAPOPT} \ -p freebsd-ufs/rootfs:=${VMBASE} \ ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282875 - in stable: 10/release/doc/share/xml 8/release/doc/share/xml 9/release/doc/share/xml
Author: gjb Date: Thu May 14 04:05:34 2015 New Revision: 282875 URL: https://svnweb.freebsd.org/changeset/base/282875 Log: Document EN-15:04 and EN-15:05. Sponsored by: The FreeBSD Foundation Modified: stable/10/release/doc/share/xml/errata.xml Changes in other areas also in this revision: Modified: stable/8/release/doc/share/xml/errata.xml stable/9/release/doc/share/xml/errata.xml Modified: stable/10/release/doc/share/xml/errata.xml == --- stable/10/release/doc/share/xml/errata.xml Wed May 13 22:52:51 2015 (r282874) +++ stable/10/release/doc/share/xml/errata.xml Thu May 14 04:05:34 2015 (r282875) @@ -48,6 +48,22 @@ entryparaman.freebsd-update.8; updates libraries in suboptimal order/para/entry /row + + row + entrylink + xlink:href=security.url;/FreeBSD-EN-15:04.freebsd-update.ascFreeBSD-EN-15:04.freebsd-update/link/entry + entry13nbsp;Maynbsp;2015/entry + entryparaman.freebsd-update.8; does not ensure the + previous upgrade has completed/para/entry + /row + + row + entrylink + xlink:href=security.url;/FreeBSD-EN-15:05.ufs.ascFreeBSD-EN-15:05.ufs/link/entry + entry13nbsp;Maynbsp;2015/entry + entryparaDeadlock on reboot with UFS tuned with + SU+J/para/entry + /row /tbody /tgroup /informaltable ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282831 - stable/10/sys/dev/e1000
Author: hiren Date: Wed May 13 07:39:16 2015 New Revision: 282831 URL: https://svnweb.freebsd.org/changeset/base/282831 Log: Partial MFC r281838: For igb(4), when we are doing multiqueue, we are all setup to have full 32bit RSS hash from the card. Expose that so others like lagg(4) can use that and avoid hashing the traffic by themselves. Setting hashtype as OPAQUE because FreeBSD 10 doesn't have RSS support. Sponsored by: Limelight Networks Modified: stable/10/sys/dev/e1000/if_igb.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/e1000/if_igb.c == --- stable/10/sys/dev/e1000/if_igb.cWed May 13 05:46:04 2015 (r282830) +++ stable/10/sys/dev/e1000/if_igb.cWed May 13 07:39:16 2015 (r282831) @@ -4970,10 +4970,27 @@ igb_rxeof(struct igb_queue *que, int cou rxr-fmp-m_pkthdr.ether_vtag = vtag; rxr-fmp-m_flags |= M_VLANTAG; } + + /* +* In case of multiqueue, we have RXCSUM.PCSD bit set +* and never cleared. This means we have RSS hash +* available to be used. +*/ + if (adapter-num_queues 1) { + rxr-fmp-m_pkthdr.flowid = + le32toh(cur-wb.lower.hi_dword.rss); + /* +* Full RSS support is not avilable in +* FreeBSD 10 so setting the hash type to +* OPAQUE. +*/ + M_HASHTYPE_SET(rxr-fmp, M_HASHTYPE_OPAQUE); + } else { #ifndef IGB_LEGACY_TX - rxr-fmp-m_pkthdr.flowid = que-msix; - M_HASHTYPE_SET(rxr-fmp, M_HASHTYPE_OPAQUE); + rxr-fmp-m_pkthdr.flowid = que-msix; + M_HASHTYPE_SET(rxr-fmp, M_HASHTYPE_OPAQUE); #endif + } sendmp = rxr-fmp; /* Make sure to set M_PKTHDR. */ sendmp-m_flags |= M_PKTHDR; ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org
svn commit: r282832 - stable/10/sys/net
Author: hiren Date: Wed May 13 08:04:50 2015 New Revision: 282832 URL: https://svnweb.freebsd.org/changeset/base/282832 Log: MFC r281984: Currently there is no easy way to specify net.isr.maxthreads = all cpus. We need to specify exact number of cpus in loader.conf which get annoying when you have mix of machines which don't have equal number of total cpus. I propose -1 as that value. When loader.conf has net.isr.maxthreads = -1, netisr will use all available cpus. Sponsored by: Limelight Networks Modified: stable/10/sys/net/netisr.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/net/netisr.c == --- stable/10/sys/net/netisr.c Wed May 13 07:39:16 2015(r282831) +++ stable/10/sys/net/netisr.c Wed May 13 08:04:50 2015(r282832) @@ -156,10 +156,13 @@ SYSCTL_PROC(_net_isr, OID_AUTO, dispatch /* * Allow the administrator to limit the number of threads (CPUs) to use for * netisr. We don't check netisr_maxthreads before creating the thread for - * CPU 0, so in practice we ignore values = 1. This must be set at boot. - * We will create at most one thread per CPU. + * CPU 0. This must be set at boot. We will create at most one thread per CPU. + * By default we initialize this to 1 which would assign just 1 cpu (cpu0) and + * therefore only 1 workstream. If set to -1, netisr would use all cpus + * (mp_ncpus) and therefore would have those many workstreams. One workstream + * per thread (CPU). */ -static int netisr_maxthreads = -1; /* Max number of threads. */ +static int netisr_maxthreads = 1; /* Max number of threads. */ TUNABLE_INT(net.isr.maxthreads, netisr_maxthreads); SYSCTL_INT(_net_isr, OID_AUTO, maxthreads, CTLFLAG_RDTUN, netisr_maxthreads, 0, @@ -1128,8 +1131,10 @@ netisr_init(void *arg) KASSERT(curcpu == 0, (%s: not on CPU 0, __func__)); NETISR_LOCK_INIT(); - if (netisr_maxthreads 1) - netisr_maxthreads = 1; + if (netisr_maxthreads == 0 || netisr_maxthreads -1 ) + netisr_maxthreads = 1; /* default behavior */ + else if (netisr_maxthreads == -1) + netisr_maxthreads = mp_ncpus; /* use max cpus */ if (netisr_maxthreads mp_ncpus) { printf(netisr_init: forcing maxthreads from %d to %d\n, netisr_maxthreads, mp_ncpus); ___ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to svn-src-stable-10-unsubscr...@freebsd.org