From owner-svn-src-user@freebsd.org Tue Apr 24 07:03:24 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 89048FBE059 for ; Tue, 24 Apr 2018 07:03:24 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3C86C6C183; Tue, 24 Apr 2018 07:03:24 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 36FA87E71; Tue, 24 Apr 2018 07:03:24 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3O73Ouf026362; Tue, 24 Apr 2018 07:03:24 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3O73OVm026361; Tue, 24 Apr 2018 07:03:24 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804240703.w3O73OVm026361@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 07:03:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332912 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332912 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 07:03:24 -0000 Author: pho Date: Tue Apr 24 07:03:23 2018 New Revision: 332912 URL: https://svnweb.freebsd.org/changeset/base/332912 Log: Added older sysctl kern.sched_fuzz test scenario. Sponsored by: Dell EMC Isilon Added: user/pho/stress2/misc/schedfuzz.sh (contents, props changed) Added: user/pho/stress2/misc/schedfuzz.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/schedfuzz.sh Tue Apr 24 07:03:23 2018 (r332912) @@ -0,0 +1,81 @@ +#!/bin/sh + +# +# Copyright (c) 2016 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Sched fuzz test scenario. + +# "panic: sleeping thread" seen: +# https://people.freebsd.org/~pho/stress/log/schedfuzz.txt + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +sysctl kern.sched_fuzz.prof_on > /dev/null 2>&1 || exit 0 + +: ${pct1:=0.01} +: ${pct2:=0.1} +export pct1 pct2 + +seton() { + sysctl kern.sched_fuzz.sched_fuzz_scheduler="${pct1}%return(1)" + sysctl kern.sched_fuzz.sched_fuzz_sx_slock_delay="${pct1}%schedfuzz(82)" + sysctl kern.sched_fuzz.sched_fuzz_sx_xlock_delay="${pct1}%schedfuzz(82)" + sysctl kern.sched_fuzz.sched_fuzz_sx_slock_sleep="${pct1}%schedfuzz(82)" + sysctl kern.sched_fuzz.sched_fuzz_sx_xlock_sleep="${pct1}%schedfuzz(82)" + sysctl kern.sched_fuzz.sched_fuzz_mtx_spin_lock="${pct1}%schedfuzz(44)" + sysctl kern.sched_fuzz.sched_fuzz_mtx_spin_unlock="${pct1}%schedfuzz(44)" + sysctl kern.sched_fuzz.sched_fuzz_malloc="${pct1}%schedfuzz(62)" + sysctl kern.sched_fuzz.sched_fuzz_cv_wait="${pct2}%schedfuzz(100)" + sysctl kern.sched_fuzz.sched_fuzz_cv_timed_wait="${pct2}%schedfuzz(100)" + sysctl kern.sched_fuzz.sched_fuzz_cv_timed_wait_sig="${pct2}%schedfuzz(100)" + sysctl kern.sched_fuzz.sched_fuzz_mtx_lock="${pct1}%schedfuzz(22)" + sysctl kern.sched_fuzz.sched_fuzz_mtx_unlock="${pct1}%schedfuzz(22)" + sysctl kern.sched_fuzz.sched_fuzz_sleepq="${pct1}%schedfuzz(150)" + + sysctl kern.sched_fuzz.prof_on=1 +} + +setoff() { + sysctl kern.sched_fuzz.prof_on=0 +} + +if [ $# -eq 1 ]; then + case "$1" in + on) seton + ;; + off) setoff + ;; + *) echo "Usage: $0 [on|off]" + exit 1 + ;; + esac +else + seton + ./procfs.sh + setoff +fi From owner-svn-src-user@freebsd.org Tue Apr 24 07:04:56 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 90761FBE11F for ; Tue, 24 Apr 2018 07:04:56 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3BA546D296; Tue, 24 Apr 2018 07:04:56 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 32D297E72; Tue, 24 Apr 2018 07:04:56 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3O74uYd026453; Tue, 24 Apr 2018 07:04:56 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3O74uGE026452; Tue, 24 Apr 2018 07:04:56 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804240704.w3O74uGE026452@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 07:04:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332913 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332913 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 07:04:56 -0000 Author: pho Date: Tue Apr 24 07:04:55 2018 New Revision: 332913 URL: https://svnweb.freebsd.org/changeset/base/332913 Log: Added a symlink test scenario. Sponsored by: Dell EMC Isilon Added: user/pho/stress2/misc/symlink3.sh (contents, props changed) Added: user/pho/stress2/misc/symlink3.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/symlink3.sh Tue Apr 24 07:04:55 2018 (r332913) @@ -0,0 +1,71 @@ +#!/bin/sh + +# +# Copyright (c) 2016 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +# ufs umount(1) busy test scenario +# "umount: unmount of /mnt failed: Device busy" seen. +# Not seen of FreeBSD HEAD. + +. ../default.cfg + +mount | grep $mntpoint | grep -q /dev/md && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart +mdconfig -a -t swap -s 1g -u $mdstart +bsdlabel -w md$mdstart auto +newfs $newfs_flags md${mdstart}$part > /dev/null +mount /dev/md${mdstart}$part $mntpoint +chmod 777 $mntpoint +umount $mntpoint + +export runRUNTIME=1m +export RUNDIR=$mntpoint/stressX + +export LOAD=100 +export symlinkLOAD=100 +export TESTPROGS=" +testcases/fts/fts +testcases/symlink/symlink +" + +for i in `jot 10`; do + mount /dev/md${mdstart}$part $mntpoint + + su $testuser -c 'cd ..; ./testcases/run/run $TESTPROGS' + + n=0 + while mount | grep $mntpoint | grep -q /dev/md; do + umount $mntpoint || sleep 1 + n=$((n + 1)) + [ $n -gt 30 ] && { echo FAIL; exit 1; } + done +done +mdconfig -d -u $mdstart +exit 0 From owner-svn-src-user@freebsd.org Tue Apr 24 07:28:55 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6C664FBEAD5 for ; Tue, 24 Apr 2018 07:28:55 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1F72772CF3; Tue, 24 Apr 2018 07:28:55 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0056210190; Tue, 24 Apr 2018 07:28:55 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3O7Ssw1036614; Tue, 24 Apr 2018 07:28:54 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3O7SsBO036613; Tue, 24 Apr 2018 07:28:54 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804240728.w3O7SsBO036613@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 07:28:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332914 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332914 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 07:28:55 -0000 Author: pho Date: Tue Apr 24 07:28:54 2018 New Revision: 332914 URL: https://svnweb.freebsd.org/changeset/base/332914 Log: Added a simple dtrace test scenario. Sponsored by: Dell EMC Isilon Added: user/pho/stress2/misc/dtrace.sh (contents, props changed) Added: user/pho/stress2/misc/dtrace.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/dtrace.sh Tue Apr 24 07:28:54 2018 (r332914) @@ -0,0 +1,70 @@ +#!/bin/sh + +# +# Copyright (c) 2016 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Simple dtrace(1) test scenario. +# No problems seen. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +. ../default.cfg +dtrace -n 'dtrace:::BEGIN { exit(0); }' > /dev/null 2>&1 || exit 0 + +mount | grep "on $mntpoint " | grep -q /dev/md && umount -f $mntpoint +[ -c /dev/md$mdstart ] && mdconfig -d -u $mdstart +mdconfig -a -t swap -s 2g -u $mdstart +bsdlabel -w md$mdstart auto +newfs md${mdstart}$part > /dev/null +mount /dev/md${mdstart}$part $mntpoint +chmod 777 $mntpoint + +export runRUNTIME=5m +export RUNDIR=$mntpoint/stressX + +log=/tmp/dtrace.$$ +trap "rm -f $log" EXIT INT +dtrace -w -n 'syscall::*read:entry,syscall::*write:entry {\ + @rw[execname,probefunc] = count(); }' > $log 2>&1 & +pid=$! +sleep 1 +su $testuser -c 'cd ..; ./run.sh marcus.cfg' > /dev/null 2>&1 +kill -INT $pid > /dev/null 2>&1 +while pgrep -q dtrace; do + pkill dtrace + sleep 2 +done +wait +tail -5 $log + +while mount | grep "on $mntpoint " | grep -q /dev/md; do + umount $mntpoint || sleep 1 +done +mdconfig -d -u $mdstart +kldstat | grep -q dtraceall && + kldunload dtraceall.ko +exit 0 From owner-svn-src-user@freebsd.org Tue Apr 24 07:40:52 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 86E23FBEDF9 for ; Tue, 24 Apr 2018 07:40:52 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3C3DD75B93; Tue, 24 Apr 2018 07:40:52 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1D1B410436; Tue, 24 Apr 2018 07:40:52 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3O7eqOM041832; Tue, 24 Apr 2018 07:40:52 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3O7epeR041829; Tue, 24 Apr 2018 07:40:51 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804240740.w3O7epeR041829@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 07:40:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332915 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332915 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 07:40:52 -0000 Author: pho Date: Tue Apr 24 07:40:51 2018 New Revision: 332915 URL: https://svnweb.freebsd.org/changeset/base/332915 Log: Added some old test which have not yet caught any problems. Sponsored by: Dell EMC Isilon Added: user/pho/stress2/misc/exlock.sh (contents, props changed) user/pho/stress2/misc/jumbo.sh (contents, props changed) user/pho/stress2/misc/lstat.sh (contents, props changed) user/pho/stress2/misc/maxproc.sh (contents, props changed) Added: user/pho/stress2/misc/exlock.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/exlock.sh Tue Apr 24 07:40:51 2018 (r332915) @@ -0,0 +1,124 @@ +#!/bin/sh + +# +# Copyright (c) 2014 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +# Simple O_EXLOCK test scenario. + +. ../default.cfg + +here=`pwd` +cd /tmp +sed '1,/^EOF/d' < $here/$0 > exlock.c +mycc -o exlock -Wall -Wextra exlock.c || exit 1 +rm -f exlock.c +cd $here + +mount | grep $mntpoint | grep -q /dev/md && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart + +mdconfig -a -t swap -s 2g -u $mdstart || exit 1 +bsdlabel -w md$mdstart auto +newfs $newfs_flags md${mdstart}$part > /dev/null +mount /dev/md${mdstart}$part $mntpoint +chmod 777 $mntpoint + +su $testuser -c "cd $mntpoint; /tmp/exlock" + +while mount | grep $mntpoint | grep -q /dev/md; do + umount $mntpoint || sleep 1 +done +mdconfig -d -u $mdstart +rm -f /tmp/exlock +exit +EOF +#include +#include + +#include +#include +#include +#include + +char buf[128]; + +#define PARALLEL 3 + +static void +tst(char *file, int n) +{ + int fd, i; + + for (i = 0; i < (int)sizeof(buf); i++) + buf[i] = '0' + n; + + for (i = 0; i < 1024 * 1024; i++) { + if ((fd = open(file, O_RDWR | O_CREAT | O_APPEND | O_EXLOCK, + 0644)) == -1) + err(1, "open(%s)", file); + if (write(fd, buf, sizeof(buf)) != sizeof(buf)) + err(1, "write"); + close(fd); + } + + _exit(0); +} +static void +test(void) +{ + int i; + char file[80]; + + snprintf(file, sizeof(file), "f06%d", getpid()); + + for (i = 0; i < 3; i++) + if (fork() == 0) + tst(file, i); + for (i = 0; i < 3; i++) + wait(NULL); + + unlink(file); + + _exit(0); +} + +int +main(void) +{ + int i; + + for (i = 0; i < PARALLEL; i++) + if (fork() == 0) + test(); + for (i = 0; i < PARALLEL; i++) + wait(NULL); + + return (0); +} Added: user/pho/stress2/misc/jumbo.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/jumbo.sh Tue Apr 24 07:40:51 2018 (r332915) @@ -0,0 +1,224 @@ +#!/bin/sh + +# +# Copyright (c) 2014 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Stress the jumbo mbuf allocation +# vmstat -z | sed -n '1p;/jumbo/p' + +. ../default.cfg + +here=`pwd` +cd /tmp +sed '1,/^EOF/d' < $here/$0 > jumbo.c +mycc -o jumbo -Wall -Wextra -O2 jumbo.c || exit 1 +rm -f jumbo.c + +log=/tmp/mbuf.log +nb=80 +host=localhost +[ $# -eq 1 ] && host=$1 +( + for i in `jot $nb 0`; do + /tmp/jumbo $((12345 + $i)) & + done + sleep 30 + for i in `jot $nb 0`; do + /tmp/jumbo $host $((12345 + $i)) & + done + for i in `jot $nb 0`; do + wait + done +) > $log 2>&1 + +rm -f /tmp/jumbo +grep -q FAIL $log && { cat $log 1>&2; exit 1; } +rm -f $log +exit 0 +EOF +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define MX (1024 * 1024) +#define RETRIES 5 +#define TIMEOUT 1200 + +char *host; +int loops, port, server; + +void +ahandler(int s __unused) +{ + if (server) + fprintf(stderr, "FAIL Server timed out after %d loops.\n", + loops); + else + fprintf(stderr, "FAIL Client timed out after %d loops.\n", + loops); + _exit(0); +} + + +static void +reader(void) { + socklen_t len; + struct sockaddr_in inetaddr, inetpeer; + int *buf, i, n, msgsock, on, tcpsock; + + setproctitle("reader - init"); + on = 1; + if ((tcpsock = socket(AF_INET, SOCK_STREAM, 0)) < 0) + err(1, "socket(), %s:%d", __FILE__, __LINE__); + + if (setsockopt(tcpsock, + SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)) < 0) + err(1, "setsockopt(), %s:%d", __FILE__, __LINE__); + + inetaddr.sin_family = AF_INET; + inetaddr.sin_addr.s_addr = INADDR_ANY; + inetaddr.sin_port = htons(port); + inetaddr.sin_len = sizeof(inetaddr); + + signal(SIGALRM, ahandler); + alarm(TIMEOUT); + if (bind(tcpsock, + (struct sockaddr *)&inetaddr, sizeof (inetaddr)) < 0) + err(1, "bind(), %s:%d", __FILE__, __LINE__); + + if (listen(tcpsock, 5) < 0) + err(1, "listen(), %s:%d", __FILE__, __LINE__); + + len = sizeof(inetpeer); + if ((msgsock = accept(tcpsock, + (struct sockaddr *)&inetpeer, &len)) < 0) + err(1, "accept(), %s:%d", __FILE__, __LINE__); + + if ((buf = malloc(MX)) == NULL) + err(1, "malloc(%d), %s:%d", MX, __FILE__, __LINE__); + setproctitle("reader"); + for (i = 4096; i < MX; i += 1024) { + alarm(TIMEOUT); + if ((n = recvfrom(msgsock, buf, i, MSG_WAITALL, NULL, + NULL)) < 0) { + if (errno == EAGAIN) + continue; + err(1, "read(), %s:%d", __FILE__, __LINE__); + } + if (n == 0) + break; + + loops++; + } + close(msgsock); + _exit(0); +} + +static void +writer(void) { + struct sockaddr_in inetaddr; + struct hostent *hostent; + int i, on, r, tcpsock; + char *line; + + setproctitle("writer - init"); + signal(SIGALRM, ahandler); + alarm(TIMEOUT); + on = 1; + for (i = 0; i < RETRIES; i++) { + if ((tcpsock = socket(AF_INET, SOCK_STREAM, 0)) < 0) + err(1, "socket(), %s:%d", __FILE__, __LINE__); + + if (setsockopt(tcpsock, + SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)) < 0) + err(1, "setsockopt(), %s:%d", __FILE__, __LINE__); + + if ((hostent = gethostbyname (host)) == NULL) + err(1, "gethostbyname(%s)", host); + bzero((char *) &inetaddr, sizeof(inetaddr)); + memcpy (&inetaddr.sin_addr.s_addr, hostent->h_addr, + sizeof (struct in_addr)); + + inetaddr.sin_family = AF_INET; + inetaddr.sin_port = htons(port); + inetaddr.sin_len = sizeof(inetaddr); + + r = connect(tcpsock, (struct sockaddr *) &inetaddr, + sizeof(inetaddr)); + if (r == 0) + break; + sleep(1); + close(tcpsock); + } + if (r < 0) + err(1, "connect(%s, %d), %s:%d", host, port, __FILE__, + __LINE__); + + setproctitle("writer"); + if ((line = malloc(MX)) == NULL) + err(1, "malloc(%d), %s:%d", MX, __FILE__, __LINE__); + alarm(TIMEOUT); + for (i = sysconf(_SC_PAGESIZE); i < MX; i += 1024) { + if (write(tcpsock, line, i) < 0) + err(1, "socket write(). %s:%d", __FILE__, __LINE__); + loops++; + } + close(tcpsock); + + return; +} + +int +main(int argc, char **argv) +{ + + if (argc == 2) { + server = 1; + port = atoi(argv[1]); + reader(); + } else if (argc == 3) { + host = argv[1]; + port = atoi(argv[2]); + writer(); + } else + errx(1, "Usage: %s {} \n", argv[0]); + + return (0); +} Added: user/pho/stress2/misc/lstat.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/lstat.sh Tue Apr 24 07:40:51 2018 (r332915) @@ -0,0 +1,238 @@ +#!/bin/sh + +# +# Copyright (c) 2016 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Hunt for; +# Bug 204764 - Filesystem deadlock, process in vodead state +# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204764 +# No problem seen. + +. ../default.cfg + +dir=/tmp +odir=`pwd` +cd $dir +sed '1,/^EOF/d' < $odir/$0 > $dir/lstat.c +mycc -o lstat -Wall -Wextra -O0 -g lstat.c || exit 1 +rm -f lstat.c +cd $odir + +mount | grep "on $mntpoint " | grep -q /dev/md && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart +mdconfig -a -t swap -s 1g -u $mdstart || exit 1 +bsdlabel -w md$mdstart auto +newfs -n -b 4096 -f 512 -i 1024 md${mdstart}$part > /dev/null +mount -o async /dev/md${mdstart}$part $mntpoint || exit 1 + +path=$mntpoint/a/b/c +mkdir -p $path + +$dir/lstat $path + +while mount | grep "on $mntpoint " | grep -q /dev/md; do + umount $mntpoint || sleep 1 +done +mdconfig -d -u $mdstart +rm -rf $dir/lstat $wdir/lstat.tmp.* +exit + +EOF +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static volatile u_int *dirs, *share; +static char *arg; + +#define R1 0 +#define R2 1 + +#define MXDIRS 3000 +#define PARALLEL 2 +#define RUNTIME 600 +#define SLPTIME 400 + +static void +tfts(int idx) +{ + FTS *fts; + FTSENT *p; + struct stat sb; + int ftsoptions; + char *args[2]; + + if (idx != 0) + _exit(0); + + ftsoptions = FTS_PHYSICAL; + args[0] = arg, + args[1] = 0; + + setproctitle("fts"); + while (share[R2] == 0) { + if ((fts = fts_open(args, ftsoptions, NULL)) == NULL) + err(1, "fts_open"); + + while ((p = fts_read(fts)) != NULL) { + lstat(fts->fts_path, &sb); + if (share[R2] == 1) + break; + } + + if (fts_close(fts) == -1) + err(1, "fts_close()"); + } + + _exit(0); +} + +static int +test(int idx) +{ + struct stat sb; + pid_t fpid, pd, pid; + size_t len; + int i, n, r; + char dir[128], path[128]; + + atomic_add_int(&share[R1], 1); + while (share[R1] != PARALLEL) + ; + + len = PAGE_SIZE; + if ((dirs = mmap(NULL, len, PROT_READ | PROT_WRITE, + MAP_ANON | MAP_SHARED, -1, 0)) == MAP_FAILED) + err(1, "mmap"); + + if ((fpid = fork()) == 0) + tfts(idx); + + pid = getpid(); + snprintf(dir, sizeof(dir), "%s/dir.%d", arg, pid); + if (mkdir(dir, 0777) == -1) + err(1, "mkdir(%s)", dir); + if (chdir(dir) == -1) + err(1, "chdir(%s)", dir); + if ((pd = fork()) == 0) { + setproctitle("mkdir"); + i = 0; + while (share[R2] == 0) { + snprintf(path, sizeof(path), "%s/d.%d.%d", arg, pid, + i); + n = 0; + while (dirs[0] > MXDIRS && share[R2] == 0) + usleep(SLPTIME); + while ((r = mkdir(path, 0777)) == -1) { + if (errno != EMLINK) + err(1, "mkdir(%s) @ %d", path, + __LINE__); + usleep(SLPTIME); + if (share[2] == 1) + break; + } + if (r == 0) { + atomic_add_int(&dirs[0], 1); + i++; + } + } + + _exit(0); + } + + i = 0; + setproctitle("rmdir"); + while (dirs[0] > 0 || share[R2] == 0) { + n = 0; + if (dirs[0] < MXDIRS / 2) + usleep(SLPTIME); + snprintf(path, sizeof(path), "%s/d.%d.%d", arg, pid, i); + while (lstat(path, &sb) == -1 && share[R2] == 0) { + usleep(SLPTIME); + } + if (rmdir(path) == -1) { + if (errno != ENOENT) + err(1, "rmdir(%s)", path); + } else { + atomic_add_int(&dirs[0], -1); + i++; + } + } + waitpid(pd, NULL, 0); + waitpid(fpid, NULL, 0); + + chdir(".."); + if ((rmdir(dir)) == -1) + err(1, "unlink(%s)", dir); + + _exit(0); +} + +int +main(int argc, char *argv[]) +{ + size_t len; + int e, i, pids[PARALLEL], status; + + if (argc != 2) + errx(1, "Usage: %s ", argv[0]); + arg = argv[1]; + + e = 0; + len = PAGE_SIZE; + if ((share = mmap(NULL, len, PROT_READ | PROT_WRITE, + MAP_ANON | MAP_SHARED, -1, 0)) == MAP_FAILED) + err(1, "mmap"); + + share[R1] = 0; + for (i = 0; i < PARALLEL; i++) { + if ((pids[i] = fork()) == 0) + test(i); + } + sleep(RUNTIME); + share[R2] = 1; + for (i = 0; i < PARALLEL; i++) { + waitpid(pids[i], &status, 0); + e += status == 0 ? 0 : 1; + } + + return (e); +} Added: user/pho/stress2/misc/maxproc.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/maxproc.sh Tue Apr 24 07:40:51 2018 (r332915) @@ -0,0 +1,169 @@ +#!/bin/sh + +# +# Copyright (c) 2014 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +# Test that a non root user can at most have maxproc - 10 processes. + +. ../default.cfg + +here=`pwd` +cd /tmp +sed '1,/^EOF/d' < $here/$0 > maxproc.c +mycc -o maxproc -Wall -Wextra maxproc.c -lkvm || exit 1 +rm -f maxproc.c +[ `sysctl -n kern.maxproc` -gt 37028 ] && exit 0 # Excessive run time +cd $here + +/tmp/maxproc + +rm -f /tmp/maxproc +exit +EOF +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + NL_NPROCS, + NL_MAXPROC, + NL_MARKER +}; + +static struct { + int order; + const char *name; +} namelist[] = { + { NL_NPROCS, "_nprocs" }, + { NL_MAXPROC, "_maxproc" }, + { NL_MARKER, "" }, +}; + +#define NNAMES (sizeof(namelist) / sizeof(*namelist)) +#define MULTIUSERFUZZ 5 + +static struct nlist nl[NNAMES]; + +static void +t2(void) +{ + pid_t p; + + for (;;) { + if ((p = fork()) == 0) { + sleep(2); + _exit(0); + } + if (p == -1) + break; + } +} + +static void +t1(int priv) +{ + pid_t p; + struct passwd *pw; + + if ((p = fork()) == 0) { + if ((pw = getpwnam("nobody")) == NULL) + err(1, "no such user: nobody"); + + if (priv == 0) { + if (setgroups(1, &pw->pw_gid) || + setegid(pw->pw_gid) || setgid(pw->pw_gid) || + seteuid(pw->pw_uid) || setuid(pw->pw_uid)) + err(1, "Can't drop privileges to \"nobody\""); + } + endpwent(); + + t2(); + _exit(0); + } + waitpid(p, NULL, 0); +} + +int +getprocs(void) +{ + kvm_t *kd; + int i, nprocs, maxproc; + char buf[_POSIX2_LINE_MAX]; + char *nlistf, *memf; + + nlistf = memf = NULL; + for (i = 0; i < (int)NNAMES; i++) + nl[namelist[i].order].n_name = strdup(namelist[i].name); + + if ((kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, buf)) == NULL) + errx(1, "kvm_openfile(%s, %s): %s", nlistf, memf, buf); + if (kvm_nlist(kd, nl) == -1) + errx(1, "kvm_nlist: %s", kvm_geterr(kd)); + if (kvm_read(kd, nl[NL_NPROCS].n_value, &nprocs, + sizeof(nprocs)) != sizeof(nprocs)) + errx(1, "kvm_read(): %s", kvm_geterr(kd)); + if (kvm_read(kd, nl[NL_MAXPROC].n_value, &maxproc, + sizeof(maxproc)) != sizeof(maxproc)) + errx(1, "kvm_read(): %s", kvm_geterr(kd)); + kvm_close(kd); + + return (maxproc - nprocs - 1); +} + +int +main(void) +{ + int i, n; + + alarm(1200); + n = getprocs(); + for (i = 0; i < n / 10 * 8; i++) { + if (fork() == 0) { + sleep(2); + _exit(0); + } + } + + t1(0); + + n = getprocs(); + if (n < 10 - MULTIUSERFUZZ) + errx(1, "FAIL: nprocs = %d\n", n); + + return (0); +} From owner-svn-src-user@freebsd.org Tue Apr 24 07:42:03 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D1E8CFBEFDC for ; Tue, 24 Apr 2018 07:42:03 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F184D76208; Tue, 24 Apr 2018 07:42:02 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EC75C10493; Tue, 24 Apr 2018 07:42:02 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3O7g2Se046249; Tue, 24 Apr 2018 07:42:02 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3O7g27q046248; Tue, 24 Apr 2018 07:42:02 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804240742.w3O7g27q046248@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 07:42:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332916 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332916 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 07:42:04 -0000 Author: pho Date: Tue Apr 24 07:42:02 2018 New Revision: 332916 URL: https://svnweb.freebsd.org/changeset/base/332916 Log: Fix unmount code. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/tmpfs14.sh Modified: user/pho/stress2/misc/tmpfs14.sh ============================================================================== --- user/pho/stress2/misc/tmpfs14.sh Tue Apr 24 07:40:51 2018 (r332915) +++ user/pho/stress2/misc/tmpfs14.sh Tue Apr 24 07:42:02 2018 (r332916) @@ -63,7 +63,7 @@ done echo "FAIL Unchanged time $m1 $c1 / $1 $2" wait -while mount | grep $mntpoint | grep -q /dev/md; do +while mount | grep $mntpoint | grep -q tmpfs; do umount $mntpoint || sleep 1 done rm -f /tmp/tmpfs14 From owner-svn-src-user@freebsd.org Tue Apr 24 08:48:21 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 98329FC04DE for ; Tue, 24 Apr 2018 08:48:21 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4A63D859BE; Tue, 24 Apr 2018 08:48:21 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4132410E36; Tue, 24 Apr 2018 08:48:21 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3O8mLNu077101; Tue, 24 Apr 2018 08:48:21 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3O8mLMQ077100; Tue, 24 Apr 2018 08:48:21 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804240848.w3O8mLMQ077100@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 08:48:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332917 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332917 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 08:48:21 -0000 Author: pho Date: Tue Apr 24 08:48:20 2018 New Revision: 332917 URL: https://svnweb.freebsd.org/changeset/base/332917 Log: Added problem found. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/mkfifo.sh Modified: user/pho/stress2/misc/mkfifo.sh ============================================================================== --- user/pho/stress2/misc/mkfifo.sh Tue Apr 24 07:42:02 2018 (r332916) +++ user/pho/stress2/misc/mkfifo.sh Tue Apr 24 08:48:20 2018 (r332917) @@ -35,6 +35,9 @@ # but page fault seen in scheduler() due to a _thread_lock_flags() call on # an inactive td. +# Fault seen in "softdep_disk_io_initiation+0x41": +# https://people.freebsd.org/~pho/stress/log/mkfifo.txt + # Run with mkfifo.cfg on a 2g swap backed MD . ../default.cfg From owner-svn-src-user@freebsd.org Tue Apr 24 10:02:14 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A8024FC20DD for ; Tue, 24 Apr 2018 10:02:13 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2BC1676D06; Tue, 24 Apr 2018 10:02:13 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0DD2011B03; Tue, 24 Apr 2018 10:02:13 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3OA2DBw016474; Tue, 24 Apr 2018 10:02:13 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3OA2Cjn016471; Tue, 24 Apr 2018 10:02:12 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804241002.w3OA2Cjn016471@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 10:02:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332919 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332919 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 10:02:14 -0000 Author: pho Date: Tue Apr 24 10:02:12 2018 New Revision: 332919 URL: https://svnweb.freebsd.org/changeset/base/332919 Log: Added more mkfifo(2) tests. Sponsored by: Dell EMC Isilon Added: user/pho/stress2/misc/mkfifo5.sh (contents, props changed) user/pho/stress2/misc/mkfifo6.sh (contents, props changed) user/pho/stress2/misc/mkfifo7.sh (contents, props changed) Added: user/pho/stress2/misc/mkfifo5.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/mkfifo5.sh Tue Apr 24 10:02:12 2018 (r332919) @@ -0,0 +1,216 @@ +#!/bin/sh + +# +# Copyright (c) 2017 Dell EMC Isilon +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# mkfifo(2), select(2) with tmpfs(5) scenario. + +. ../default.cfg +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +dir=/tmp +odir=`pwd` +cd $dir +sed '1,/^EOF/d' < $odir/$0 > $dir/mkfifo5.c +mycc -o mkfifo5 -Wall -Wextra -O0 -g mkfifo5.c || exit 1 +rm -f mkfifo5.c +cd $odir + +mount | grep -q "on $mntpoint " && umount -f $mntpoint +mount -o size=1g -t tmpfs tmpfs $mntpoint + +fifo=$mntpoint/fifo.file +cd $mntpoint +/tmp/mkfifo5 $fifo +s=$? +cd $odir + +while mount | grep "on $mntpoint " | grep -q tmpfs; do + umount $mntpoint || sleep 1 +done +rm -rf /tmp/mkfifo5 +exit $s + +EOF +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +static char *path; + +#define PARALLEL 1 + +static void +reader(void) +{ + fd_set rset; + struct timeval timeout; + int fd, n, r; + char ch; + + do { + if((fd = open(path, O_RDONLY)) == -1) + if (errno != EINTR) + err(1, "open(%s, O_RDONLY)", + path); + if (fd == -1) + warn("open(%s) ro", path); + } while (fd == -1); + + /* Read one character */ + FD_ZERO(&rset); + FD_SET(fd, &rset); + if ((n = select(fd + 1, &rset, NULL, NULL, NULL)) < 0) + if (errno != EINTR) + err(1, "select()"); + if (n == 1 && FD_ISSET(fd, &rset)) { + r = read(fd, &ch, 1); + if (r == -1) + err(1, "read"); + if (r == 0) + fprintf(stderr, "read(1): EOF\n"); + } + + /* timeout */ + ch = 'z'; + FD_ZERO(&rset); + FD_SET(fd, &rset); + timeout.tv_sec = 1; + timeout.tv_usec = 0; + if ((n = select(fd + 1, &rset, NULL, NULL, &timeout)) < 0) + if (errno != EINTR) + err(1, "select()"); + if (n != 1) + fprintf(stderr, "FAIL Expected n == 0, got %d\n", n); + if (n == 1 && FD_ISSET(fd, &rset)) { + r = read(fd, &ch, 1); + if (r == -1) + err(1, "read"); + if (r == 0) + fprintf(stderr, "read(2): EOF\n"); + } + + /* timeout */ + ch = 'z'; + FD_ZERO(&rset); + FD_SET(fd, &rset); + timeout.tv_sec = 1; + timeout.tv_usec = 0; + if ((n = select(fd + 1, &rset, NULL, NULL, &timeout)) < 0) + if (errno != EINTR) + err(1, "select()"); + if (n != 1) + fprintf(stderr, "FAIL Expected n == 0, got %d\n", n); + if (n == 1 && FD_ISSET(fd, &rset)) { + r = read(fd, &ch, 1); + if (r == -1) + err(1, "read"); + if (r != 0) + fprintf(stderr, "read(3): %c\n", ch); + } + + if (close(fd) == -1) + err(1, "close() in child"); + _exit(n == 1 ? 0 : 1); +} + +static void +writer(void) +{ + int fd; + + do { + if ((fd = open(path, O_WRONLY)) == -1) + if (errno != EINTR) + err(1, "open(%s, O_WRONLY)", + path); + if (fd == -1) + warn("open(%s) wr", path); + } while (fd == -1); + if (write(fd, "a", 1) != 1) + err(1, "write one"); + if (write(fd, "b", 1) != 1) + err(1, "write one"); + if (close(fd) == -1) + warn("close() in parent"); +} + +static void +test(void) +{ + pid_t pid; + int status; + + if ((pid = fork()) == 0) + reader(); + writer(); + + if (waitpid(pid, &status, 0) != pid) + err(1, "waitpid(%d)", pid); + + _exit(status != 0); +} + +int +main(int argc __unused, char *argv[]) +{ + int e, i, pids[PARALLEL], status; + + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + path = argv[1]; + e = 0; + + unlink(path); + if (mkfifo(path, 0640) == -1) + err(1, "mkfifo(%s)", path); + + for (i = 0; i < PARALLEL; i++) { + if ((pids[i] = fork()) == 0) + test(); + } + for (i = 0; i < PARALLEL; i++) { + if (waitpid(pids[i], &status, 0) == -1) + err(1, "waitpid(%d)", pids[i]); + e += status == 0 ? 0 : 1; + } + + return (e); +} Added: user/pho/stress2/misc/mkfifo6.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/mkfifo6.sh Tue Apr 24 10:02:12 2018 (r332919) @@ -0,0 +1,185 @@ +#!/bin/sh + +# +# Copyright (c) 2017 Dell EMC Isilon +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# mkfifo(2), select(2) with tmpfs(5) scenario. + +. ../default.cfg +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +dir=/tmp +odir=`pwd` +cd $dir +sed '1,/^EOF/d' < $odir/$0 > $dir/mkfifo6.c +mycc -o mkfifo6 -Wall -Wextra -O0 -g mkfifo6.c || exit 1 +rm -f mkfifo6.c +cd $odir + +mount | grep -q "on $mntpoint " && umount -f $mntpoint +mount -o size=1g -t tmpfs tmpfs $mntpoint + +fifo=$mntpoint/fifo.file +cd $mntpoint +/tmp/mkfifo6 $fifo +s=$? +cd $odir + +while mount | grep "on $mntpoint " | grep -q tmpfs; do + umount $mntpoint || sleep 1 +done +rm -rf /tmp/mkfifo6 +exit $s + +EOF +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +static char *path; + +#define PARALLEL 1 + +static void +reader(void) +{ + fd_set rset; + struct timeval timeout; + int fd, n, r; + char ch; + + do { + if((fd = open(path, O_RDONLY)) == -1) + if (errno != EINTR) + err(1, "open(%s, O_RDONLY)", + path); + if (fd == -1) + warn("open(%s) ro", path); + } while (fd == -1); + + /* timeout */ + ch = 'z'; + FD_ZERO(&rset); + FD_SET(fd, &rset); + timeout.tv_sec = 0; + timeout.tv_usec = 100000; + if ((n = select(fd + 1, &rset, NULL, NULL, &timeout)) < 0) + if (errno != EINTR) + err(1, "select()"); + if (n != 0) + fprintf(stderr, "FAIL Expected n == 0, got %d\n", n); + if (n == 1 && FD_ISSET(fd, &rset)) { + r = read(fd, &ch, 1); + if (r == -1) + err(1, "read"); + if (r != 0) + fprintf(stderr, "read(2): %c\n", ch); + else + fprintf(stderr, "read(2): EOF\n"); + } + + sleep(3); + if (close(fd) == -1) + err(1, "close() in child"); + _exit(n); +} + +static void +writer(void) +{ + int fd; + + do { + if ((fd = open(path, O_WRONLY)) == -1) + if (errno != EINTR) + err(1, "open(%s, O_WRONLY)", + path); + if (fd == -1) + warn("open(%s) wr", path); + } while (fd == -1); + sleep(2); + if (write(fd, "a", 1) != 1) + err(1, "write one"); + if (close(fd) == -1) + warn("close() in parent"); +} + +static void +test(void) +{ + pid_t pid; + int status; + + if ((pid = fork()) == 0) + reader(); + writer(); + + if (waitpid(pid, &status, 0) != pid) + err(1, "waitpid(%d)", pid); + + _exit(status != 0); +} + +int +main(int argc __unused, char *argv[]) +{ + int e, i, pids[PARALLEL], status; + + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + path = argv[1]; + e = 0; + + unlink(path); + if (mkfifo(path, 0640) == -1) + err(1, "mkfifo(%s)", path); + + for (i = 0; i < PARALLEL; i++) { + if ((pids[i] = fork()) == 0) + test(); + } + for (i = 0; i < PARALLEL; i++) { + if (waitpid(pids[i], &status, 0) == -1) + err(1, "waitpid(%d)", pids[i]); + e += status == 0 ? 0 : 1; + } + + return (e); +} Added: user/pho/stress2/misc/mkfifo7.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/mkfifo7.sh Tue Apr 24 10:02:12 2018 (r332919) @@ -0,0 +1,205 @@ +#!/bin/sh + +# +# Copyright (c) 2017 Dell EMC Isilon +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# mkfifo(2), poll(2) with tmpfs(5) scenario. + +. ../default.cfg +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +dir=/tmp +odir=`pwd` +cd $dir +sed '1,/^EOF/d' < $odir/$0 > $dir/mkfifo7.c +mycc -o mkfifo7 -Wall -Wextra -O0 -g mkfifo7.c || exit 1 +rm -f mkfifo7.c +cd $odir + +mount | grep -q "on $mntpoint " && umount -f $mntpoint +mount -o size=1g -t tmpfs tmpfs $mntpoint + +fifo=$mntpoint/fifo.file +cd $mntpoint +/tmp/mkfifo7 $fifo +s=$? +cd $odir + +while mount | grep "on $mntpoint " | grep -q tmpfs/md; do + umount $mntpoint || sleep 1 +done +rm -rf /tmp/mkfifo7 +exit $s + +EOF +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static char *path; + +#define PARALLEL 1 + +static void +reader(void) +{ + struct pollfd pfd; + int fd, n, r; + char ch; + + do { + if((fd = open(path, O_RDONLY)) == -1) + if (errno != EINTR) + err(1, "open(%s, O_RDONLY)", + path); + if (fd == -1) + warn("open(%s) ro", path); + } while (fd == -1); + + /* Read one character */ + pfd.fd = fd; + pfd.events = POLLIN; + if ((n = poll(&pfd, 1, 0)) == -1) + err(1, "poll()"); + if (n == 1) { + r = read(fd, &ch, 1); + if (r == -1) + err(1, "read"); + if (r != 0) + fprintf(stderr, "read(1): %c\n", ch); + else + fprintf(stderr, "read(1): EOF\n"); + } + + /* timeout */ + ch = 'z'; + if ((n = poll(&pfd, 1, 7000)) == -1) + err(1, "poll()"); + if (n != 1) + fprintf(stderr, "FAIL Expected n == 1, got %d\n", n); + if (n == 1) { + r = read(fd, &ch, 1); + if (r == -1) + err(1, "read"); + if (r == 0) + fprintf(stderr, "read(2): EOF\n"); + } + + /* timeout */ + ch = 'z'; + if ((n = poll(&pfd, 1, 7000)) == -1) + err(1, "poll()"); + if (n != 1) + fprintf(stderr, "FAIL Expected n == 1, got %d\n", n); + if (n == 1) { + r = read(fd, &ch, 1); + if (r == -1) + err(1, "read"); + if (r != 0) + fprintf(stderr, "read(3): %c\n", ch); + } + + if (close(fd) == -1) + err(1, "close() in child"); + _exit(n == 1 ? 0 : 1); +} + +static void +writer(void) +{ + int fd; + + do { + if ((fd = open(path, O_WRONLY)) == -1) + if (errno != EINTR) + err(1, "open(%s, O_WRONLY)", + path); + if (fd == -1) + warn("open(%s) wr", path); + } while (fd == -1); + if (write(fd, "a", 1) != 1) + err(1, "write one"); + if (close(fd) == -1) + warn("close() in parent"); +} + +static void +test(void) +{ + pid_t pid; + int status; + + if ((pid = fork()) == 0) + reader(); + writer(); + + if (waitpid(pid, &status, 0) != pid) + err(1, "waitpid(%d)", pid); + + _exit(status != 0); +} + +int +main(int argc __unused, char *argv[]) +{ + int e, i, pids[PARALLEL], status; + + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + path = argv[1]; + e = 0; + + unlink(path); + if (mkfifo(path, 0640) == -1) + err(1, "mkfifo(%s)", path); + + for (i = 0; i < PARALLEL; i++) { + if ((pids[i] = fork()) == 0) + test(); + } + for (i = 0; i < PARALLEL; i++) { + if (waitpid(pids[i], &status, 0) == -1) + err(1, "waitpid(%d)", pids[i]); + e += status == 0 ? 0 : 1; + } + + return (e); +} From owner-svn-src-user@freebsd.org Tue Apr 24 10:03:17 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B0B5EFC215C for ; Tue, 24 Apr 2018 10:03:17 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3881B773CF; Tue, 24 Apr 2018 10:03:17 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3379911B23; Tue, 24 Apr 2018 10:03:17 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3OA3HqP016600; Tue, 24 Apr 2018 10:03:17 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3OA3HeZ016599; Tue, 24 Apr 2018 10:03:17 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804241003.w3OA3HeZ016599@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 10:03:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332921 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332921 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 10:03:18 -0000 Author: pho Date: Tue Apr 24 10:03:16 2018 New Revision: 332921 URL: https://svnweb.freebsd.org/changeset/base/332921 Log: One more mkfifo(2) test. Sponsored by: Dell EMC Isilon Added: user/pho/stress2/misc/mkfifo4.sh (contents, props changed) Added: user/pho/stress2/misc/mkfifo4.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/mkfifo4.sh Tue Apr 24 10:03:16 2018 (r332921) @@ -0,0 +1,188 @@ +#!/bin/sh + +# +# Copyright (c) 2015 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +. ../default.cfg + +# "Assertion vap->va_type == VDIR failed" seen on non HEAD. + +dir=/tmp +odir=`pwd` +cd $dir +sed '1,/^EOF/d' < $odir/$0 > $dir/mkfifo4.c +mycc -o mkfifo4 -Wall -Wextra -O0 -g mkfifo4.c || exit 1 +rm -f mkfifo4.c +cd $odir + +fifo=/tmp/mkfifo4.fifo +trap "rm -f $fifo /tmp/mkfifo4" EXIT INT + +export runRUNTIME=5m +(cd ..; ./run.sh disk.cfg) > /dev/null 2>&1 & +sleep .2 + +while pgrep -fq run.sh; do + timeout 300 /tmp/mkfifo4 | grep -v Done + [ $? -eq 124 ] && + { echo "Timedout"; exit 1; } +done +wait + +exit $s +EOF +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#define ATIME 1 +#define MXRETRY 100 +#define LOOPS 1000000 + +volatile int sigs; +char file[] = "/tmp/mkfifo4.fifo"; + +static void +hand(int i __unused) { /* handler */ + sigs++; +} + +int +main(void) +{ + pid_t pid, hpid; + struct sigaction sa; + int e, fd, fd2, i, status; + int failures, r, retries, w; + char c; + + sa.sa_handler = hand; + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; + if (sigaction(SIGALRM, &sa, NULL) == -1) + err(1, "sigaction"); + + sa.sa_handler = SIG_IGN; + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; + if (sigaction(SIGPIPE, &sa, NULL) == -1) + err(1, "sigaction"); + + unlink(file); + if (mkfifo(file, 0640) == -1) + err(1, "mkfifo(%s)", file); + if ((hpid = fork()) == 0) { + if ((fd2 = open(file, O_WRONLY | O_APPEND)) == -1) + err(1, "hold open of fifo"); + for (;;) + pause(); + _exit(0); + } + + if ((pid = fork()) == 0) { + setproctitle("child"); + r = 0; + for (i = 0; i < LOOPS; i++) { + failures = 0; +restart: + do { + if ((fd = open(file, O_RDONLY | + O_NONBLOCK)) == -1) + if (errno != EINTR) /* on OS X */ + err(1, "open(%s, O_RDONLY)", + file); + } while (fd == -1); + retries = 0; + do { + if ((e = read(fd, &c, 1)) == -1) { + if (errno != EINTR && + errno != EAGAIN) + err(1, "read(%d, ...)", fd); + } else if (retries++ > MXRETRY) { + close(fd); + usleep(1000); + fprintf(stderr, + "Re-open for read @ %d\n", i); + if (failures++ > 100) + errx(1, + "FAIL: Failure to read"); + goto restart; + } + } while (e <= 0); + r++; + ualarm(ATIME, 0); + if (close(fd) == -1) + err(1, "close() in child"); + alarm(0); + } + fprintf(stdout, "Done child. %d reads, %d signals.\n", r, + sigs); + fflush(stdout); + _exit(0); + } + setproctitle("parent"); + w = 0; + for (i = 0; i < LOOPS; i++) { + do { + if ((fd = open(file, O_WRONLY | O_APPEND | + O_NONBLOCK)) == -1) + if (errno != EINTR && errno != ENXIO) + err(1, "open(%s, O_WRONLY)", file); + } while (fd == -1); + do { + if ((e = write(fd, "a", 1)) != 1) + if (errno != EPIPE && errno != EAGAIN) + err(1, "write(%d, ...)", fd); + } while (e == -1); + w++; + ualarm(ATIME, 0); + if (close(fd) == -1) + err(1, "close() in parent"); + alarm(0); + } + fprintf(stdout, "Done parent. %d writes, %d signals.\n", w, sigs); + + if (waitpid(pid, &status, 0) == -1) + err(1, "wait"); + if (kill(hpid, SIGHUP) == -1) + err(1, "kill %d", hpid); + if (waitpid(hpid, NULL, 0) == -1) + err(1, "wait"); + if (unlink(file) == -1) + err(1, "unlink(%s)", file); + + return (WEXITSTATUS(status)); +} From owner-svn-src-user@freebsd.org Tue Apr 24 10:07:07 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CE803FC227E for ; Tue, 24 Apr 2018 10:07:07 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7348878D1D; Tue, 24 Apr 2018 10:07:07 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6C0EB11B28; Tue, 24 Apr 2018 10:07:07 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3OA77Rf016853; Tue, 24 Apr 2018 10:07:07 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3OA774B016852; Tue, 24 Apr 2018 10:07:07 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804241007.w3OA774B016852@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 10:07:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332923 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332923 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 10:07:08 -0000 Author: pho Date: Tue Apr 24 10:07:07 2018 New Revision: 332923 URL: https://svnweb.freebsd.org/changeset/base/332923 Log: Style fix. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/crossmp5.sh Modified: user/pho/stress2/misc/crossmp5.sh ============================================================================== --- user/pho/stress2/misc/crossmp5.sh Tue Apr 24 10:05:23 2018 (r332922) +++ user/pho/stress2/misc/crossmp5.sh Tue Apr 24 10:07:07 2018 (r332923) @@ -45,7 +45,7 @@ if [ $# -eq 0 ]; then for i in `jot $mounts`; do m=$(( i + mdstart - 1 )) [ ! -d ${mntpoint}$m ] && mkdir ${mntpoint}$m - mount | grep "${mntpoint}$m" | grep -q md$m && + mount | grep "${mntpoint}$m " | grep -q md$m && umount ${mntpoint}$m mdconfig -l | grep -q md$m && mdconfig -d -u $m @@ -68,7 +68,7 @@ if [ $# -eq 0 ]; then mdconfig -d -u $m rm -f $D$m done - + exit 0 else touch /tmp/crossmp.continue if [ $1 = find ]; then From owner-svn-src-user@freebsd.org Tue Apr 24 10:08:12 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C0103FC2328 for ; Tue, 24 Apr 2018 10:08:12 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6882E7949A; Tue, 24 Apr 2018 10:08:12 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 635A911B2A; Tue, 24 Apr 2018 10:08:12 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3OA8Cng016978; Tue, 24 Apr 2018 10:08:12 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3OA8CD9016977; Tue, 24 Apr 2018 10:08:12 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804241008.w3OA8CD9016977@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 10:08:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332925 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332925 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 10:08:12 -0000 Author: pho Date: Tue Apr 24 10:08:12 2018 New Revision: 332925 URL: https://svnweb.freebsd.org/changeset/base/332925 Log: Limit runtime to 5 minutes. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/crossmp6.sh Modified: user/pho/stress2/misc/crossmp6.sh ============================================================================== --- user/pho/stress2/misc/crossmp6.sh Tue Apr 24 10:07:13 2018 (r332924) +++ user/pho/stress2/misc/crossmp6.sh Tue Apr 24 10:08:12 2018 (r332925) @@ -39,6 +39,7 @@ pgrep -q lockd || { echo "lockd not running."; exit 1; } +CONT=/tmp/crossmp6.continue mounts=10 # Number of parallel scripts if [ $# -eq 0 ]; then @@ -75,12 +76,13 @@ else /dev/null 2>&1 (lockf -t 10 ${mntpoint}$2/$0.$$.$i sleep 1 &) > \ /dev/null 2>&1 + [ -f $CONT ] || break done wait else - # The test: Parallel mount and unmounts - for i in `jot 128`; do + start=`date '+%s'` + while [ $((`date '+%s'` - start)) -lt 300 ]; do m=$1 mount -t nfs -o tcp -o nfsv3 -o retrycnt=3 \ -o soft -o rw $nfs_export ${mntpoint}$m @@ -95,5 +97,6 @@ else [ $n -gt 100 ] && exit done done + rm -f $CONT fi fi From owner-svn-src-user@freebsd.org Tue Apr 24 10:09:25 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 92F71FC236F for ; Tue, 24 Apr 2018 10:09:25 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 43557795B2; Tue, 24 Apr 2018 10:09:25 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3D94411B2B; Tue, 24 Apr 2018 10:09:25 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3OA9PBc017056; Tue, 24 Apr 2018 10:09:25 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3OA9POp017055; Tue, 24 Apr 2018 10:09:25 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804241009.w3OA9POp017055@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 10:09:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332926 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332926 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 10:09:25 -0000 Author: pho Date: Tue Apr 24 10:09:24 2018 New Revision: 332926 URL: https://svnweb.freebsd.org/changeset/base/332926 Log: Added missing umount. Style fix. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/crossmp11.sh Modified: user/pho/stress2/misc/crossmp11.sh ============================================================================== --- user/pho/stress2/misc/crossmp11.sh Tue Apr 24 10:08:12 2018 (r332925) +++ user/pho/stress2/misc/crossmp11.sh Tue Apr 24 10:09:24 2018 (r332926) @@ -62,7 +62,7 @@ if [ $# -eq 0 ]; then m=$(( i + mdstart - 1 )) [ ! -d ${mntpoint}$m ] && { mkdir ${mntpoint}$m; chmod 755 ${mntpoint}$m; } - mount | grep "${mntpoint}$m" | grep -q md$m && umount ${mntpoint}$m + mount | grep "${mntpoint}$m " | grep -q md$m && umount ${mntpoint}$m mdconfig -l | grep -q md$m && mdconfig -d -u $m mdconfig -a -t swap -s ${size}m -u $m @@ -82,9 +82,13 @@ if [ $# -eq 0 ]; then for i in `jot $mounts`; do m=$(( i + mdstart - 1 )) + while mount | grep -q "on ${mntpoint}$m "; do + umount ${mntpoint}$m && break + sleep 1 + done mdconfig -d -u $m done - + exit 0 else if [ $1 = find ]; then while [ -f $CONT ]; do From owner-svn-src-user@freebsd.org Tue Apr 24 10:11:02 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2751CFC23B8 for ; Tue, 24 Apr 2018 10:11:02 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CD5CB797F0; Tue, 24 Apr 2018 10:11:01 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C3B5811B4F; Tue, 24 Apr 2018 10:11:01 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3OAB1wL017212; Tue, 24 Apr 2018 10:11:01 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3OAB1qu017211; Tue, 24 Apr 2018 10:11:01 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804241011.w3OAB1qu017211@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 24 Apr 2018 10:11:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332927 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332927 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 10:11:02 -0000 Author: pho Date: Tue Apr 24 10:11:01 2018 New Revision: 332927 URL: https://svnweb.freebsd.org/changeset/base/332927 Log: Style fix. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/crossmp2.sh Modified: user/pho/stress2/misc/crossmp2.sh ============================================================================== --- user/pho/stress2/misc/crossmp2.sh Tue Apr 24 10:09:24 2018 (r332926) +++ user/pho/stress2/misc/crossmp2.sh Tue Apr 24 10:11:01 2018 (r332927) @@ -40,14 +40,15 @@ if [ $# -eq 0 ]; then [ -z "$nfs_export" ] && exit 0 ping -c 2 `echo $nfs_export | sed 's/:.*//'` > /dev/null 2>&1 || exit 0 - mount -t nfs -o tcp -o nfsv3 -o retrycnt=1 -o intr -o soft,timeout=1 \ + mount -t nfs -o tcp -o nfsv3 -o retrycnt=1 -o intr,soft,timeout=1 \ -o rw $nfs_export $mntpoint || exit 0 + sleep .2 umount $mntpoint for i in `jot $mounts`; do mp=${mntpoint}$i [ ! -d $mp ] && mkdir $mp - mount | grep -qw "$mp" && umount $mp + mount | grep -q "$mp " && umount $mp done # start the parallel tests @@ -56,6 +57,7 @@ if [ $# -eq 0 ]; then ./$0 find & done wait + exit 0 else if [ $1 = find ]; then for i in `jot 128`; do @@ -67,16 +69,15 @@ else # The test: Parallel mount and unmounts for i in `jot 128`; do m=$1 - mount -t nfs -o tcp -o nfsv3 -o retrycnt=3 -o intr \ - -o soft -o rw $nfs_export ${mntpoint}$m + mount -t nfs -o tcp -o nfsv3 -o retrycnt=3 \ + -o intr,soft -o rw $nfs_export ${mntpoint}$m sleep .5 opt=`[ $(( m % 2 )) -eq 0 ] && echo -f` n=0 - while mount | grep -qw ${mntpoint}$m; do + while mount | grep -q "${mntpoint}$m "; do umount $opt ${mntpoint}$m > /dev/null 2>&1 - n=$((n + 1)) - [ $n -gt 99 ] && umount -f ${mntpoint}$m > \ - /dev/null 2>&1 + [ $((n += 1)) -gt 99 ] && umount -f \ + ${mntpoint}$m > /dev/null 2>&1 [ $n -gt 100 ] && exit done done From owner-svn-src-user@freebsd.org Tue Apr 24 14:52:18 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C636FFA81D8 for ; Tue, 24 Apr 2018 14:52:18 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7C1F278125; Tue, 24 Apr 2018 14:52:18 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 770E5149D8; Tue, 24 Apr 2018 14:52:18 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3OEqI30061823; Tue, 24 Apr 2018 14:52:18 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3OEqIOw061820; Tue, 24 Apr 2018 14:52:18 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201804241452.w3OEqIOw061820@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 24 Apr 2018 14:52:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332937 - in user/markj/netdump/sys: conf netinet/netdump X-SVN-Group: user X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in user/markj/netdump/sys: conf netinet/netdump X-SVN-Commit-Revision: 332937 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 14:52:19 -0000 Author: markj Date: Tue Apr 24 14:52:17 2018 New Revision: 332937 URL: https://svnweb.freebsd.org/changeset/base/332937 Log: Enable NETDUMP_DEBUG's with a tunable rather than a compile option. Modified: user/markj/netdump/sys/conf/NOTES user/markj/netdump/sys/conf/options user/markj/netdump/sys/netinet/netdump/netdump_client.c Modified: user/markj/netdump/sys/conf/NOTES ============================================================================== --- user/markj/netdump/sys/conf/NOTES Tue Apr 24 14:49:09 2018 (r332936) +++ user/markj/netdump/sys/conf/NOTES Tue Apr 24 14:52:17 2018 (r332937) @@ -1025,8 +1025,9 @@ options TCP_SIGNATURE #include support for RFC 2385 # a smooth scheduling of the traffic. options DUMMYNET +# The NETDUMP option enables netdump(4) client support in the kernel. +# This allows a panicking kernel to transmit a kernel dump to a remote host. options NETDUMP -options NETDUMP_DEBUG ##################################################################### # FILESYSTEM OPTIONS Modified: user/markj/netdump/sys/conf/options ============================================================================== --- user/markj/netdump/sys/conf/options Tue Apr 24 14:49:09 2018 (r332936) +++ user/markj/netdump/sys/conf/options Tue Apr 24 14:52:17 2018 (r332937) @@ -312,8 +312,8 @@ NFS_ROOT opt_nfsroot.h # SMB/CIFS requester NETSMB opt_netsmb.h +# Enable netdump(4) client support. NETDUMP opt_global.h -NETDUMP_DEBUG opt_netdump.h # Options used only in subr_param.c. HZ opt_param.h Modified: user/markj/netdump/sys/netinet/netdump/netdump_client.c ============================================================================== --- user/markj/netdump/sys/netinet/netdump/netdump_client.c Tue Apr 24 14:49:09 2018 (r332936) +++ user/markj/netdump/sys/netinet/netdump/netdump_client.c Tue Apr 24 14:52:17 2018 (r332937) @@ -71,26 +71,22 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef NETDUMP_DEBUG -#define NETDDEBUG(f, ...) \ - printf(("%s: " f), __func__, ## __VA_ARGS__) -#define NETDDEBUG_IF(i, f, ...) \ - if_printf((i), ("%s: " f), __func__, ## __VA_ARGS__) -#if NETDUMP_DEBUG > 1 -#define NETDDEBUGV(f, ...) \ - printf(("%s: " f), __func__, ## __VA_ARGS__) -#define NETDDEBUGV_IF(i, f, ...) \ - if_printf((i), ("%s: " f), __func__, ## __VA_ARGS__) -#else -#define NETDDEBUGV(f, ...) -#define NETDDEBUGV_IF(i, f, ...) -#endif -#else -#define NETDDEBUG(f, ...) -#define NETDDEBUG_IF(i, f, ...) -#define NETDDEBUGV(f, ...) -#define NETDDEBUGV_IF(i, f, ...) -#endif +#define NETDDEBUG(f, ...) do { \ + if (nd_debug > 0) \ + printf(("%s: " f), __func__, ## __VA_ARGS__); \ +} while (0) +#define NETDDEBUG_IF(i, f, ...) do { \ + if (nd_debug > 0) \ + if_printf((i), ("%s: " f), __func__, ## __VA_ARGS__); \ +} while (0) +#define NETDDEBUGV(f, ...) do { \ + if (nd_debug > 1) \ + printf(("%s: " f), __func__, ## __VA_ARGS__); \ +} while (0) +#define NETDDEBUGV_IF(i, f, ...) do { \ + if (nd_debug > 1) \ + if_printf((i), ("%s: " f), __func__, ## __VA_ARGS__); \ +} while (0) static int netdump_arp_gw(void); static void netdump_cleanup(void); @@ -150,6 +146,10 @@ FEATURE(netdump, "Netdump client support"); static SYSCTL_NODE(_net, OID_AUTO, netdump, CTLFLAG_RD, NULL, "netdump parameters"); +static int nd_debug; +SYSCTL_INT(_net_netdump, OID_AUTO, debug, CTLFLAG_RWTUN, + &nd_debug, 0, + "Debug message verbosity"); static int nd_enabled; SYSCTL_INT(_net_netdump, OID_AUTO, enabled, CTLFLAG_RD, &nd_enabled, 0, From owner-svn-src-user@freebsd.org Tue Apr 24 14:55:25 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 251DCFA82D8 for ; Tue, 24 Apr 2018 14:55:25 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A4EE279A93; Tue, 24 Apr 2018 14:55:24 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 99E8F149EE; Tue, 24 Apr 2018 14:55:24 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3OEtOYM062705; Tue, 24 Apr 2018 14:55:24 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3OEtNJw062690; Tue, 24 Apr 2018 14:55:23 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201804241455.w3OEtNJw062690@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 24 Apr 2018 14:55:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332938 - in user/markj/netdump: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/lib/libdtrace cddl/usr.sbin/dwatch cddl/usr.sbin/dwatch/libexec contrib/bsnmp... X-SVN-Group: user X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in user/markj/netdump: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/lib/libdtrace cddl/usr.sbin/dwatch cddl/usr.sbin/dwatch/libexec contrib/bsnmp/snmpd contrib/llvm/inclu... X-SVN-Commit-Revision: 332938 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2018 14:55:25 -0000 Author: markj Date: Tue Apr 24 14:55:22 2018 New Revision: 332938 URL: https://svnweb.freebsd.org/changeset/base/332938 Log: MFH at r332937. Added: user/markj/netdump/cddl/usr.sbin/dwatch/libexec/sendrecv - copied unchanged from r332937, head/cddl/usr.sbin/dwatch/libexec/sendrecv user/markj/netdump/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp - copied unchanged from r332937, head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp user/markj/netdump/etc/rc.d/cfumass - copied unchanged from r332937, head/etc/rc.d/cfumass user/markj/netdump/sys/dev/flash/cqspi.c - copied unchanged from r332937, head/sys/dev/flash/cqspi.c user/markj/netdump/sys/dev/flash/cqspi.h - copied unchanged from r332937, head/sys/dev/flash/cqspi.h user/markj/netdump/sys/dev/flash/n25q.c - copied unchanged from r332937, head/sys/dev/flash/n25q.c user/markj/netdump/sys/dev/flash/qspi_if.m - copied unchanged from r332937, head/sys/dev/flash/qspi_if.m user/markj/netdump/sys/gnu/dts/arm/am572x-idk-common.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/am572x-idk-common.dtsi user/markj/netdump/sys/gnu/dts/arm/am574x-idk.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/am574x-idk.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-opp-witherspoon.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/aspeed-bmc-opp-witherspoon.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-opp-zaius.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/aspeed-bmc-opp-zaius.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-quanta-q71l.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/aspeed-bmc-quanta-q71l.dts user/markj/netdump/sys/gnu/dts/arm/at91-natte.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/at91-natte.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-nattis-2-natte-2.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/at91-nattis-2-natte-2.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d2_ptc_ek.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/at91-sama5d2_ptc_ek.dts user/markj/netdump/sys/gnu/dts/arm/gemini-dlink-dns-313.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/gemini-dlink-dns-313.dts user/markj/netdump/sys/gnu/dts/arm/imx28-ts4600.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx28-ts4600.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-cubox-i-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-cubox-i-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-cubox-i-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-cubox-i-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard2-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard2-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard2-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard2-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard2.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-hummingboard2.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-ts7970.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6dl-ts7970.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-cubox-i-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-cubox-i-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-cubox-i-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-cubox-i-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard2-emmc-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard2-emmc-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard2-som-v15.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard2-som-v15.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard2.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-hummingboard2.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-ts7970.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-ts7970.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-var-dt6customboard.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6q-var-dt6customboard.dts user/markj/netdump/sys/gnu/dts/arm/imx6qdl-hummingboard2-emmc.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-hummingboard2-emmc.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-hummingboard2.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-hummingboard2.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sr-som-brcm.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-sr-som-brcm.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sr-som-emmc.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-sr-som-emmc.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sr-som-ti.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-sr-som-ti.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sr-som.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-sr-som.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-ts7970.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-ts7970.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-var-dart.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx6qdl-var-dart.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-colibri-emmc-eval-v3.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx7d-colibri-emmc-eval-v3.dts user/markj/netdump/sys/gnu/dts/arm/imx7d-colibri-emmc.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx7d-colibri-emmc.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-pico-pi.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/imx7d-pico-pi.dts user/markj/netdump/sys/gnu/dts/arm/imx7d-pico.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/imx7d-pico.dtsi user/markj/netdump/sys/gnu/dts/arm/logicpd-som-lv-35xx-devkit.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/logicpd-som-lv-35xx-devkit.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-som-lv-baseboard.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/logicpd-som-lv-baseboard.dtsi user/markj/netdump/sys/gnu/dts/arm/logicpd-torpedo-35xx-devkit.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/logicpd-torpedo-35xx-devkit.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-torpedo-baseboard.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/logicpd-torpedo-baseboard.dtsi user/markj/netdump/sys/gnu/dts/arm/ls1021a-moxa-uc-8410a.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/ls1021a-moxa-uc-8410a.dts user/markj/netdump/sys/gnu/dts/arm/openbmc-flash-layout.dtsi - copied unchanged from r332937, head/sys/gnu/dts/arm/openbmc-flash-layout.dtsi user/markj/netdump/sys/gnu/dts/arm/owl-s500-sparky.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/owl-s500-sparky.dts user/markj/netdump/sys/gnu/dts/arm/ox810se-wd-mbwe.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/ox810se-wd-mbwe.dts user/markj/netdump/sys/gnu/dts/arm/ox820-cloudengines-pogoplug-series-3.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/ox820-cloudengines-pogoplug-series-3.dts user/markj/netdump/sys/gnu/dts/arm/r8a7745-iwg22d-sodimm-dbhd-ca.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/r8a7745-iwg22d-sodimm-dbhd-ca.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h2-plus-orangepi-r1.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/sun8i-h2-plus-orangepi-r1.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-libretech-all-h3-cc.dts - copied unchanged from r332937, head/sys/gnu/dts/arm/sun8i-h3-libretech-all-h3-cc.dts user/markj/netdump/sys/gnu/dts/include/dt-bindings/bus/ - copied from r332937, head/sys/gnu/dts/include/dt-bindings/bus/ user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/am3.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/am3.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/am4.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/am4.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/aspeed-clock.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/aspeed-clock.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/axg-clkc.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/axg-clkc.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/dm814.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/dm814.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/dm816.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/dm816.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/dra7.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/dra7.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/jz4770-cgu.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/jz4770-cgu.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/omap5.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/omap5.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/sprd,sc9860-clk.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/clock/sprd,sc9860-clk.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/gpio/aspeed-gpio.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/gpio/aspeed-gpio.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/gpio/meson-axg-gpio.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/gpio/meson-axg-gpio.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/memory/tegra186-mc.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/memory/tegra186-mc.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/power/mt2712-power.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/power/mt2712-power.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/power/owl-s700-powergate.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/power/owl-s700-powergate.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/reset/amlogic,meson-axg-reset.h - copied unchanged from r332937, head/sys/gnu/dts/include/dt-bindings/reset/amlogic,meson-axg-reset.h user/markj/netdump/sys/i386/linux/linux_copyout.c - copied unchanged from r332937, head/sys/i386/linux/linux_copyout.c user/markj/netdump/sys/netinet/tcp_hpts.c - copied unchanged from r332937, head/sys/netinet/tcp_hpts.c user/markj/netdump/sys/netinet/tcp_hpts.h - copied unchanged from r332937, head/sys/netinet/tcp_hpts.h user/markj/netdump/sys/sys/kern_prefetch.h - copied unchanged from r332937, head/sys/sys/kern_prefetch.h user/markj/netdump/tests/sys/capsicum/ - copied from r332937, head/tests/sys/capsicum/ user/markj/netdump/tests/sys/kern/pdeathsig.c - copied unchanged from r332937, head/tests/sys/kern/pdeathsig.c user/markj/netdump/tests/sys/kern/pdeathsig_helper.c - copied unchanged from r332937, head/tests/sys/kern/pdeathsig_helper.c user/markj/netdump/tools/tools/sortbench/ - copied from r332937, head/tools/tools/sortbench/ Deleted: user/markj/netdump/sys/gnu/dts/arm/cloudengines-pogoplug-series-3.dts user/markj/netdump/sys/gnu/dts/arm/imx6qdl-microsom-ar8035.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-microsom.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-pico.dts user/markj/netdump/sys/gnu/dts/arm/wd-mbwe.dts user/markj/netdump/sys/i386/linux/linux_support.s user/markj/netdump/sys/modules/random/ user/markj/netdump/sys/powerpc/powerpc/fuswintr.c user/markj/netdump/sys/powerpc/powerpc/suswintr.c Modified: user/markj/netdump/ObsoleteFiles.inc user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/zfs.8 user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool.8 user/markj/netdump/cddl/lib/libdtrace/tcp.d user/markj/netdump/cddl/usr.sbin/dwatch/dwatch user/markj/netdump/cddl/usr.sbin/dwatch/libexec/Makefile user/markj/netdump/contrib/bsnmp/snmpd/snmpmod.3 user/markj/netdump/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h user/markj/netdump/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp user/markj/netdump/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp user/markj/netdump/contrib/llvm/lib/Target/X86/X86.h user/markj/netdump/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp user/markj/netdump/contrib/llvm/lib/Target/X86/X86ISelLowering.h user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrCompiler.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrInfo.h user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrInfo.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86InstrSystem.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86RegisterInfo.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86Schedule.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86ScheduleAtom.td user/markj/netdump/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp user/markj/netdump/contrib/llvm/tools/clang/include/clang/Driver/Options.td user/markj/netdump/contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp user/markj/netdump/contrib/llvm/tools/clang/lib/Basic/Targets/X86.h user/markj/netdump/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp user/markj/netdump/contrib/ofed/libibverbs/init.c user/markj/netdump/contrib/top/display.c user/markj/netdump/contrib/top/screen.c user/markj/netdump/contrib/top/screen.h user/markj/netdump/contrib/top/top.c user/markj/netdump/etc/defaults/rc.conf user/markj/netdump/etc/mtree/BSD.tests.dist user/markj/netdump/etc/rc.d/Makefile user/markj/netdump/etc/rc.d/ddb user/markj/netdump/lib/clang/freebsd_cc_version.h user/markj/netdump/lib/clang/include/lld/Common/Version.inc user/markj/netdump/lib/clang/libllvm/Makefile user/markj/netdump/lib/libc/locale/isdigit.3 user/markj/netdump/lib/libc/locale/isxdigit.3 user/markj/netdump/lib/libc/riscv/Makefile.inc user/markj/netdump/lib/libc/riscv/gen/_setjmp.S user/markj/netdump/lib/libc/riscv/gen/fabs.S user/markj/netdump/lib/libc/riscv/gen/flt_rounds.c user/markj/netdump/lib/libc/riscv/gen/setjmp.S user/markj/netdump/lib/libc/stdio/printf.3 user/markj/netdump/lib/libc/stdlib/qsort.3 user/markj/netdump/lib/libc/string/strcpy.3 user/markj/netdump/lib/libc/string/strlen.3 user/markj/netdump/lib/libc/sys/fsync.2 user/markj/netdump/lib/libc/sys/procctl.2 user/markj/netdump/lib/libifconfig/libifconfig_media.c user/markj/netdump/lib/libmd/mdXhl.c user/markj/netdump/lib/libufs/ufs_disk_close.3 user/markj/netdump/lib/msun/riscv/Makefile.inc user/markj/netdump/lib/msun/riscv/fenv.c user/markj/netdump/lib/msun/riscv/fenv.h user/markj/netdump/release/amd64/mkisoimages.sh user/markj/netdump/release/arm/BEAGLEBONE.conf user/markj/netdump/release/arm/GUMSTIX.conf user/markj/netdump/release/arm/PANDABOARD.conf user/markj/netdump/release/arm/RPI-B.conf user/markj/netdump/release/tools/ec2.conf user/markj/netdump/sbin/devd/devd.cc user/markj/netdump/sbin/etherswitchcfg/ifmedia.c user/markj/netdump/sbin/ifconfig/ifclone.c user/markj/netdump/sbin/ifconfig/ifconfig.c user/markj/netdump/sbin/ifconfig/ifconfig.h user/markj/netdump/sbin/ifconfig/ifgroup.c user/markj/netdump/sbin/ifconfig/iflagg.c user/markj/netdump/sbin/ifconfig/ifmedia.c user/markj/netdump/share/man/man4/cfumass.4 user/markj/netdump/share/man/man5/rc.conf.5 user/markj/netdump/share/man/man7/c99.7 user/markj/netdump/share/man/man9/Makefile user/markj/netdump/share/man/man9/OF_device_from_xref.9 user/markj/netdump/share/man/man9/cnv.9 user/markj/netdump/share/man/man9/copy.9 user/markj/netdump/share/man/man9/fetch.9 user/markj/netdump/share/man/man9/printf.9 user/markj/netdump/share/man/man9/store.9 user/markj/netdump/share/misc/committers-src.dot user/markj/netdump/share/mk/bsd.cpu.mk user/markj/netdump/share/mk/bsd.sys.mk user/markj/netdump/stand/efi/boot1/boot1.c user/markj/netdump/stand/efi/boot1/fat-amd64.tmpl.xz user/markj/netdump/stand/efi/boot1/fat-arm.tmpl.xz user/markj/netdump/stand/efi/boot1/fat-arm64.tmpl.xz user/markj/netdump/stand/efi/boot1/fat-i386.tmpl.xz user/markj/netdump/stand/efi/loader/framebuffer.c user/markj/netdump/stand/i386/Makefile.inc user/markj/netdump/sys/amd64/amd64/support.S user/markj/netdump/sys/amd64/amd64/trap.c user/markj/netdump/sys/amd64/linux/linux_sysvec.c user/markj/netdump/sys/amd64/linux32/linux32_sysvec.c user/markj/netdump/sys/amd64/vmm/vmm_host.c user/markj/netdump/sys/arm/arm/copystr.S user/markj/netdump/sys/arm/arm/fusu.S user/markj/netdump/sys/arm/conf/SOCFPGA user/markj/netdump/sys/arm/include/atomic-v4.h user/markj/netdump/sys/arm/include/atomic-v6.h user/markj/netdump/sys/arm64/arm64/support.S user/markj/netdump/sys/arm64/arm64/trap.c user/markj/netdump/sys/cddl/dev/dtmalloc/dtmalloc.c user/markj/netdump/sys/cddl/dev/sdt/sdt.c user/markj/netdump/sys/compat/freebsd32/freebsd32_misc.c user/markj/netdump/sys/compat/linprocfs/linprocfs.c user/markj/netdump/sys/compat/linux/linux_errno.inc user/markj/netdump/sys/compat/linux/linux_futex.c user/markj/netdump/sys/compat/linux/linux_futex.h user/markj/netdump/sys/conf/files user/markj/netdump/sys/conf/files.i386 user/markj/netdump/sys/conf/files.powerpc user/markj/netdump/sys/conf/options user/markj/netdump/sys/ddb/db_command.c user/markj/netdump/sys/dev/acpica/acpi.c user/markj/netdump/sys/dev/acpica/acpi_resource.c user/markj/netdump/sys/dev/amdsbwd/amdsbwd.c user/markj/netdump/sys/dev/bce/if_bce.c user/markj/netdump/sys/dev/bktr/msp34xx.c user/markj/netdump/sys/dev/cxgbe/tom/t4_connect.c user/markj/netdump/sys/dev/cxgbe/tom/t4_tom.c user/markj/netdump/sys/dev/extres/regulator/regulator.c user/markj/netdump/sys/dev/flash/mx25lreg.h user/markj/netdump/sys/dev/ixgbe/if_ix.c user/markj/netdump/sys/dev/nvme/nvme_ns.c user/markj/netdump/sys/dev/ocs_fc/ocs_os.c user/markj/netdump/sys/dev/ocs_fc/ocs_os.h user/markj/netdump/sys/dev/puc/puc_pci.c user/markj/netdump/sys/dev/sound/pci/hda/hdaa_patches.c user/markj/netdump/sys/dev/sound/pci/hda/hdac.h user/markj/netdump/sys/dts/arm/socfpga_arria10_socdk_sdmmc.dts user/markj/netdump/sys/fs/nfsclient/nfs_clport.c user/markj/netdump/sys/fs/nfsserver/nfs_nfsdserv.c user/markj/netdump/sys/fs/procfs/procfs.c user/markj/netdump/sys/fs/procfs/procfs.h user/markj/netdump/sys/gnu/dts/arm/am335x-bone-common.dtsi user/markj/netdump/sys/gnu/dts/arm/am335x-boneblue.dts user/markj/netdump/sys/gnu/dts/arm/am335x-evm.dts user/markj/netdump/sys/gnu/dts/arm/am335x-evmsk.dts user/markj/netdump/sys/gnu/dts/arm/am335x-pepper.dts user/markj/netdump/sys/gnu/dts/arm/am33xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/am33xx.dtsi user/markj/netdump/sys/gnu/dts/arm/am3517.dtsi user/markj/netdump/sys/gnu/dts/arm/am4372.dtsi user/markj/netdump/sys/gnu/dts/arm/am437x-gp-evm.dts user/markj/netdump/sys/gnu/dts/arm/am437x-idk-evm.dts user/markj/netdump/sys/gnu/dts/arm/am437x-sk-evm.dts user/markj/netdump/sys/gnu/dts/arm/am43x-epos-evm.dts user/markj/netdump/sys/gnu/dts/arm/am43xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/am571x-idk.dts user/markj/netdump/sys/gnu/dts/arm/am572x-idk.dts user/markj/netdump/sys/gnu/dts/arm/am57xx-beagle-x15-common.dtsi user/markj/netdump/sys/gnu/dts/arm/animeo_ip.dts user/markj/netdump/sys/gnu/dts/arm/arm-realview-eb-mp.dtsi user/markj/netdump/sys/gnu/dts/arm/armada-38x.dtsi user/markj/netdump/sys/gnu/dts/arm/aspeed-ast2500-evb.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-opp-palmetto.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-bmc-opp-romulus.dts user/markj/netdump/sys/gnu/dts/arm/aspeed-g4.dtsi user/markj/netdump/sys/gnu/dts/arm/aspeed-g5.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-ariag25.dts user/markj/netdump/sys/gnu/dts/arm/at91-ariettag25.dts user/markj/netdump/sys/gnu/dts/arm/at91-cosino.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-foxg20.dts user/markj/netdump/sys/gnu/dts/arm/at91-kizbox.dts user/markj/netdump/sys/gnu/dts/arm/at91-kizbox2.dts user/markj/netdump/sys/gnu/dts/arm/at91-kizboxmini.dts user/markj/netdump/sys/gnu/dts/arm/at91-linea.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-qil_a9260.dts user/markj/netdump/sys/gnu/dts/arm/at91-sam9_l9260.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d27_som1_ek.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d2_xplained.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d3_xplained.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d4_ma5d4.dtsi user/markj/netdump/sys/gnu/dts/arm/at91-sama5d4_xplained.dts user/markj/netdump/sys/gnu/dts/arm/at91-sama5d4ek.dts user/markj/netdump/sys/gnu/dts/arm/at91-vinco.dts user/markj/netdump/sys/gnu/dts/arm/at91rm9200.dtsi user/markj/netdump/sys/gnu/dts/arm/at91rm9200ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9260.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9260ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9261.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9261ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9263.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9263ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9g20ek_common.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9g25ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9g45.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9m10g45ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9n12.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9n12ek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9rl.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9rlek.dts user/markj/netdump/sys/gnu/dts/arm/at91sam9x5.dtsi user/markj/netdump/sys/gnu/dts/arm/at91sam9x5cm.dtsi user/markj/netdump/sys/gnu/dts/arm/axp81x.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm11351.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm21664.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-a-plus.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-a.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-b-plus.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-b-rev2.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835-rpi-b.dts user/markj/netdump/sys/gnu/dts/arm/bcm2835.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm2836-rpi-2-b.dts user/markj/netdump/sys/gnu/dts/arm/bcm2836.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm2837-rpi-3-b.dts user/markj/netdump/sys/gnu/dts/arm/bcm2837.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm283x.dtsi user/markj/netdump/sys/gnu/dts/arm/bcm958625hr.dts user/markj/netdump/sys/gnu/dts/arm/dm814x-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/dm814x.dtsi user/markj/netdump/sys/gnu/dts/arm/dm816x-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/dm816x.dtsi user/markj/netdump/sys/gnu/dts/arm/dra62x-j5eco-evm.dts user/markj/netdump/sys/gnu/dts/arm/dra7-evm-common.dtsi user/markj/netdump/sys/gnu/dts/arm/dra7-evm.dts user/markj/netdump/sys/gnu/dts/arm/dra7.dtsi user/markj/netdump/sys/gnu/dts/arm/dra72-evm-common.dtsi user/markj/netdump/sys/gnu/dts/arm/dra72-evm-tps65917.dtsi user/markj/netdump/sys/gnu/dts/arm/dra72x.dtsi user/markj/netdump/sys/gnu/dts/arm/dra74x.dtsi user/markj/netdump/sys/gnu/dts/arm/dra76-evm.dts user/markj/netdump/sys/gnu/dts/arm/dra7xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/efm32gg-dk3750.dts user/markj/netdump/sys/gnu/dts/arm/ethernut5.dts user/markj/netdump/sys/gnu/dts/arm/exynos3250-artik5-eval.dts user/markj/netdump/sys/gnu/dts/arm/exynos3250-artik5.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos3250-monk.dts user/markj/netdump/sys/gnu/dts/arm/exynos3250-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos3250-rinato.dts user/markj/netdump/sys/gnu/dts/arm/exynos3250.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4-cpu-thermal.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4210-origen.dts user/markj/netdump/sys/gnu/dts/arm/exynos4210-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4210-smdkv310.dts user/markj/netdump/sys/gnu/dts/arm/exynos4210-trats.dts user/markj/netdump/sys/gnu/dts/arm/exynos4210-universal_c210.dts user/markj/netdump/sys/gnu/dts/arm/exynos4210.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-itop-elite.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-itop-scp-core.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-odroid-common.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-odroidu3.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-odroidx.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-odroidx2.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-origen.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-ppmu-common.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-prime.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos4412-smdk4412.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412-trats2.dts user/markj/netdump/sys/gnu/dts/arm/exynos4412.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5250-arndale.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5250-smdk5250.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250-snow-common.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5250-snow-rev5.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250-snow.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250-spring.dts user/markj/netdump/sys/gnu/dts/arm/exynos5250.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5260-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5260-xyref5260.dts user/markj/netdump/sys/gnu/dts/arm/exynos5260.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5410-odroidxu.dts user/markj/netdump/sys/gnu/dts/arm/exynos5410-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5410-smdk5410.dts user/markj/netdump/sys/gnu/dts/arm/exynos5410.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420-arndale-octa.dts user/markj/netdump/sys/gnu/dts/arm/exynos5420-cpus.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420-peach-pit.dts user/markj/netdump/sys/gnu/dts/arm/exynos5420-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420-smdk5420.dts user/markj/netdump/sys/gnu/dts/arm/exynos5420-tmu-sensor-conf.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420-trip-points.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5420.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-cpus.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroid-core.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidhc1.dts user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu3-audio.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu3-common.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu3-lite.dts user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu3.dts user/markj/netdump/sys/gnu/dts/arm/exynos5422-odroidxu4.dts user/markj/netdump/sys/gnu/dts/arm/exynos5440-sd5v1.dts user/markj/netdump/sys/gnu/dts/arm/exynos5440-ssdk5440.dts user/markj/netdump/sys/gnu/dts/arm/exynos5440-tmu-sensor-conf.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5440-trip-points.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos5440.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos54xx-odroidxu-leds.dtsi user/markj/netdump/sys/gnu/dts/arm/exynos54xx.dtsi user/markj/netdump/sys/gnu/dts/arm/ge863-pro3.dtsi user/markj/netdump/sys/gnu/dts/arm/gemini-dlink-dir-685.dts user/markj/netdump/sys/gnu/dts/arm/gemini-nas4220b.dts user/markj/netdump/sys/gnu/dts/arm/gemini-rut1xx.dts user/markj/netdump/sys/gnu/dts/arm/gemini-wbd111.dts user/markj/netdump/sys/gnu/dts/arm/gemini-wbd222.dts user/markj/netdump/sys/gnu/dts/arm/gemini.dtsi user/markj/netdump/sys/gnu/dts/arm/imx25.dtsi user/markj/netdump/sys/gnu/dts/arm/imx27-pdk.dts user/markj/netdump/sys/gnu/dts/arm/imx27-phytec-phycore-rdk.dts user/markj/netdump/sys/gnu/dts/arm/imx27-phytec-phycore-som.dtsi user/markj/netdump/sys/gnu/dts/arm/imx28.dtsi user/markj/netdump/sys/gnu/dts/arm/imx35.dtsi user/markj/netdump/sys/gnu/dts/arm/imx51-babbage.dts user/markj/netdump/sys/gnu/dts/arm/imx51-eukrea-mbimxsd51-baseboard.dts user/markj/netdump/sys/gnu/dts/arm/imx51-ts4800.dts user/markj/netdump/sys/gnu/dts/arm/imx51-zii-rdu1.dts user/markj/netdump/sys/gnu/dts/arm/imx51.dtsi user/markj/netdump/sys/gnu/dts/arm/imx53-cx9020.dts user/markj/netdump/sys/gnu/dts/arm/imx53-m53.dtsi user/markj/netdump/sys/gnu/dts/arm/imx53-tx53-x03x.dts user/markj/netdump/sys/gnu/dts/arm/imx53-tx53.dtsi user/markj/netdump/sys/gnu/dts/arm/imx53.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6dl-aristainetos_4.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-aristainetos_7.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-colibri-eval-v3.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-cubox-i.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-hummingboard.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-icore-rqs.dts user/markj/netdump/sys/gnu/dts/arm/imx6dl-pinfunc.h user/markj/netdump/sys/gnu/dts/arm/imx6dl.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6q-apalis-eval.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-apalis-ixora-v1.1.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-apalis-ixora.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-b450v3.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-b650v3.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-b850v3.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-bx50v3.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6q-cubox-i.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-display5.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6q-h100.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-hummingboard.dts user/markj/netdump/sys/gnu/dts/arm/imx6q-pinfunc.h user/markj/netdump/sys/gnu/dts/arm/imx6qdl-apalis.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-apf6dev.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-aristainetos.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-aristainetos2.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-colibri.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-cubox-i.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-hummingboard.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-nitrogen6_max.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-nitrogen6x.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-sabreauto.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-udoo.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-wandboard-revd1.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl-zii-rdu2.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6qdl.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6sl-evk.dts user/markj/netdump/sys/gnu/dts/arm/imx6sl.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6sx-sdb.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6sx.dtsi user/markj/netdump/sys/gnu/dts/arm/imx6ul-14x14-evk.dts user/markj/netdump/sys/gnu/dts/arm/imx6ul.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7-colibri-eval-v3.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7-colibri.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-colibri-eval-v3.dts user/markj/netdump/sys/gnu/dts/arm/imx7d-colibri.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7d-sdb.dts user/markj/netdump/sys/gnu/dts/arm/imx7d.dtsi user/markj/netdump/sys/gnu/dts/arm/imx7s.dtsi user/markj/netdump/sys/gnu/dts/arm/iwg20d-q7-common.dtsi user/markj/netdump/sys/gnu/dts/arm/iwg20d-q7-dbcm-ca.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2e-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2e-evm.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2e-netcp.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2e.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2g-evm.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2g-ice.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2g.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2hk-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2hk-evm.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2hk-netcp.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2hk.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2l-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2l-evm.dts user/markj/netdump/sys/gnu/dts/arm/keystone-k2l-netcp.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone-k2l.dtsi user/markj/netdump/sys/gnu/dts/arm/keystone.dtsi user/markj/netdump/sys/gnu/dts/arm/kirkwood-linksys-viper.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-som-lv-37xx-devkit.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-som-lv.dtsi user/markj/netdump/sys/gnu/dts/arm/logicpd-torpedo-37xx-devkit.dts user/markj/netdump/sys/gnu/dts/arm/logicpd-torpedo-som.dtsi user/markj/netdump/sys/gnu/dts/arm/lpc3250-ea3250.dts user/markj/netdump/sys/gnu/dts/arm/lpc3250-phy3250.dts user/markj/netdump/sys/gnu/dts/arm/lpc4337-ciaa.dts user/markj/netdump/sys/gnu/dts/arm/lpc4350-hitex-eval.dts user/markj/netdump/sys/gnu/dts/arm/lpc4357-ea4357-devkit.dts user/markj/netdump/sys/gnu/dts/arm/ls1021a-qds.dts user/markj/netdump/sys/gnu/dts/arm/ls1021a-twr.dts user/markj/netdump/sys/gnu/dts/arm/ls1021a.dtsi user/markj/netdump/sys/gnu/dts/arm/meson8.dtsi user/markj/netdump/sys/gnu/dts/arm/meson8b.dtsi user/markj/netdump/sys/gnu/dts/arm/mpa1600.dts user/markj/netdump/sys/gnu/dts/arm/mt2701.dtsi user/markj/netdump/sys/gnu/dts/arm/mt7623.dtsi user/markj/netdump/sys/gnu/dts/arm/mt7623n-bananapi-bpi-r2.dts user/markj/netdump/sys/gnu/dts/arm/mt7623n-rfb-nand.dts user/markj/netdump/sys/gnu/dts/arm/omap2420-n8x0-common.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-cm-t3x.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-evm-37xx.dts user/markj/netdump/sys/gnu/dts/arm/omap3-gta04.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-igep.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-lilly-a83x.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-n9.dts user/markj/netdump/sys/gnu/dts/arm/omap3-n900.dts user/markj/netdump/sys/gnu/dts/arm/omap3-n950-n9.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3-n950.dts user/markj/netdump/sys/gnu/dts/arm/omap3-pandora-common.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3.dtsi user/markj/netdump/sys/gnu/dts/arm/omap3430-sdp.dts user/markj/netdump/sys/gnu/dts/arm/omap34xx.dtsi user/markj/netdump/sys/gnu/dts/arm/omap36xx.dtsi user/markj/netdump/sys/gnu/dts/arm/omap4-droid4-xt894.dts user/markj/netdump/sys/gnu/dts/arm/omap4.dtsi user/markj/netdump/sys/gnu/dts/arm/omap44xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/omap5-uevm.dts user/markj/netdump/sys/gnu/dts/arm/omap5.dtsi user/markj/netdump/sys/gnu/dts/arm/omap54xx-clocks.dtsi user/markj/netdump/sys/gnu/dts/arm/pm9g45.dts user/markj/netdump/sys/gnu/dts/arm/qcom-msm8974-fairphone-fp2.dts user/markj/netdump/sys/gnu/dts/arm/r7s72100-genmai.dts user/markj/netdump/sys/gnu/dts/arm/r8a73a4.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7740-armadillo800eva.dts user/markj/netdump/sys/gnu/dts/arm/r8a7740.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7743.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7745-iwg22d-sodimm.dts user/markj/netdump/sys/gnu/dts/arm/r8a7745.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7778.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7779.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7790-lager.dts user/markj/netdump/sys/gnu/dts/arm/r8a7790.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7791-koelsch.dts user/markj/netdump/sys/gnu/dts/arm/r8a7791.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7792.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7793.dtsi user/markj/netdump/sys/gnu/dts/arm/r8a7794-alt.dts user/markj/netdump/sys/gnu/dts/arm/r8a7794.dtsi user/markj/netdump/sys/gnu/dts/arm/rk3036.dtsi user/markj/netdump/sys/gnu/dts/arm/rk3066a-rayeager.dts user/markj/netdump/sys/gnu/dts/arm/rk322x.dtsi user/markj/netdump/sys/gnu/dts/arm/rk3288-phycore-som.dtsi user/markj/netdump/sys/gnu/dts/arm/rk3288.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c2416-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c2416-smdk2416.dts user/markj/netdump/sys/gnu/dts/arm/s3c2416.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c24xx.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c6400.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c6410-mini6410.dts user/markj/netdump/sys/gnu/dts/arm/s3c6410-smdk6410.dts user/markj/netdump/sys/gnu/dts/arm/s3c6410.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c64xx-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/s3c64xx.dtsi user/markj/netdump/sys/gnu/dts/arm/s5pv210-aquila.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210-goni.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210-pinctrl.dtsi user/markj/netdump/sys/gnu/dts/arm/s5pv210-smdkc110.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210-smdkv210.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210-torbreck.dts user/markj/netdump/sys/gnu/dts/arm/s5pv210.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d2.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3_tcb1.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3xcm.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3xcm_cmp.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3xmb.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d3xmb_cmp.dtsi user/markj/netdump/sys/gnu/dts/arm/sama5d4.dtsi user/markj/netdump/sys/gnu/dts/arm/sh73a0.dtsi user/markj/netdump/sys/gnu/dts/arm/socfpga.dtsi user/markj/netdump/sys/gnu/dts/arm/socfpga_arria10_socdk.dtsi user/markj/netdump/sys/gnu/dts/arm/socfpga_cyclone5_vining_fpga.dts user/markj/netdump/sys/gnu/dts/arm/spear1310-evb.dts user/markj/netdump/sys/gnu/dts/arm/spear1340.dtsi user/markj/netdump/sys/gnu/dts/arm/spear13xx.dtsi user/markj/netdump/sys/gnu/dts/arm/spear600.dtsi user/markj/netdump/sys/gnu/dts/arm/ste-nomadik-stn8815.dtsi user/markj/netdump/sys/gnu/dts/arm/stih407.dtsi user/markj/netdump/sys/gnu/dts/arm/stih410.dtsi user/markj/netdump/sys/gnu/dts/arm/sun5i-a13-olinuxino.dts user/markj/netdump/sys/gnu/dts/arm/sun6i-a31s-sinovoip-bpi-m2.dts user/markj/netdump/sys/gnu/dts/arm/sun7i-a20-pcduino3-nano.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-a83t-bananapi-m3.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-a83t-cubietruck-plus.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-a83t-tbs-a711.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-a83t.dtsi user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-bananapi-m2-plus.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-nanopi-m1-plus.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-nanopi-m1.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-nanopi-neo.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3-orangepi-plus.dts user/markj/netdump/sys/gnu/dts/arm/sun8i-h3.dtsi user/markj/netdump/sys/gnu/dts/arm/sunxi-h3-h5.dtsi user/markj/netdump/sys/gnu/dts/arm/tegra20.dtsi user/markj/netdump/sys/gnu/dts/arm/tny_a9260_common.dtsi user/markj/netdump/sys/gnu/dts/arm/tny_a9263.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-ld4-ref.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-ld4.dtsi user/markj/netdump/sys/gnu/dts/arm/uniphier-ld6b-ref.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-pro4-ref.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-pro4.dtsi user/markj/netdump/sys/gnu/dts/arm/uniphier-pro5.dtsi user/markj/netdump/sys/gnu/dts/arm/uniphier-pxs2.dtsi user/markj/netdump/sys/gnu/dts/arm/uniphier-sld8-ref.dts user/markj/netdump/sys/gnu/dts/arm/uniphier-sld8.dtsi user/markj/netdump/sys/gnu/dts/arm/usb_a9260_common.dtsi user/markj/netdump/sys/gnu/dts/arm/usb_a9263.dts user/markj/netdump/sys/gnu/dts/arm/vf-colibri-eval-v3.dtsi user/markj/netdump/sys/gnu/dts/arm/vf500.dtsi user/markj/netdump/sys/gnu/dts/arm/vf610-zii-dev-rev-b.dts user/markj/netdump/sys/gnu/dts/arm/vf610-zii-dev-rev-c.dts user/markj/netdump/sys/gnu/dts/arm/vf610-zii-dev.dtsi user/markj/netdump/sys/gnu/dts/arm/vfxxx.dtsi user/markj/netdump/sys/gnu/dts/arm/zx296702.dtsi user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/hi3660-clock.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-ipq8074.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/gpio/gpio.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/input/linux-event-codes.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/pinctrl/am43xx.h user/markj/netdump/sys/gnu/dts/include/dt-bindings/pinctrl/stm32-pinfunc.h user/markj/netdump/sys/i386/i386/copyout.c user/markj/netdump/sys/i386/i386/pmap.c user/markj/netdump/sys/i386/i386/support.s user/markj/netdump/sys/i386/i386/trap.c user/markj/netdump/sys/i386/include/asmacros.h user/markj/netdump/sys/i386/include/md_var.h user/markj/netdump/sys/i386/linux/linux_sysvec.c user/markj/netdump/sys/kern/kern_descrip.c user/markj/netdump/sys/kern/kern_exec.c user/markj/netdump/sys/kern/kern_exit.c user/markj/netdump/sys/kern/kern_jail.c user/markj/netdump/sys/kern/kern_lockf.c user/markj/netdump/sys/kern/kern_lockstat.c user/markj/netdump/sys/kern/kern_loginclass.c user/markj/netdump/sys/kern/kern_malloc.c user/markj/netdump/sys/kern/kern_procctl.c user/markj/netdump/sys/kern/kern_prot.c user/markj/netdump/sys/kern/kern_racct.c user/markj/netdump/sys/kern/kern_rctl.c user/markj/netdump/sys/kern/kern_shutdown.c user/markj/netdump/sys/kern/kern_thread.c user/markj/netdump/sys/kern/subr_prof.c user/markj/netdump/sys/kern/uipc_debug.c user/markj/netdump/sys/kern/uipc_socket.c user/markj/netdump/sys/kern/vfs_aio.c user/markj/netdump/sys/kern/vfs_bio.c user/markj/netdump/sys/mips/include/cpufunc.h user/markj/netdump/sys/mips/mips/pm_machdep.c user/markj/netdump/sys/mips/mips/support.S user/markj/netdump/sys/mips/mips/trap.c user/markj/netdump/sys/modules/blake2/Makefile user/markj/netdump/sys/modules/crypto/Makefile user/markj/netdump/sys/modules/linux/Makefile user/markj/netdump/sys/modules/puc/Makefile user/markj/netdump/sys/net/bpf.c user/markj/netdump/sys/net/if_media.c user/markj/netdump/sys/net/if_media.h user/markj/netdump/sys/net/iflib.c user/markj/netdump/sys/netinet/in_pcb.c user/markj/netdump/sys/netinet/in_pcb.h user/markj/netdump/sys/netinet/ip_output.c user/markj/netdump/sys/netinet/tcp_stacks/fastpath.c user/markj/netdump/sys/netinet/tcp_subr.c user/markj/netdump/sys/netinet/tcp_syncache.c user/markj/netdump/sys/netinet/tcp_usrreq.c user/markj/netdump/sys/netinet/tcp_var.h user/markj/netdump/sys/netinet/udp_usrreq.c user/markj/netdump/sys/netinet6/icmp6.c user/markj/netdump/sys/netinet6/in6_pcb.c user/markj/netdump/sys/netinet6/in6_src.c user/markj/netdump/sys/netinet6/ip6_output.c user/markj/netdump/sys/netinet6/udp6_usrreq.c user/markj/netdump/sys/opencrypto/cryptosoft.c user/markj/netdump/sys/powerpc/aim/aim_machdep.c user/markj/netdump/sys/powerpc/aim/mmu_oea64.c user/markj/netdump/sys/powerpc/include/cpu.h user/markj/netdump/sys/powerpc/include/pcb.h user/markj/netdump/sys/powerpc/include/spr.h user/markj/netdump/sys/powerpc/powermac/cuda.c user/markj/netdump/sys/powerpc/powerpc/cpu.c user/markj/netdump/sys/powerpc/powerpc/elf32_machdep.c user/markj/netdump/sys/powerpc/powerpc/elf64_machdep.c user/markj/netdump/sys/powerpc/powerpc/exec_machdep.c user/markj/netdump/sys/powerpc/powerpc/genassym.c user/markj/netdump/sys/powerpc/powerpc/swtch64.S user/markj/netdump/sys/powerpc/powerpc/trap.c user/markj/netdump/sys/riscv/riscv/support.S user/markj/netdump/sys/riscv/riscv/trap.c user/markj/netdump/sys/sparc64/sparc64/support.S user/markj/netdump/sys/sparc64/sparc64/trap.c user/markj/netdump/sys/sys/filedesc.h user/markj/netdump/sys/sys/imgact.h user/markj/netdump/sys/sys/kdb.h user/markj/netdump/sys/sys/lockstat.h user/markj/netdump/sys/sys/mbuf.h user/markj/netdump/sys/sys/proc.h user/markj/netdump/sys/sys/procctl.h user/markj/netdump/sys/sys/resourcevar.h user/markj/netdump/sys/sys/socket.h user/markj/netdump/sys/sys/socketvar.h user/markj/netdump/sys/vm/vm_page.c user/markj/netdump/sys/vm/vm_page.h user/markj/netdump/sys/vm/vm_pageout.c user/markj/netdump/sys/vm/vm_pagequeue.h user/markj/netdump/sys/x86/acpica/acpi_wakeup.c user/markj/netdump/sys/x86/x86/cpu_machdep.c user/markj/netdump/sys/x86/x86/msi.c user/markj/netdump/tests/sys/Makefile user/markj/netdump/tests/sys/aio/Makefile user/markj/netdump/tests/sys/aio/lio_test.c user/markj/netdump/tests/sys/kern/Makefile user/markj/netdump/tests/sys/kern/ptrace_test.c user/markj/netdump/tools/diag/prtblknos/Makefile user/markj/netdump/tools/diag/prtblknos/main.c user/markj/netdump/tools/diag/prtblknos/prtblknos.c user/markj/netdump/tools/tools/README user/markj/netdump/usr.bin/calendar/calendars/calendar.freebsd user/markj/netdump/usr.bin/chpass/util.c user/markj/netdump/usr.bin/grep/file.c user/markj/netdump/usr.bin/grep/util.c user/markj/netdump/usr.bin/quota/quota.c user/markj/netdump/usr.sbin/camdd/camdd.c user/markj/netdump/usr.sbin/iostat/iostat.c user/markj/netdump/usr.sbin/makefs/Makefile user/markj/netdump/usr.sbin/makefs/cd9660/Makefile.inc user/markj/netdump/usr.sbin/makefs/ffs/Makefile.inc user/markj/netdump/usr.sbin/pwd_mkdb/pwd_mkdb.8 user/markj/netdump/usr.sbin/pwd_mkdb/pwd_mkdb.c user/markj/netdump/usr.sbin/syslogd/syslogd.c user/markj/netdump/usr.sbin/usbconfig/usbconfig.8 user/markj/netdump/usr.sbin/usbconfig/usbconfig.c Directory Properties: user/markj/netdump/ (props changed) user/markj/netdump/cddl/ (props changed) user/markj/netdump/cddl/contrib/opensolaris/ (props changed) user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/ (props changed) user/markj/netdump/contrib/llvm/ (props changed) user/markj/netdump/contrib/llvm/tools/clang/ (props changed) user/markj/netdump/contrib/llvm/tools/lldb/ (props changed) user/markj/netdump/contrib/top/ (props changed) user/markj/netdump/sys/gnu/dts/arm/ (props changed) user/markj/netdump/sys/gnu/dts/include/ (props changed) Modified: user/markj/netdump/ObsoleteFiles.inc ============================================================================== --- user/markj/netdump/ObsoleteFiles.inc Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/ObsoleteFiles.inc Tue Apr 24 14:55:22 2018 (r332938) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20180417: remove fuswintr and suswintr +OLD_FILES+=usr/share/man/man9/fuswintr.9.gz +OLD_FILES+=usr/share/man/man9/suswintr.9.gz # 20180413: remove Arcnet support OLD_FILES+=usr/include/net/if_arc.h OLD_FILES+=usr/share/man/man4/cm.4.gz Modified: user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Apr 24 14:55:22 2018 (r332938) @@ -116,6 +116,9 @@ .Oo Fl S Ar property Oc Ns ... .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot | Ns Ar bookmark Ns ... .Nm +.Cm remap +.Ar filesystem Ns | Ns Ar volume +.Nm .Cm set .Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ... .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... @@ -2266,6 +2269,17 @@ if the .Fl S option was not specified. .El +.It Xo +.Nm +.Cm remap +.Ar filesystem Ns | Ns Ar volume +.Xc +.Pp +Remap the indirect blocks in the given fileystem or volume so that they no +longer reference blocks on previously removed vdevs and we can eventually +shrink the size of the indirect mapping objects for the previously removed +vdevs. Note that remapping all blocks might not be possible and that +references from snapshots will still exist and cannot be remapped. .It Xo .Nm .Cm upgrade Modified: user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 ============================================================================== --- user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Tue Apr 24 14:55:22 2018 (r332938) @@ -448,6 +448,40 @@ when the "zpool checkpoint" command is used to checkpo The feature will only return back to being .Sy enabled when the pool is rewound or the checkpoint has been discarded. +.It Sy device_removal +.Bl -column "READ\-ONLY COMPATIBLE" "com.delphix:device_removal" +.It GUID Ta com.delphix:device_removal +.It READ\-ONLY COMPATIBLE Ta no +.It DEPENDENCIES Ta none +.El +.Pp +This feature enables the "zpool remove" subcommand to remove top-level +vdevs, evacuating them to reduce the total size of the pool. +.Pp +This feature becomes +.Sy active +when the "zpool remove" command is used +on a top-level vdev, and will never return to being +.Sy enabled . +.It Sy obsolete_counts +.Bl -column "READ\-ONLY COMPATIBLE" "com.delphix:obsolete_counts" +.It GUID Ta com.delphix:obsolete_counts +.It READ\-ONLY COMPATIBLE Ta yes +.It DEPENDENCIES Ta device_removal +.El +.Pp +This feature is an enhancement of device_removal, which will over time +reduce the memory used to track removed devices. When indirect blocks +are freed or remapped, we note that their part of the indirect mapping +is "obsolete", i.e. no longer needed. See also the "zfs remap" +subcommand in +.Xr zfs 8 . + +This feature becomes +.Sy active +when the "zpool remove" command is +used on a top-level vdev, and will never return to being +.Sy enabled . .It Sy large_blocks .Bl -column "READ\-ONLY COMPATIBLE" "org.open-zfs:large_block" .It GUID Ta org.open-zfs:large_block Modified: user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool.8 ============================================================================== --- user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Tue Apr 24 14:55:22 2018 (r332938) @@ -21,7 +21,7 @@ .\" Copyright (c) 2010, Sun Microsystems, Inc. All Rights Reserved. .\" Copyright (c) 2011, Justin T. Gibbs .\" Copyright (c) 2012, Glen Barber -.\" Copyright (c) 2013 by Delphix. All Rights Reserved. +.\" Copyright (c) 2012, 2017 by Delphix. All Rights Reserved. .\" Copyright 2017 Nexenta Systems, Inc. .\" Copyright (c) 2017 Datto Inc. .\" @@ -151,8 +151,13 @@ .Ar pool .Nm .Cm remove +.Op Fl np .Ar pool device ... .Nm +.Cm remove +.Fl s +.Ar pool +.Nm .Cm reopen .Ar pool .Nm @@ -510,8 +515,8 @@ Multiple log devices can also be specified, and they c section for an example of mirroring multiple log devices. .Pp Log devices can be added, replaced, attached, detached, imported and exported -as part of the larger pool. Mirrored log devices can be removed by specifying -the top-level mirror for the log. +as part of the larger pool. +Mirrored devices can be removed by specifying the top-level mirror vdev. .Ss Cache devices Devices can be added to a storage pool as "cache devices." These devices provide an additional layer of caching between main memory and disk. For @@ -1604,19 +1609,55 @@ devices in this pool are online and healthy before per .It Xo .Nm .Cm remove +.Op Fl np .Ar pool device ... .Xc .Pp -Removes the specified device from the pool. This command currently only -supports removing hot spares, cache, and log devices. A mirrored log device can -be removed by specifying the top-level mirror for the log. Non-log devices that -are part of a mirrored configuration can be removed using the +Removes the specified device from the pool. +This command currently only supports removing hot spares, cache, log +devices and mirrored top-level vdevs (mirror of leaf devices); but not raidz. +.sp +Removing a top-level vdev reduces the total amount of space in the storage pool. +The specified device will be evacuated by copying all allocated space from it to +the other devices in the pool. +In this case, the +.Nm zpool Cm remove +command initiates the removal and returns, while the evacuation continues in +the background. +The removal progress can be monitored with +.Nm zpool Cm status. +This feature must be enabled to be used, see +.Xr zpool-features 5 +.Pp +A mirrored top-level device (log or data) can be removed by specifying the +top-level mirror for the same. +Non-log devices or data devices that are part of a mirrored configuration can +be removed using the .Qq Nm Cm detach -command. Non-redundant and -.No raidz -devices cannot be removed from a pool. +command. +.Bl -tag -width Ds +.It Fl n +Do not actually perform the removal ("no-op"). +Instead, print the estimated amount of memory that will be used by the +mapping table after the removal completes. +This is nonzero only for top-level vdevs. +.El +.Bl -tag -width Ds +.It Fl p +Used in conjunction with the +.Fl n +flag, displays numbers as parsable (exact) values. +.El .It Xo .Nm +.Cm remove +.Fl s +.Ar pool +.Xc +.Pp +Stops and cancels an in-progress removal of a top-level vdev. +.It Xo +.Nm .Cm reopen .Ar pool .Xc @@ -2098,11 +2139,13 @@ data 23.9G 14.6G 9.30G 48% - 61% .Ed .It Xo .Sy Example 16 -Removing a Mirrored Log Device +Removing a Mirrored top-level (Log or Data) Device .Xc .Pp -The following command removes the mirrored log device -.Em mirror-2 . +The following commands remove the mirrored log device +.Sy mirror-2 +and mirrored top-level data device +.Sy mirror-1 . .Pp Given this configuration: .Bd -literal -offset 2n @@ -2130,6 +2173,13 @@ The command to remove the mirrored log is: .Bd -literal -offset 2n .Li # Ic zpool remove tank mirror-2 +.Ed +.Pp +The command to remove the mirrored data +.Em mirror-1 +is: +.Bd -literal -offset 2n +.Li # Ic zpool remove tank mirror-1 .Ed .It Xo .Sy Example 17 Modified: user/markj/netdump/cddl/lib/libdtrace/tcp.d ============================================================================== --- user/markj/netdump/cddl/lib/libdtrace/tcp.d Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/lib/libdtrace/tcp.d Tue Apr 24 14:55:22 2018 (r332938) @@ -192,12 +192,12 @@ translator tcpsinfo_t < struct tcpcb *p > { tcps_rport = p == NULL ? 0 : ntohs(p->t_inpcb->inp_inc.inc_ie.ie_fport); tcps_laddr = p == NULL ? 0 : p->t_inpcb->inp_vflag == INP_IPV4 ? - inet_ntoa(&p->t_inpcb->inp_inc.inc_ie.ie_dependladdr.ie46_local.ia46_addr4.s_addr) : - inet_ntoa6(&p->t_inpcb->inp_inc.inc_ie.ie_dependladdr.ie6_local); + inet_ntoa(&p->t_inpcb->inp_inc.inc_ie.ie_dependladdr.id46_addr.ia46_addr4.s_addr) : + inet_ntoa6(&p->t_inpcb->inp_inc.inc_ie.ie_dependladdr.id6_addr); tcps_raddr = p == NULL ? 0 : p->t_inpcb->inp_vflag == INP_IPV4 ? - inet_ntoa(&p->t_inpcb->inp_inc.inc_ie.ie_dependfaddr.ie46_foreign.ia46_addr4.s_addr) : - inet_ntoa6(&p->t_inpcb->inp_inc.inc_ie.ie_dependfaddr.ie6_foreign); + inet_ntoa(&p->t_inpcb->inp_inc.inc_ie.ie_dependfaddr.id46_addr.ia46_addr4.s_addr) : + inet_ntoa6(&p->t_inpcb->inp_inc.inc_ie.ie_dependfaddr.id6_addr); tcps_state = p == NULL ? -1 : p->t_state; tcps_iss = p == NULL ? 0 : p->iss; tcps_irs = p == NULL ? 0 : p->irs; Modified: user/markj/netdump/cddl/usr.sbin/dwatch/dwatch ============================================================================== --- user/markj/netdump/cddl/usr.sbin/dwatch/dwatch Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/usr.sbin/dwatch/dwatch Tue Apr 24 14:55:22 2018 (r332938) @@ -47,7 +47,7 @@ DTRACE_PRAGMA=" ############################################################ GLOBALS -VERSION='$Version: 1.0 $' # -V +VERSION='$Version: 1.1 $' # -V pgm="${0##*/}" # Program basename @@ -67,6 +67,7 @@ CUSTOM_DETAILS= # -E code CUSTOM_TEST= # -t test DEBUG= # -d DESTRUCTIVE_ACTIONS= # -w +DEVELOPER= # -dev EXECNAME= # -k name EXECREGEX= # -z regex EXIT_AFTER_COMPILE= # -e @@ -835,6 +836,11 @@ if [ "$PROBE_ARG" ]; then fi # +# Developer switch +# +[ "$DEBUG" -a "$EXIT_AFTER_COMPILE" -a "$VERBOSE" ] && DEVELOPER=1 DEBUG= + +# # Set default event details if `-E code' was not given # [ "$CUSTOM_DETAILS" ] || EVENT_DETAILS=$( pproc_dump 0 ) @@ -966,6 +972,61 @@ PSARGS_ACTION=$( cat <&9 ) exec 3>&1 console_stdout=3 + # + # Developer debugging aide + # + if [ "$DEVELOPER" ]; then + # + # Run, capture the error line, and focus it + # + # Example error text to capture line number from: + # dtrace: failed to compile script /dev/stdin: line 669: ... + # + errline= + stdin_buf=$( cat ) + stderr_buf=$( echo "$stdin_buf" | + dtrace_cmd -t -es /dev/stdin "$@" 2>&1 > /dev/null ) + status=$? + if [ "$stderr_buf" ]; then + errline=$( echo "$stderr_buf" | awk ' + BEGIN { + ti = "\033[31m" + te = "\033[39m" + } + { line = $0 } + sub(/.*: line /, "") && sub(/:.*/, "") { + print # to errline + sub("line " $0, ti "&" te, line) + } + { print line > "/dev/stderr" } + ' 2>&3 ) + fi + if [ "$errline" ]; then + echo "$stdin_buf" | awk -v line="${errline%%[^0-9]*}" ' + BEGIN { + start = line < 10 ? 1 : line - 10 + end = line + 10 + slen = length(sprintf("%u", start)) + elen = length(sprintf("%u", end)) + N = elen > slen ? elen : slen + for (i = start; i <= end; i++) { + ti[i] = "\033[2m" + te[i] = "\033[22m" + } + ti[line] = "\033[31m" + te[line] = "\033[39m" + fmt = "%s%*u %s%s\n" + } + NR < start { next } + NR == start, NR == end { + printf(fmt, ti[NR], N, NR, $0, te[NR]) + } + NR > end { exit } + ' # END-QUOTE + fi + exit $status + fi + if [ $COUNT -eq 0 -a ! "$EXECREGEX$FILTER$GROUP$OUTPUT_CMD$PID$USER" ] then case "$OUTPUT" in @@ -1285,6 +1346,7 @@ $( pproc_dump -v 3 )} } EOF +# NOTREACHED ################################################################################ # END Modified: user/markj/netdump/cddl/usr.sbin/dwatch/libexec/Makefile ============================================================================== --- user/markj/netdump/cddl/usr.sbin/dwatch/libexec/Makefile Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/cddl/usr.sbin/dwatch/libexec/Makefile Tue Apr 24 14:55:22 2018 (r332938) @@ -11,6 +11,7 @@ FILES= chmod \ proc \ rw \ sched \ + sendrecv \ tcp \ udp \ vop_create \ @@ -54,6 +55,12 @@ LINKS+= ${LIBEXECDIR}/dwatch/sched ${LIBEXECDIR}/dwatc LINKS+= ${LIBEXECDIR}/dwatch/sched ${LIBEXECDIR}/dwatch/sched-surrender LINKS+= ${LIBEXECDIR}/dwatch/sched ${LIBEXECDIR}/dwatch/sched-tick LINKS+= ${LIBEXECDIR}/dwatch/sched ${LIBEXECDIR}/dwatch/sched-wakeup +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/recv +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/recvfrom +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/recvmsg +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/send +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendmsg +LINKS+= ${LIBEXECDIR}/dwatch/sendrecv ${LIBEXECDIR}/dwatch/sendto LINKS+= ${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept LINKS+= ${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept-established LINKS+= ${LIBEXECDIR}/dwatch/tcp ${LIBEXECDIR}/dwatch/tcp-accept-refused Copied: user/markj/netdump/cddl/usr.sbin/dwatch/libexec/sendrecv (from r332937, head/cddl/usr.sbin/dwatch/libexec/sendrecv) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/markj/netdump/cddl/usr.sbin/dwatch/libexec/sendrecv Tue Apr 24 14:55:22 2018 (r332938, copy of r332937, head/cddl/usr.sbin/dwatch/libexec/sendrecv) @@ -0,0 +1,215 @@ +# -*- tab-width: 4 -*- ;; Emacs +# vi: set filetype=sh tabstop=8 shiftwidth=8 noexpandtab :: Vi/ViM +############################################################ IDENT(1) +# +# $Title: dwatch(8) module for send(2)/recv(2) $ +# $Copyright: 2014-2018 Devin Teske. All rights reserved. $ +# $FreeBSD$ +# +############################################################ DESCRIPTION +# +# Print details from send(2)/recv(2) +# +############################################################ PROBE + +case "$PROFILE" in +sendrecv) + : ${PROBE:=$( echo \ + syscall::recvfrom:return, \ + syscall::recvmsg:return, \ + syscall::sendmsg:entry, \ + syscall::sendto:entry )} ;; +send) + : ${PROBE:=$( echo \ + syscall::sendmsg:entry, \ + syscall::sendto:entry )} ;; +recv) + : ${PROBE:=$( echo \ + syscall::recvfrom:return, \ + syscall::recvmsg:return )} ;; +*) + : ${PROBE:=syscall::$PROFILE} +esac + +############################################################ EVENT ACTION + +#[ "$CUSTOM_TEST" ] || EVENT_TEST="this->from != NULL" + +############################################################ ACTIONS + +exec 9< + */ +#pragma D binding "1.13" address_family_string +inline string address_family_string[sa_family_t af] = + af == AF_UNSPEC ? "AF_UNSPEC" : + af == AF_LOCAL ? "AF_UNIX" : + af == AF_UNIX ? "AF_UNIX" : + af == AF_INET ? "AF_INET" : + af == AF_IMPLINK ? "AF_IMPLINK" : + af == AF_PUP ? "AF_PUP" : + af == AF_CHAOS ? "AF_CHAOS" : + af == AF_NETBIOS ? "AF_NETBIOS" : + af == AF_ISO ? "AF_ISO" : + af == AF_OSI ? "AF_ISO" : + af == AF_ECMA ? "AF_ECMA" : + af == AF_DATAKIT ? "AF_DATAKIT" : + af == AF_CCITT ? "AF_CCITT" : + af == AF_SNA ? "AF_SNA" : + af == AF_DECnet ? "AF_DECnet" : + af == AF_DLI ? "AF_DLI" : + af == AF_LAT ? "AF_LAT" : + af == AF_HYLINK ? "AF_HYLINK" : + af == AF_APPLETALK ? "AF_APPLETALK" : + af == AF_ROUTE ? "AF_ROUTE" : + af == AF_LINK ? "AF_LINK" : + af == pseudo_AF_XTP ? "pseudo_AF_XTP" : + af == AF_COIP ? "AF_COIP" : + af == AF_CNT ? "AF_CNT" : + af == pseudo_AF_RTIP ? "pseudo_AF_RTIP" : + af == AF_IPX ? "AF_IPX" : + af == AF_SIP ? "AF_SIP" : + af == pseudo_AF_PIP ? "pseudo_AF_PIP" : + af == AF_ISDN ? "AF_ISDN" : + af == AF_E164 ? "AF_ISDN" : + af == pseudo_AF_KEY ? "pseudo_AF_KEY" : + af == AF_INET6 ? "AF_INET6" : + af == AF_NATM ? "AF_NATM" : + af == AF_ATM ? "AF_ATM" : + af == pseudo_AF_HDRCMPLT ? "pseudo_AF_HDRCMPLT" : + af == AF_NETGRAPH ? "AF_NETGRAPH" : + af == AF_SLOW ? "AF_SLOW" : + af == AF_SCLUSTER ? "AF_SCLUSTER" : + af == AF_ARP ? "AF_ARP" : + af == AF_BLUETOOTH ? "AF_BLUETOOTH" : + af == AF_IEEE80211 ? "AF_IEEE80211" : + af == AF_INET_SDP ? "AF_INET_SDP" : + af == AF_INET6_SDP ? "AF_INET6_SDP" : + af == AF_MAX ? "AF_MAX" : + strjoin("AF_UNKNOWN(", strjoin(lltostr(af), ")")); + +#pragma D binding "1.13" sa_data_size +inline int sa_data_size = 14; + +#pragma D binding "1.13" sa_data_addr +inline string sa_data_addr[sa_family_t af, char data[sa_data_size]] = + af == AF_INET ? strjoin( + strjoin(strjoin(lltostr(data[2] & 0xFF), "."), + strjoin(lltostr(data[3] & 0xFF), ".") + ), + strjoin(strjoin(lltostr(data[4] & 0xFF), "."), + lltostr(data[5] & 0xFF)) + ) : + ""; + +#pragma D binding "1.13" sa_data_port +inline uint16_t sa_data_port[sa_family_t af, char data[sa_data_size]] = + af == AF_INET ? (data[0] << 8) + data[1] : + 0; + +#pragma D binding "1.13" translator +translator sainfo_t < struct sockaddr *SA > { + sa_family = SA->sa_family; + family = address_family_string[SA->sa_family]; + addr = sa_data_addr[SA->sa_family, SA->sa_data]; + port = sa_data_port[SA->sa_family, SA->sa_data]; +}; + +this sainfo_t sainfo; +this ssize_t nbytes; +this string details; +this string flow; +this struct msghdr * msghdr; +this struct sockaddr * sa; + +inline string probeflow[string func] = + func == "recvfrom" ? "<-" : + func == "recvmsg" ? "<-" : + func == "recvmmsg" ? "<-" : + "->"; + +inline string af_details[sa_family_t af, string addr, uint16_t port] = + af == AF_INET ? strjoin(addr, strjoin(":", lltostr(port))) : + ""; + +$PROBE /* probe ID $ID */ +{${TRACE:+ + printf("<$ID>");} + this->details = ""; + this->flow = probeflow[probefunc]; +} + +syscall::recvfrom:entry /* probe ID $(( $ID + 1 )) */ +{${TRACE:+ + printf("<$(( $ID + 1 ))>");} + this->sa = args[4] == NULL ? + (struct sockaddr *)alloca(sizeof(struct sockaddr)) : + (struct sockaddr *)copyin(arg4, sizeof(struct sockaddr)); + this->sainfo = xlate ((struct sockaddr *)this->sa); +} + +syscall::recvfrom:return /* probe ID $(( $ID + 2 )) */ +{${TRACE:+ + printf("<$(( $ID + 2 ))>");} + this->nbytes = arg0; + this->details = strjoin("from ", strjoin( + strjoin(this->sainfo.family, " "), + af_details[this->sainfo.sa_family, + this->sainfo.addr, this->sainfo.port])); +} + +syscall::recvmsg:return /* probe ID $(( $ID + 3 )) */ +{${TRACE:+ + printf("<$(( $ID + 3 ))>");} + this->nbytes = arg0; +} + +syscall::sendmsg:entry /* probe ID $(( $ID + 5 )) */ +{${TRACE:+ + printf("<$(( $ID + 5 ))>");} + this->nbytes = arg2; +} + +syscall::sendto:entry /* probe ID $(( $ID + 4 )) */ +{${TRACE:+ + printf("<$(( $ID + 4 ))>");} + this->nbytes = arg2; + this->sa = arg4 == NULL ? + (struct sockaddr *)alloca(sizeof(struct sockaddr)) : + (struct sockaddr *)copyin(arg4, sizeof(struct sockaddr)); + this->sainfo = xlate ((struct sockaddr *)this->sa); + this->details = strjoin("to ", strjoin( + strjoin(this->sainfo.family, " "), + af_details[this->sainfo.sa_family, + this->sainfo.addr, this->sainfo.port])); +} +EOF +ACTIONS=$( cat <&9 ) +ID=$(( $ID + 5 )) + +############################################################ EVENT DETAILS + +exec 9<flow, + this->nbytes, + this->nbytes != 1 ? "s" : "", + this->details != "" ? " " : "", + this->details); +EOF +EVENT_DETAILS=$( cat <&9 ) + +################################################################################ +# END +################################################################################ Modified: user/markj/netdump/contrib/bsnmp/snmpd/snmpmod.3 ============================================================================== --- user/markj/netdump/contrib/bsnmp/snmpd/snmpmod.3 Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/bsnmp/snmpd/snmpmod.3 Tue Apr 24 14:55:22 2018 (r332938) @@ -102,35 +102,35 @@ .Nm index_compare , .Nm index_compare_off , .Nm index_append , -.Nm index_append_off, -.Nm snmpd_usmstats, -.Nm bsnmpd_get_usm_stats, -.Nm bsnmpd_reset_usm_stats, -.Nm usm_first_user, -.Nm usm_next_user, -.Nm usm_find_user, -.Nm usm_new_user, -.Nm usm_delete_user, -.Nm usm_flush_users, -.Nm usm_user -.Nm snmpd_target_stat -.Nm bsnmpd_get_target_stats -.Nm target_first_address -.Nm target_next_address -.Nm target_new_address -.Nm target_activate_address -.Nm target_delete_address -.Nm target_first_param -.Nm target_next_param -.Nm target_new_param -.Nm target_delete_param -.Nm target_first_notify -.Nm target_next_notify -.Nm target_new_notify -.Nm target_delete_notify -.Nm target_flush_all -.Nm target_address -.Nm target_param +.Nm index_append_off , +.Nm snmpd_usmstats , +.Nm bsnmpd_get_usm_stats , +.Nm bsnmpd_reset_usm_stats , +.Nm usm_first_user , +.Nm usm_next_user , +.Nm usm_find_user , +.Nm usm_new_user , +.Nm usm_delete_user , +.Nm usm_flush_users , +.Nm usm_user , +.Nm snmpd_target_stat , +.Nm bsnmpd_get_target_stats , +.Nm target_first_address , +.Nm target_next_address , +.Nm target_new_address , +.Nm target_activate_address , +.Nm target_delete_address , +.Nm target_first_param , +.Nm target_next_param , +.Nm target_new_param , +.Nm target_delete_param , +.Nm target_first_notify , +.Nm target_next_notify , +.Nm target_new_notify , +.Nm target_delete_notify , +.Nm target_flush_all , +.Nm target_address , +.Nm target_param , .Nm target_notify .Nd "SNMP daemon loadable module interface" .Sh LIBRARY Modified: user/markj/netdump/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h ============================================================================== --- user/markj/netdump/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h Tue Apr 24 14:55:22 2018 (r332938) @@ -449,6 +449,13 @@ class MachineBasicBlock (public) /// Replace successor OLD with NEW and update probability info. void replaceSuccessor(MachineBasicBlock *Old, MachineBasicBlock *New); + /// Copy a successor (and any probability info) from original block to this + /// block's. Uses an iterator into the original blocks successors. + /// + /// This is useful when doing a partial clone of successors. Afterward, the + /// probabilities may need to be normalized. + void copySuccessor(MachineBasicBlock *Orig, succ_iterator I); + /// Transfers all the successors from MBB to this machine basic block (i.e., /// copies all the successors FromMBB and remove all the successors from /// FromMBB). Modified: user/markj/netdump/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp ============================================================================== --- user/markj/netdump/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp Tue Apr 24 14:55:22 2018 (r332938) @@ -646,6 +646,14 @@ void MachineBasicBlock::replaceSuccessor(MachineBasicB removeSuccessor(OldI); } +void MachineBasicBlock::copySuccessor(MachineBasicBlock *Orig, + succ_iterator I) { + if (Orig->Probs.empty()) + addSuccessor(*I, Orig->getSuccProbability(I)); + else + addSuccessorWithoutProb(*I); +} + void MachineBasicBlock::addPredecessor(MachineBasicBlock *Pred) { Predecessors.push_back(Pred); } Modified: user/markj/netdump/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp ============================================================================== --- user/markj/netdump/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp Tue Apr 24 14:55:22 2018 (r332938) @@ -265,13 +265,10 @@ MCDisassembler::DecodeStatus X86GenericDisassembler::g /// @param reg - The Reg to append. static void translateRegister(MCInst &mcInst, Reg reg) { #define ENTRY(x) X86::x, - uint8_t llvmRegnums[] = { - ALL_REGS - 0 - }; + static constexpr MCPhysReg llvmRegnums[] = {ALL_REGS}; #undef ENTRY - uint8_t llvmRegnum = llvmRegnums[reg]; + MCPhysReg llvmRegnum = llvmRegnums[reg]; mcInst.addOperand(MCOperand::createReg(llvmRegnum)); } Modified: user/markj/netdump/contrib/llvm/lib/Target/X86/X86.h ============================================================================== --- user/markj/netdump/contrib/llvm/lib/Target/X86/X86.h Tue Apr 24 14:52:17 2018 (r332937) +++ user/markj/netdump/contrib/llvm/lib/Target/X86/X86.h Tue Apr 24 14:55:22 2018 (r332938) @@ -66,6 +66,9 @@ FunctionPass *createX86OptimizeLEAs(); /// Return a pass that transforms setcc + movzx pairs into xor + setcc. FunctionPass *createX86FixupSetCC(); +/// Return a pass that lowers EFLAGS copy pseudo instructions. +FunctionPass *createX86FlagsCopyLoweringPass(); + /// Return a pass that expands WinAlloca pseudo-instructions. FunctionPass *createX86WinAllocaExpander(); Copied: user/markj/netdump/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp (from r332937, head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/markj/netdump/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp Tue Apr 24 14:55:22 2018 (r332938, copy of r332937, head/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp) @@ -0,0 +1,796 @@ +//====- X86FlagsCopyLowering.cpp - Lowers COPY nodes of EFLAGS ------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +/// \file +/// +/// Lowers COPY nodes of EFLAGS by directly extracting and preserving individual +/// flag bits. +/// +/// We have to do this by carefully analyzing and rewriting the usage of the +/// copied EFLAGS register because there is no general way to rematerialize the +/// entire EFLAGS register safely and efficiently. Using `popf` both forces +/// dynamic stack adjustment and can create correctness issues due to IF, TF, +/// and other non-status flags being overwritten. Using sequences involving +/// SAHF don't work on all x86 processors and are often quite slow compared to +/// directly testing a single status preserved in its own GPR. +/// +//===----------------------------------------------------------------------===// + +#include "X86.h" +#include "X86InstrBuilder.h" +#include "X86InstrInfo.h" +#include "X86Subtarget.h" +#include "llvm/ADT/ArrayRef.h" +#include "llvm/ADT/DenseMap.h" +#include "llvm/ADT/STLExtras.h" +#include "llvm/ADT/ScopeExit.h" +#include "llvm/ADT/SmallPtrSet.h" +#include "llvm/ADT/SmallSet.h" +#include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/SparseBitVector.h" +#include "llvm/ADT/Statistic.h" +#include "llvm/CodeGen/MachineBasicBlock.h" +#include "llvm/CodeGen/MachineConstantPool.h" +#include "llvm/CodeGen/MachineDominators.h" +#include "llvm/CodeGen/MachineFunction.h" +#include "llvm/CodeGen/MachineFunctionPass.h" +#include "llvm/CodeGen/MachineInstr.h" +#include "llvm/CodeGen/MachineInstrBuilder.h" +#include "llvm/CodeGen/MachineModuleInfo.h" +#include "llvm/CodeGen/MachineOperand.h" +#include "llvm/CodeGen/MachineRegisterInfo.h" +#include "llvm/CodeGen/MachineSSAUpdater.h" +#include "llvm/CodeGen/TargetInstrInfo.h" +#include "llvm/CodeGen/TargetRegisterInfo.h" +#include "llvm/CodeGen/TargetSchedule.h" +#include "llvm/CodeGen/TargetSubtargetInfo.h" +#include "llvm/IR/DebugLoc.h" +#include "llvm/MC/MCSchedule.h" +#include "llvm/Pass.h" +#include "llvm/Support/CommandLine.h" +#include "llvm/Support/Debug.h" +#include "llvm/Support/raw_ostream.h" +#include +#include +#include +#include + +using namespace llvm; + +#define PASS_KEY "x86-flags-copy-lowering" +#define DEBUG_TYPE PASS_KEY + +STATISTIC(NumCopiesEliminated, "Number of copies of EFLAGS eliminated"); +STATISTIC(NumSetCCsInserted, "Number of setCC instructions inserted"); +STATISTIC(NumTestsInserted, "Number of test instructions inserted"); +STATISTIC(NumAddsInserted, "Number of adds instructions inserted"); + +namespace llvm { + +void initializeX86FlagsCopyLoweringPassPass(PassRegistry &); + +} // end namespace llvm + +namespace { + +// Convenient array type for storing registers associated with each condition. +using CondRegArray = std::array; + +class X86FlagsCopyLoweringPass : public MachineFunctionPass { +public: + X86FlagsCopyLoweringPass() : MachineFunctionPass(ID) { + initializeX86FlagsCopyLoweringPassPass(*PassRegistry::getPassRegistry()); + } + + StringRef getPassName() const override { return "X86 EFLAGS copy lowering"; } + bool runOnMachineFunction(MachineFunction &MF) override; + void getAnalysisUsage(AnalysisUsage &AU) const override; + + /// Pass identification, replacement for typeid. + static char ID; + +private: + MachineRegisterInfo *MRI; + const X86InstrInfo *TII; + const TargetRegisterInfo *TRI; + const TargetRegisterClass *PromoteRC; + MachineDominatorTree *MDT; + + CondRegArray collectCondsInRegs(MachineBasicBlock &MBB, + MachineInstr &CopyDefI); + + unsigned promoteCondToReg(MachineBasicBlock &MBB, + MachineBasicBlock::iterator TestPos, + DebugLoc TestLoc, X86::CondCode Cond); + std::pair + getCondOrInverseInReg(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + X86::CondCode Cond, CondRegArray &CondRegs); + void insertTest(MachineBasicBlock &MBB, MachineBasicBlock::iterator Pos, + DebugLoc Loc, unsigned Reg); + + void rewriteArithmetic(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + MachineInstr &MI, MachineOperand &FlagUse, + CondRegArray &CondRegs); + void rewriteCMov(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + MachineInstr &CMovI, MachineOperand &FlagUse, + CondRegArray &CondRegs); + void rewriteCondJmp(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + MachineInstr &JmpI, CondRegArray &CondRegs); + void rewriteCopy(MachineInstr &MI, MachineOperand &FlagUse, + MachineInstr &CopyDefI); + void rewriteSetCC(MachineBasicBlock &TestMBB, + MachineBasicBlock::iterator TestPos, DebugLoc TestLoc, + MachineInstr &SetCCI, MachineOperand &FlagUse, + CondRegArray &CondRegs); +}; + +} // end anonymous namespace + +INITIALIZE_PASS_BEGIN(X86FlagsCopyLoweringPass, DEBUG_TYPE, + "X86 EFLAGS copy lowering", false, false) +INITIALIZE_PASS_END(X86FlagsCopyLoweringPass, DEBUG_TYPE, + "X86 EFLAGS copy lowering", false, false) + +FunctionPass *llvm::createX86FlagsCopyLoweringPass() { + return new X86FlagsCopyLoweringPass(); +} + +char X86FlagsCopyLoweringPass::ID = 0; + +void X86FlagsCopyLoweringPass::getAnalysisUsage(AnalysisUsage &AU) const { + AU.addRequired(); + MachineFunctionPass::getAnalysisUsage(AU); +} + +namespace { +/// An enumeration of the arithmetic instruction mnemonics which have +/// interesting flag semantics. +/// +/// We can map instruction opcodes into these mnemonics to make it easy to +/// dispatch with specific functionality. +enum class FlagArithMnemonic { + ADC, + ADCX, + ADOX, + RCL, + RCR, + SBB, +}; +} // namespace + +static FlagArithMnemonic getMnemonicFromOpcode(unsigned Opcode) { + switch (Opcode) { + default: + report_fatal_error("No support for lowering a copy into EFLAGS when used " + "by this instruction!"); + +#define LLVM_EXPAND_INSTR_SIZES(MNEMONIC, SUFFIX) \ + case X86::MNEMONIC##8##SUFFIX: \ + case X86::MNEMONIC##16##SUFFIX: \ + case X86::MNEMONIC##32##SUFFIX: \ + case X86::MNEMONIC##64##SUFFIX: + +#define LLVM_EXPAND_ADC_SBB_INSTR(MNEMONIC) \ + LLVM_EXPAND_INSTR_SIZES(MNEMONIC, rr) \ + LLVM_EXPAND_INSTR_SIZES(MNEMONIC, rr_REV) \ + LLVM_EXPAND_INSTR_SIZES(MNEMONIC, rm) \ + LLVM_EXPAND_INSTR_SIZES(MNEMONIC, mr) \ + case X86::MNEMONIC##8ri: \ + case X86::MNEMONIC##16ri8: \ + case X86::MNEMONIC##32ri8: \ + case X86::MNEMONIC##64ri8: \ + case X86::MNEMONIC##16ri: \ + case X86::MNEMONIC##32ri: \ + case X86::MNEMONIC##64ri32: \ + case X86::MNEMONIC##8mi: \ + case X86::MNEMONIC##16mi8: \ + case X86::MNEMONIC##32mi8: \ + case X86::MNEMONIC##64mi8: \ + case X86::MNEMONIC##16mi: \ + case X86::MNEMONIC##32mi: \ + case X86::MNEMONIC##64mi32: \ + case X86::MNEMONIC##8i8: \ + case X86::MNEMONIC##16i16: \ + case X86::MNEMONIC##32i32: \ + case X86::MNEMONIC##64i32: + + LLVM_EXPAND_ADC_SBB_INSTR(ADC) + return FlagArithMnemonic::ADC; + + LLVM_EXPAND_ADC_SBB_INSTR(SBB) + return FlagArithMnemonic::SBB; + +#undef LLVM_EXPAND_ADC_SBB_INSTR + + LLVM_EXPAND_INSTR_SIZES(RCL, rCL) + LLVM_EXPAND_INSTR_SIZES(RCL, r1) + LLVM_EXPAND_INSTR_SIZES(RCL, ri) + return FlagArithMnemonic::RCL; + + LLVM_EXPAND_INSTR_SIZES(RCR, rCL) + LLVM_EXPAND_INSTR_SIZES(RCR, r1) + LLVM_EXPAND_INSTR_SIZES(RCR, ri) + return FlagArithMnemonic::RCR; + +#undef LLVM_EXPAND_INSTR_SIZES + + case X86::ADCX32rr: + case X86::ADCX64rr: + case X86::ADCX32rm: + case X86::ADCX64rm: + return FlagArithMnemonic::ADCX; + + case X86::ADOX32rr: + case X86::ADOX64rr: + case X86::ADOX32rm: + case X86::ADOX64rm: + return FlagArithMnemonic::ADOX; + } +} + +static MachineBasicBlock &splitBlock(MachineBasicBlock &MBB, + MachineInstr &SplitI, + const X86InstrInfo &TII) { + MachineFunction &MF = *MBB.getParent(); + + assert(SplitI.getParent() == &MBB && + "Split instruction must be in the split block!"); + assert(SplitI.isBranch() && + "Only designed to split a tail of branch instructions!"); + assert(X86::getCondFromBranchOpc(SplitI.getOpcode()) != X86::COND_INVALID && + "Must split on an actual jCC instruction!"); + + // Dig out the previous instruction to the split point. + MachineInstr &PrevI = *std::prev(SplitI.getIterator()); + assert(PrevI.isBranch() && "Must split after a branch!"); + assert(X86::getCondFromBranchOpc(PrevI.getOpcode()) != X86::COND_INVALID && + "Must split after an actual jCC instruction!"); + assert(!std::prev(PrevI.getIterator())->isTerminator() && + "Must only have this one terminator prior to the split!"); + + // Grab the one successor edge that will stay in `MBB`. + MachineBasicBlock &UnsplitSucc = *PrevI.getOperand(0).getMBB(); + + // Analyze the original block to see if we are actually splitting an edge + // into two edges. This can happen when we have multiple conditional jumps to + // the same successor. + bool IsEdgeSplit = + std::any_of(SplitI.getIterator(), MBB.instr_end(), + [&](MachineInstr &MI) { + assert(MI.isTerminator() && + "Should only have spliced terminators!"); + return llvm::any_of( + MI.operands(), [&](MachineOperand &MOp) { + return MOp.isMBB() && MOp.getMBB() == &UnsplitSucc; + }); + }) || + MBB.getFallThrough() == &UnsplitSucc; + + MachineBasicBlock &NewMBB = *MF.CreateMachineBasicBlock(); + + // Insert the new block immediately after the current one. Any existing + // fallthrough will be sunk into this new block anyways. + MF.insert(std::next(MachineFunction::iterator(&MBB)), &NewMBB); + + // Splice the tail of instructions into the new block. + NewMBB.splice(NewMBB.end(), &MBB, SplitI.getIterator(), MBB.end()); + + // Copy the necessary succesors (and their probability info) into the new + // block. + for (auto SI = MBB.succ_begin(), SE = MBB.succ_end(); SI != SE; ++SI) + if (IsEdgeSplit || *SI != &UnsplitSucc) + NewMBB.copySuccessor(&MBB, SI); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Wed Apr 25 06:50:20 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 54E90FBE7FC for ; Wed, 25 Apr 2018 06:50:20 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 003637084A; Wed, 25 Apr 2018 06:50:20 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EB4C725AA5; Wed, 25 Apr 2018 06:50:19 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3P6oJHc039363; Wed, 25 Apr 2018 06:50:19 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3P6oJS2039362; Wed, 25 Apr 2018 06:50:19 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804250650.w3P6oJS2039362@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Wed, 25 Apr 2018 06:50:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r332988 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 332988 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Apr 2018 06:50:20 -0000 Author: pho Date: Wed Apr 25 06:50:19 2018 New Revision: 332988 URL: https://svnweb.freebsd.org/changeset/base/332988 Log: Return fsck exit status. Style fix. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/suj17.sh Modified: user/pho/stress2/misc/suj17.sh ============================================================================== --- user/pho/stress2/misc/suj17.sh Wed Apr 25 06:29:07 2018 (r332987) +++ user/pho/stress2/misc/suj17.sh Wed Apr 25 06:50:19 2018 (r332988) @@ -44,7 +44,7 @@ rm -f suj17.c cd $here mount | grep $mntpoint | grep -q /dev/md && umount -f $mntpoint -mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart mdconfig -a -t swap -s 2g -u $mdstart || exit 1 bsdlabel -w md$mdstart auto @@ -56,14 +56,15 @@ mount /dev/md${mdstart}$part $mntpoint chmod 777 $mntpoint su $testuser -c "cd $mntpoint; /tmp/suj17" +s=$? while mount | grep $mntpoint | grep -q /dev/md; do umount $mntpoint || sleep 1 done -checkfs /dev/md${mdstart}$part +checkfs /dev/md${mdstart}$part || s=$? mdconfig -d -u $mdstart rm -f /tmp/suj17 -exit +exit $s EOF #include #include From owner-svn-src-user@freebsd.org Thu Apr 26 05:21:01 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B58B7FC3586 for ; Thu, 26 Apr 2018 05:21:01 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BA2477197; Thu, 26 Apr 2018 05:21:01 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4685F13CFC; Thu, 26 Apr 2018 05:21:01 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3Q5L13S031857; Thu, 26 Apr 2018 05:21:01 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3Q5L0cF031844; Thu, 26 Apr 2018 05:21:00 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201804260521.w3Q5L0cF031844@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Thu, 26 Apr 2018 05:21:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r333014 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 333014 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Apr 2018 05:21:02 -0000 Author: pho Date: Thu Apr 26 05:21:00 2018 New Revision: 333014 URL: https://svnweb.freebsd.org/changeset/base/333014 Log: Cleanup and style fixes. No functional changes intended. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/kevent.sh user/pho/stress2/misc/kevent10.sh user/pho/stress2/misc/kevent11.sh user/pho/stress2/misc/kevent2.sh user/pho/stress2/misc/kevent3.sh user/pho/stress2/misc/kevent4.sh user/pho/stress2/misc/kevent5.sh user/pho/stress2/misc/kevent6.sh user/pho/stress2/misc/kevent8.sh user/pho/stress2/misc/kevent9.sh Modified: user/pho/stress2/misc/kevent.sh ============================================================================== --- user/pho/stress2/misc/kevent.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -36,7 +36,7 @@ odir=`pwd` cd /tmp sed '1,/^EOF/d' < $odir/$0 > kevent.c -mycc -o kevent -Wall kevent.c -pthread +mycc -o kevent -Wall kevent.c -pthread || exit 1 rm -f kevent.c [ -d "$RUNDIR" ] || mkdir -p $RUNDIR cd $RUNDIR @@ -50,10 +50,11 @@ done rm -f /tmp/kevent exit EOF -#include #include #include + #include +#include #include #include #include @@ -70,12 +71,11 @@ static int fd3[2]; #define RUNTIME 12 -void * +static void * thr1(void *arg) { - int n, r; - int kq = -1; struct kevent ev[3]; + int kq, n, r; if ((kq = kqueue()) < 0) err(1, "kqueue(). %s:%d", __FILE__, __LINE__); @@ -113,7 +113,7 @@ thr1(void *arg) return (0); } -void * +static void * thr2(void *arg) { int r; Modified: user/pho/stress2/misc/kevent10.sh ============================================================================== --- user/pho/stress2/misc/kevent10.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent10.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -21,6 +21,8 @@ # Fixed by r315155. +# $FreeBSD$ + . ../default.cfg cat > /tmp/kevent10.c < /tmp/kevent10.c < kevent2.c -mycc -o kevent2 -Wall kevent2.c -pthread +mycc -o kevent2 -Wall kevent2.c -pthread || exit 1 rm -f kevent2.c cd $RUNDIR @@ -47,11 +47,12 @@ done rm -f /tmp/kevent2 exit EOF -#include #include -#include #include +#include + #include +#include #include #include #include @@ -65,13 +66,12 @@ static int fd1[2]; static int fd2[2]; static int fd3[2]; -void * +static void * thr1(void *arg) { - int n, r; - int kq = -1; struct kevent ev[3]; struct timespec ts; + int kq, n, r; if ((kq = kqueue()) < 0) err(1, "kqueue(). %s:%d", __FILE__, __LINE__); @@ -108,14 +108,13 @@ thr1(void *arg) err(1, "kevent(). %s:%d", __FILE__, __LINE__); close(kq); -// printf("%s:%d\n", __FILE__, __LINE__); fflush(stdout); close(fd1[1]); close(fd2[1]); close(fd3[1]); return (0); } -void * +static void * thr2(void *arg) { int r; @@ -128,7 +127,6 @@ thr2(void *arg) } if ((r = pthread_mutex_unlock(&mutex)) != 0) errc(1, r, "pthread_mutex_unlock"); -// printf("%s:%d\n", __FILE__, __LINE__); fflush(stdout); close(fd1[0]); close(fd2[0]); close(fd3[0]); @@ -139,12 +137,10 @@ int main(int argc, char **argv) { pthread_t threads[2]; - int r; - int i; + int i, r; for (i = 0; i < 1000; i++) { waiting = 1; -// printf("%s:%d\n", __FILE__, __LINE__); fflush(stdout); if (pipe(fd1) == -1) err(1, "pipe()"); if (pipe(fd2) == -1) Modified: user/pho/stress2/misc/kevent3.sh ============================================================================== --- user/pho/stress2/misc/kevent3.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent3.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -34,7 +34,7 @@ odir=`pwd` cd /tmp sed '1,/^EOF/d' < $odir/$0 > kevent3.c -mycc -o kevent3 -Wall kevent3.c -pthread +mycc -o kevent3 -Wall kevent3.c -pthread || exit 1 rm -f kevent3.c cd $RUNDIR @@ -47,7 +47,7 @@ for i in `jot 64`; do done done rm -f /tmp/kevent3 -exit +exit 0 EOF /* * Obtained from: @@ -56,6 +56,7 @@ EOF #include #include #include + #include #include @@ -63,11 +64,13 @@ int main(void) { struct kevent ke; int kq; + kq = kqueue(); EV_SET(&ke, getpid(), EVFILT_PROC, EV_ADD, NOTE_EXIT|NOTE_EXEC|NOTE_TRACK, 0, NULL); kevent(kq, &ke, 1, NULL, 0, NULL); if (fork() != 0) kevent(kq, NULL, 0, &ke, 1, NULL); + return (0); } Modified: user/pho/stress2/misc/kevent4.sh ============================================================================== --- user/pho/stress2/misc/kevent4.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent4.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -35,7 +35,7 @@ odir=`pwd` cd /tmp sed '1,/^EOF/d' < $odir/$0 > kevent4.c -mycc -o kevent4 -Wall kevent4.c -pthread +mycc -o kevent4 -Wall kevent4.c -pthread || exit 1 rm -f kevent4.c cd $odir @@ -56,9 +56,10 @@ exit EOF // $FreeBSD$ -#include #include #include + +#include #include #include #include @@ -67,16 +68,16 @@ EOF # define true 1 #endif -int kq; +static int kq; -void +static void err(const char *msg, int err_no) { fprintf(stderr, "%s: %s\n", msg, strerror(err_no)); exit(1); } -void +static void init_kq() { kq = kqueue(); @@ -84,10 +85,11 @@ init_kq() err("kqueue", errno); } -void +static void add_watch(pid_t pid) { struct kevent kev; + bzero(&kev, sizeof(kev)); kev.ident = pid; kev.flags = EV_ADD | EV_ENABLE; @@ -113,36 +115,8 @@ add_watch(pid_t pid) } } -void -del_watch(pid_t pid) +static void polling() { - struct kevent kev; - bzero(&kev, sizeof(kev)); - kev.ident = pid; - kev.flags = EV_DELETE; - kev.filter = EVFILT_PROC; - - while (true) { - int res = kevent(kq, &kev, 1, NULL, 0, NULL); - if (res == -1) { - if (errno == EINTR) - continue; - if (errno == ESRCH) - break; - - int err_no = errno; - char msg[64]; - snprintf(msg, sizeof(msg), - "kevent - del watch for pid %u", pid); - err(msg, err_no); - } - else - break; - } -} - -void polling() -{ struct kevent kev[10]; pid_t pid; int i; @@ -165,7 +139,8 @@ void polling() pid = kev[i].ident; if (kev[i].fflags & NOTE_CHILD) { add_watch(pid); - printf("%u - new process, parent %u\n", pid, (unsigned int)kev[i].data); + printf("%u - new process, parent %u\n", pid, + (unsigned int)kev[i].data); } if (kev[i].fflags & NOTE_FORK) { printf("%u forked\n", pid); @@ -175,7 +150,6 @@ void polling() } if (kev[i].fflags & NOTE_EXIT) { printf("%u exited\n", pid); -// del_watch(pid); } if (kev[i].fflags & NOTE_TRACK) { printf("%u forked - track\n", pid); Modified: user/pho/stress2/misc/kevent5.sh ============================================================================== --- user/pho/stress2/misc/kevent5.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent5.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -42,17 +42,20 @@ rm -f kevent5.c [ -d $RUNDIR ] || mkdir -p $RUNDIR cd $RUNDIR -/tmp/kevent5 kevent5.xxx kevent5.yyy > /dev/null 2>&1 +/tmp/kevent5 kevent5.xxx kevent5.yyy +s=$? rm -f /tmp/kevent5 kevent.xxx kevent.yyy -exit +exit $s EOF -#include +#include #include #include #include +#include + #include #include #include @@ -62,21 +65,23 @@ EOF #include #include +volatile u_int *share; + static char *file1, *file2; #define N 1000 +#define SYNC 0 - -void +static void test(void) { - int kq = -1; - int n; + struct kevent ev[2]; struct timespec ts; - int fd; + int fd, kq, n; if ((fd = open(file1, O_RDONLY, 0)) == -1) err(1, "open(%s)(2)", file1); + atomic_add_int(&share[SYNC], 1); if ((kq = kqueue()) < 0) err(1, "kqueue()"); @@ -94,7 +99,6 @@ test(void) { memset(&ev, 0, sizeof(ev)); n = kevent(kq, NULL, 0, ev, 1, NULL); -// printf("Event 1\n"); close(fd); close(kq); @@ -116,32 +120,40 @@ test(void) { memset(&ev, 0, sizeof(ev)); n = kevent(kq, NULL, 0, ev, 1, &ts); -// printf("Event 2\n"); close(fd); close(kq); } int main(int argc, char **argv) { - int i, j; - int fd; - int status; + size_t len; + int e, fd, i, j, status; if (argc != 3) { - fprintf(stderr, "Usage: %s \n", argv[0]); + fprintf(stderr, "Usage: %s \n", + argv[0]); return (1); } + len = PAGE_SIZE; + if ((share = mmap(NULL, len, PROT_READ | PROT_WRITE, + MAP_ANON | MAP_SHARED, -1, 0)) == MAP_FAILED) + err(1, "mmap"); + + e = 0; file1 = argv[1]; file2 = argv[2]; - for (j = 0; j < 100; j++) { - if ((fd = open(file1, O_CREAT | O_TRUNC | O_RDWR, 0660)) == -1) + for (j = 0; j < 100 && e == 0; j++) { + if ((fd = open(file1, O_CREAT | O_TRUNC | O_RDWR, 0660)) == + -1) err(1, "open(%s)", file1); close(fd); - if ((fd = open(file2, O_CREAT | O_TRUNC | O_RDWR, 0660)) == -1) + if ((fd = open(file2, O_CREAT | O_TRUNC | O_RDWR, 0660)) == + -1) err(1, "open(%s)", file2); close(fd); + share[SYNC] = 0; for (i = 0; i < N; i++) { if (fork() == 0) { test(); @@ -149,18 +161,25 @@ main(int argc, char **argv) { } } + while (share[SYNC] != N) + usleep(200); + sleep(1); if (unlink(file1) == -1) - err(1, "unlink(%s). %s:%d\n", file1, __FILE__, __LINE__); - sleep(1); + err(1, "unlink(%s). %s:%d\n", file1, __FILE__, + __LINE__); + sleep(2); if (unlink(file2) == -1) - err(1, "unlink(%s). %s:%d\n", file2, __FILE__, __LINE__); + err(1, "unlink(%s). %s:%d\n", file2, __FILE__, + __LINE__); for (i = 0; i < N; i++) { if (wait(&status) == -1) err(1, "wait(), %s:%d", __FILE__, __LINE__); + if (status != 0) + e = 1; } } - return (0); + return (e); } Modified: user/pho/stress2/misc/kevent6.sh ============================================================================== --- user/pho/stress2/misc/kevent6.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent6.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -36,6 +36,7 @@ # https://people.freebsd.org/~pho/stress/log/kevent6.txt # Fixed by: r286921 +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 . ../default.cfg odir=`pwd` @@ -73,6 +74,10 @@ rm -f /tmp/kevent6 exit EOF #include +#include +#include +#include + #include #include #include @@ -82,26 +87,23 @@ EOF #include #include #include -#include -#include -#include #include #define LOOPS 500000 #define PARALLEL 8 +static int fd; static char path[80]; -int fd; - -void * +static void * spin(void *arg __unused) { int i; for (i= 0;; i++) { snprintf(path, sizeof(path), "file.%06d.%d", getpid(), i); - if ((fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0622)) == -1) + if ((fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0622)) == + -1) err(1, "creat()"); close(fd); usleep(10000); @@ -111,7 +113,7 @@ spin(void *arg __unused) return (NULL); } -void * +static void * test(void *arg __unused) { int kq; Modified: user/pho/stress2/misc/kevent8.sh ============================================================================== --- user/pho/stress2/misc/kevent8.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent8.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -32,7 +32,8 @@ . ../default.cfg -ulimit -k 10000 || { echo FAIL; exit 1; } +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +ulimit -k 5000 || { echo FAIL; exit 1; } odir=`pwd` @@ -45,14 +46,17 @@ cd $odir mount | grep "on $mntpoint " | grep -q md$mdstart && umount -f $mntpoint mdconfig -l | grep -q $mdstart && mdconfig -d -u $mdstart -mdconfig -a -t swap -s 2g -u ${mdstart} +mdconfig -a -t swap -s 2g -u $mdstart bsdlabel -w md$mdstart auto newfs $newfs_flags md${mdstart}$part > /dev/null mount /dev/md${mdstart}$part $mntpoint chmod 777 $mntpoint su $testuser -c "(cd $mntpoint; /tmp/kevent8)" & -sleep 99 +for i in `jot 99`; do + sleep 1 + kill -0 $! 2>/dev/null || break +done umount -f $mntpoint pkill kevent8 wait @@ -66,27 +70,27 @@ rm -f /tmp/kevent8 exit EOF #include -#include #include +#include +#include + #include #include #include #include +#include +#include #include #include #include #include -#include -#include -#include #define PARALLEL 64 +static int fd; static char path[80]; -int fd; - -void * +static void * spin(void *arg __unused) { int i; @@ -94,7 +98,8 @@ spin(void *arg __unused) for (i= 0;; i++) { snprintf(path, sizeof(path), "file.%06d.%d", getpid(), i); - if ((fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0622)) == -1) + if ((fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0622)) == + -1) err(1, "creat()"); close(fd); fd = 0; @@ -103,7 +108,7 @@ spin(void *arg __unused) return (NULL); } -void * +static void * test(void *arg __unused) { int kq; Modified: user/pho/stress2/misc/kevent9.sh ============================================================================== --- user/pho/stress2/misc/kevent9.sh Wed Apr 25 21:01:02 2018 (r333013) +++ user/pho/stress2/misc/kevent9.sh Thu Apr 26 05:21:00 2018 (r333014) @@ -18,19 +18,20 @@ cd /tmp cat > /tmp/kevent9-1.c < -#include -#include -#include #include #include +#include #include -#include +#include + +#include #include #include -#include +#include +#include #include -#include +#include +#include #define NUM_PROCS 4000 @@ -204,3 +205,4 @@ while [ $((`date '+%s'` - start)) -lt 300 ]; do ./kevent9-1 > /dev/null done rm kevent9-1 kevent9-2 +exit 0