From owner-svn-src-user@freebsd.org Mon Jan 8 08:32:08 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F3A47E5AF1B for ; Mon, 8 Jan 2018 08:32:08 +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 CE951704FD; Mon, 8 Jan 2018 08:32:08 +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 1F3EB2D45F; Mon, 8 Jan 2018 08:32:08 +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 w088W7GP051039; Mon, 8 Jan 2018 08:32:07 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w088W7st051025; Mon, 8 Jan 2018 08:32:07 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201801080832.w088W7st051025@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Mon, 8 Jan 2018 08:32:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327687 - 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: 327687 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: Mon, 08 Jan 2018 08:32:09 -0000 Author: pho Date: Mon Jan 8 08:32:07 2018 New Revision: 327687 URL: https://svnweb.freebsd.org/changeset/base/327687 Log: Return status. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/cleanup.sh Modified: user/pho/stress2/misc/cleanup.sh ============================================================================== --- user/pho/stress2/misc/cleanup.sh Mon Jan 8 00:57:28 2018 (r327686) +++ user/pho/stress2/misc/cleanup.sh Mon Jan 8 08:32:07 2018 (r327687) @@ -34,17 +34,18 @@ MOUNTS=31 mount | grep -q "on $mntpoint " && umount -f $mntpoint -rm -rf ${mntpoint}/stressX* +rm -rf $mntpoint/stressX* rm -f /tmp/.snap/stress2* /var/.snap/stress2* rm -rf /tmp/stressX.control $RUNDIR /tmp/misc.name [ -d `dirname "$diskimage"` ] || mkdir -p `dirname "$diskimage"` mkdir -p $RUNDIR chmod 0777 $RUNDIR +s=0 for i in `jot $MOUNTS 0 | sort -nr` ""; do while mount | grep -q "on ${mntpoint}$i "; do - fstat ${mntpoint}$i | sed 1d | awk '{print $3}' | xargs kill - umount -f ${mntpoint}$i > /dev/null 2>&1 + fstat -mf ${mntpoint}$i | sed 1d | awk '{print $3}' | xargs kill + umount -f ${mntpoint}$i > /dev/null 2>&1 || s=1 done done # Delete the test mount points /mnt0 .. /mnt31 @@ -54,14 +55,12 @@ for i in `jot $MOUNTS 0`; do rm -rf ${mntpoint}$i > /dev/null 2>&1 fi done -find $mntpoint/* -delete 2>/dev/null -m=$mdstart -for i in `jot $MOUNTS`; do - [ -c /dev/md$m ] && mdconfig -d -u $m - m=$((m + 1)) +[ -d "$mntpoint" ] && (cd $mntpoint && find . -delete) +for i in `jot $MOUNTS $mdstart`; do + [ -c /dev/md$i ] && { mdconfig -d -u $i || s=1; } done # Delete $testuser's ipcs ipcs | awk "\$5 ~/$testuser/ && \$6 ~/$testuser/ {print \"-\" \$1,\$2}" | \ xargs -t ipcrm - +exit $s From owner-svn-src-user@freebsd.org Mon Jan 8 08:37:32 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E400E5B1B6 for ; Mon, 8 Jan 2018 08:37:32 +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 3F139707F0; Mon, 8 Jan 2018 08:37:32 +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 88D272D484; Mon, 8 Jan 2018 08:37:31 +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 w088bVEU052147; Mon, 8 Jan 2018 08:37:31 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w088bVX4052146; Mon, 8 Jan 2018 08:37:31 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201801080837.w088bVX4052146@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Mon, 8 Jan 2018 08:37:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327688 - 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: 327688 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: Mon, 08 Jan 2018 08:37:32 -0000 Author: pho Date: Mon Jan 8 08:37:31 2018 New Revision: 327688 URL: https://svnweb.freebsd.org/changeset/base/327688 Log: Update the exclude list. Move logfiles to /tmp/stress2.d Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/all.sh Modified: user/pho/stress2/misc/all.sh ============================================================================== --- user/pho/stress2/misc/all.sh Mon Jan 8 08:32:07 2018 (r327687) +++ user/pho/stress2/misc/all.sh Mon Jan 8 08:37:31 2018 (r327688) @@ -39,57 +39,52 @@ # panic: 43 vncache entries remaining 20111220 # backingstore3.sh # g_vfs_done():md6a[WRITE(offset=...)]error = 28 20111230 +# chain.sh WiP 20171225 # crossmp4.sh Known nullfs issue 20150523 # fsync.sh GEOM_JOURNAL: Cannot suspend file system /mnt 20160818 # fuse.sh Memory corruption seen in log file kostik734.txt 20141114 # fuse2.sh Deadlock seen 20121129 # fuse3.sh Deadlock seen 20141120 # gbde.sh panic: handle_written_inodeblock: Invalid link count... 20131128 -# gjournal.sh kmem_malloc(131072): kmem_map too small 20120626 -# gjournal2.sh -# gjournal3.sh panic: Journal overflow 20130729 -# gjournal4.sh panic: Journal overflow 20160829 -# kevent7.sh panic: softclock_call_cc: act 0xfffff800380dad40 0 20161115 +# gjournal3.sh panic: Bio not on queue 20171225 +# graid1_8.sh Known issue 20170909 +# graid1_9.sh WiP 20180108 # lockf5.sh Spinning threads seen 20160718 # maxvnodes2.sh WiP 20161129 # mdconfig.sh Panic: g_read_data(): invalid length 262144 20161128 # memguard.sh Waiting for fix commit # memguard2.sh Waiting for fix commit # memguard3.sh Waiting for fix commit -# mmap18.sh panic: vm_fault_copy_entry: main object missing page 20161102 -# msdos4.sh panic: Assertion sq->sq_wchan != NULL 20160610 -# msdos5.sh Panic: Freeing unused sector ... 20141118 -# newfs4.sh Deadlock seen 20150906 +# mmap32.sh Kernel loop 20171118 +# msdos5.sh panic: Freeing unused sector 320185 25 fc000004 20170819 # nfs10.sh Double fault 20151013 # nfs16.sh panic: Failed to register NFS lock locally - error=11 20160608 +# Xnullfs23.sh panic: Lock (lockmgr) nullfs not locked 20170817 # pfl3.sh panic: handle_written_inodeblock: live inodedep 20140812 -# pmc.sh NMI ... going to debugger 20111217 -# snap5-1.sh mksnap_ffs deadlock 20111218 +# ptrace9.sh WiP # quota2.sh panic: dqflush: stray dquot 20120221 # quota3.sh panic: softdep_deallocate_dependencies: unrecovered ... 20111222 # quota6.sh panic: softdep_deallocate_dependencies: unrecovered ... 20130206 # quota7.sh panic: dqflush: stray dquot 20120221 -# sendmsg.sh Test loops in the kernel 20160519 -# shm_open.sh panic: kmem_malloc(4096): kmem_map too small 20130504 -# snap3.sh mksnap_ffs stuck in snaprdb 20111226 -# snap5.sh mksnap_ffs stuck in getblk 20111224 +# sendfile11.sh panic: vnode_pager_generic_getpages: sector size 8192 . 20170930 +# signal.sh Timing issues. Needs fixing 20171116 # snap6.sh panic: softdep_deallocate_dependencies: unrecovered ... 20130630 # snap8.sh panic: softdep_deallocate_dependencies: unrecovered ... 20120630 -# snap9.sh panic: softdep_deallocate_dependencies: unrecovered ... 20150217 +# snap9.sh panic: handle_written_filepage: not started 20170722 # suj3.sh panic: Memory modified after free 20150721 -# suj9.sh page fault in softdep_count_dependencies+0x27 20141116 # suj11.sh panic: ufsdirhash_newblk: bad offset 20120118 # suj13.sh general protection fault in bufdaemon 20141130 # suj30.sh panic: flush_pagedep_deps: MKDIR_PARENT 20121020 # suj34.sh Various hangs and panics (SUJ + NULLFS issue) 20131210 -# trim4.sh Page fault in softdep_count_dependencies+0x27 20140608 -# umountf3.sh KDB: enter: watchdog timeout 20111217 +# swap4.sh WiP 20171208 +# swapoff2.sh swap_pager_force_pagein: read from swap failed 20171223 +# umountf3.sh KDB: enter: watchdog timeout 20170514 # umountf7.sh panic: handle_written_inodeblock: live inodedep ... 20131129 -# umountf9.sh panic: handle_written_inodeblock: live inodedep ... 20160921 +# umountf9.sh panic: handle_written_inodeblock: live inodedep ... 20170221 # unionfs.sh insmntque: non-locked vp: xx is not exclusive locked... 20130909 # unionfs2.sh insmntque: mp-safe fs and non-locked vp is not ... 20111219 # unionfs3.sh insmntque: mp-safe fs and non-locked vp is not ... 20111216 -# zfs3.sh Page fault 20161118 +# Xzfs3.sh Page fault 20161118 # Test not to run for other reasons: @@ -128,15 +123,23 @@ [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 # Log files: -allfaillog=/tmp/stress2.all.fail.log # Tests that failed -alllast=/tmp/stress2.all.last # Last test run -alllist=/tmp/stress2.all.list # -o list -alllog=/tmp/stress2.all.log # Tests run -alloutput=/tmp/stress2.all.output # Output from current test -allexcess=/tmp/stress2.all.excessive # Tests with excessive runtime +sdir=/tmp/stress2.d +mkdir -p $sdir +allfaillog=$sdir/fail # Tests that failed +alllast=$sdir/last # Last test run +alllist=$sdir/list # -o list +alllog=$sdir/log # Tests run +alloutput=$sdir/output # Output from current test +allexcess=$sdir/excessive # Tests with excessive runtime +allelapsed=$sdir/elapsed # Test runtime +loops=0 # Times to run the tests +rev=`uname -a | awk '{print $7}' | sed 's/://'` +rev="`uname -a | sed 's#.*/compile/##; s/ .*//'` $rev" -args=`getopt acno $*` -[ $? -ne 0 ] && echo "Usage $0 [-a] [-c] [-n] [tests]" && exit 1 +args=`getopt acl:m:no "$@"` +[ $? -ne 0 ] && + echo "Usage $0 [-a] [-c] [-l ] [-m ] [-n] [-o] [tests]" && + exit 1 set -- $args for i; do case "$i" in @@ -148,10 +151,16 @@ for i; do rm -f $alllist shift ;; + -l) loops=$2 # Number of time to run + shift; shift + ;; + -m) minutes=$(($2 * 60)) # Run for minutes + shift; shift + ;; -n) noshuffle=1 # Do not shuffle the list of tests shift # Resume test after last test ;; - -o) once=1 # Only run once + -o) loops=1 # Only run once shift ;; --) @@ -168,8 +177,10 @@ minspace=$((1024 * 1024)) # in k { echo "diskimage dir: $diskimage not found"; exit 1; } [ `df -k $(dirname $diskimage) | tail -1 | awk '{print $4'}` -lt \ $minspace ] && - echo "Warn: Not enough disk space on `dirname $diskimage` for \$diskimage" -[ ! -d $(dirname $RUNDIR) ] && echo "No such \$RUNDIR \"`dirname $RUNDIR`\"" && + echo "Warn: Not enough disk space on `dirname $diskimage` " \ + "for \$diskimage" +[ ! -d $(dirname $RUNDIR) ] && + echo "No such \$RUNDIR \"`dirname $RUNDIR`\"" && exit 1 [ `df -k $(dirname $RUNDIR) | tail -1 | awk '{print $4'}` -lt \ $minspace ] && @@ -183,11 +194,13 @@ su $testuser -c "touch $probe" > /dev/null 2>&1 [ `swapinfo | wc -l` -eq 1 ] && echo "Consider adding a swap disk. Many tests rely on this." [ -x ../testcases/run/run ] || - { echo "Please run \"cd stress2; make\" first." && exit 1; } + (cd ..; make) ping -c 2 -t 2 $BLASTHOST > /dev/null 2>&1 || { echo "Note: Can not ping \$BLASTHOST: $BLASTHOST"; } +echo "$loops" | grep -Eq "^[0-9]+$" || + { echo "The -l argument must be a positive number"; exit 1; } -rm -f $alllog $alllist +rm -f $alllog $alllist $allelepsed find `dirname $alllast` -maxdepth 1 -name $alllast -mtime +12h -delete touch $alllast $alllog chmod 640 $alllast $alllog @@ -199,16 +212,19 @@ pid=$! sleep 1 kill -0 $pid > /dev/null 2>&1 && { console=/dev/null; kill -9 $pid; } +while pgrep -q fsck; do sleep 10; done [ -f all.debug.inc ] && . all.debug.inc +s1=`date +%s` while true; do exclude=`sed -n '/^# Start of list/,/^# End of list/p' < $0 | - cat - all.exclude 2>/dev/null | - grep "\.sh" | awk '{print $2}'` + cat - all.exclude 2>/dev/null | + grep "\.sh" | awk '{print $2}'` list=`echo *.sh` [ $# -ne 0 ] && list=$* - list=`echo $list | \ - sed "s/[[:<:]]all\.sh[[:>:]]//g; s/[[:<:]]cleanup\.sh[[:>:]]//g"` + list=`echo $list | + sed "s/[[:<:]]all\.sh[[:>:]]//g;\ + s/[[:<:]]cleanup\.sh[[:>:]]//g"` if [ -n "$noshuffle" -a $# -eq 0 ]; then last=`cat $alllast` @@ -217,33 +233,37 @@ while true; do l=`echo "$list" | sed "s/.*$last//"` [ -z "$l" ] && l=$list # start over list=$l - echo "Resuming test at `echo "$list" | \ + echo "Resuming test at `echo "$list" | awk '{print $1}'`" fi fi [ -n "$noshuffle" ] || - list=`echo $list | tr ' ' '\n' | sort -R | \ - tr '\n' ' '` + list=`echo $list | tr ' ' '\n' | sort -R | + tr '\n' ' '` lst="" for i in $list; do - [ -z "$all" ] && echo $exclude | grep -qw $i && continue + [ -z "$all" ] && echo $exclude | grep -qw `basename $i` && + continue lst="$lst $i" done [ -z "$lst" ] && exit - [ -n "$once" ] && echo "$lst" > $alllist + echo "$lst" > $alllist n1=0 n2=`echo $lst | wc -w | sed 's/ //g'` for i in $lst; do + i=`basename $i` n1=$((n1 + 1)) echo $i > $alllast ./cleanup.sh || exit 1 - echo "`date '+%Y%m%d %T'` all: $i" - printf "`date '+%Y%m%d %T'` all ($n1/$n2): $i\n" >> $alllog - printf "`date '+%Y%m%d %T'` all ($n1/$n2): $i\r\n" > $console + ts=`date '+%Y%m%d %T'` + echo "$ts all: $i" + printf "$ts all ($n1/$n2): $i\n" >> $alllog + printf "$ts all ($n1/$n2): $i\r\n" > $console logger "Starting test all: $i" [ $all_debug ] && pre_debug + [ -f $i ] || loops=1 # break sync;sync;sync start=`date '+%s'` ( @@ -252,19 +272,29 @@ while true; do [ $e -ne 0 ] && echo "FAIL $i exit code $e" ) | tee $alloutput + ts=`date '+%Y%m%d %T'` grep -qw FAIL $alloutput && - echo "`date '+%Y%m%d %T'` $i" >> $allfaillog && + echo "$ts $i" >> $allfaillog && logger "stress2 test $i failed" rm -f $alloutput - [ $((`date '+%s'` - $start)) -gt 1980 ] && - printf "*** Excessive run time: %s %d min\r\n" $i, \ - $(((`date '+%s'` - $start) / 60)) | \ + printf "$ts $rev $i $((`date '+%s'` - start))\n" >> \ + $allelapsed + [ -f ../tools/ministat.sh ] && + ../tools/ministat.sh $allelapsed $i + [ $((`date '+%s'` - start)) -gt 1980 ] && + printf "$ts *** Excessive run time: %s %d min\r\n" $i, \ + $(((`date '+%s'` - start) / 60)) | tee $console >> $allexcess - while pgrep -q swap; do + while pgrep -q "^swap$"; do echo "swap still running" sleep 2 done [ $all_debug ] && post_debug + [ $minutes ] && [ $((`date +%s` - s1)) -ge $minutes ] && break 2 done - [ -n "$once" ] && break + [ $((loops -= 1)) -eq 0 ] && break done +printf "`date '+%Y%m%d %T'` all: done\n" +printf "`date '+%Y%m%d %T'` all: done\r\n" > $console +[ -x ../tools/fail.sh ] && ../tools/fail.sh +find /tmp . -name "*.core" -mtime -2 -maxdepth 2 -ls 2>/dev/null From owner-svn-src-user@freebsd.org Mon Jan 8 11:43:44 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3A3DFE6648A for ; Mon, 8 Jan 2018 11:43:44 +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 168AE7728C; Mon, 8 Jan 2018 11:43:44 +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 605932F349; Mon, 8 Jan 2018 11:43:43 +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 w08BhhCf031532; Mon, 8 Jan 2018 11:43:43 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w08BhhHA031531; Mon, 8 Jan 2018 11:43:43 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201801081143.w08BhhHA031531@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Mon, 8 Jan 2018 11:43:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327692 - 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: 327692 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: Mon, 08 Jan 2018 11:43:44 -0000 Author: pho Date: Mon Jan 8 11:43:42 2018 New Revision: 327692 URL: https://svnweb.freebsd.org/changeset/base/327692 Log: Limit runtime. Ensure that the buffer size is >= st_blksize. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/kinfo2.sh Modified: user/pho/stress2/misc/kinfo2.sh ============================================================================== --- user/pho/stress2/misc/kinfo2.sh Mon Jan 8 11:08:45 2018 (r327691) +++ user/pho/stress2/misc/kinfo2.sh Mon Jan 8 11:43:42 2018 (r327692) @@ -41,19 +41,26 @@ mycc -o kinfo2 -Wall -Wextra kinfo2.c -lutil || exit 1 rm -f kinfo2.c mount | grep -q procfs || mount -t procfs procfs /proc -for i in `jot 20`; do +s=0 +for i in `jot 15`; do + pids="" for j in `jot 5`; do /tmp/kinfo2 & + pids="$pids $!" done - wait + for p in $pids; do + wait $p + [ $? -ne 0 ] && s=1 + done done rm -f /tmp/kinfo2 -exit 0 +exit $s EOF #include #include +#include #include #include @@ -101,8 +108,9 @@ list(void) struct dirent *dp; struct kinfo_file *freep; struct kinfo_vmentry *freep_vm; + struct stat sb; pid_t pid; - long base; + off_t base; long l; int cnt, fd, n; int space = sizeof(buf); @@ -112,10 +120,14 @@ list(void) if ((fd = open("/proc", O_RDONLY)) == -1) err(1, "open(%s)", "/proc"); + if (fstat(fd, &sb) == -1) + err(1, "fstat()"); do { if ((n = getdirentries(fd, bp, space, &base)) == -1) err(1, "getdirentries"); space = space - n; + if (space < sb.st_blksize) + break; bp = bp + n; } while (n != 0); close(fd); From owner-svn-src-user@freebsd.org Mon Jan 8 11:45:57 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B64EBE66614 for ; Mon, 8 Jan 2018 11:45:57 +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 9173B773C6; Mon, 8 Jan 2018 11:45:57 +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 D88842F34A; Mon, 8 Jan 2018 11:45: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 w08BjuXQ031893; Mon, 8 Jan 2018 11:45:56 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w08BjuYl031892; Mon, 8 Jan 2018 11:45:56 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201801081145.w08BjuYl031892@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Mon, 8 Jan 2018 11:45:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327693 - 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: 327693 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: Mon, 08 Jan 2018 11:45:57 -0000 Author: pho Date: Mon Jan 8 11:45:56 2018 New Revision: 327693 URL: https://svnweb.freebsd.org/changeset/base/327693 Log: Fix cleanup. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/umountf10.sh Modified: user/pho/stress2/misc/umountf10.sh ============================================================================== --- user/pho/stress2/misc/umountf10.sh Mon Jan 8 11:43:42 2018 (r327692) +++ user/pho/stress2/misc/umountf10.sh Mon Jan 8 11:45:56 2018 (r327693) @@ -86,7 +86,7 @@ kill $pid $pid2 $tpid wait umount $mntpoint -rm -f $mntpoint/file.* +rm -f $mntpoint/file.* /tmp/umountf10 mdconfig -d -u $mdstart exit 0 From owner-svn-src-user@freebsd.org Mon Jan 8 22:59:38 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 41815E694B5 for ; Mon, 8 Jan 2018 22:59:38 +0000 (UTC) (envelope-from jeff@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 1BDFA79CEC; Mon, 8 Jan 2018 22:59:38 +0000 (UTC) (envelope-from jeff@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 3468F6638; Mon, 8 Jan 2018 22:59:37 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w08Mxbp1040754; Mon, 8 Jan 2018 22:59:37 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w08MxbJW040753; Mon, 8 Jan 2018 22:59:37 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801082259.w08MxbJW040753@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Mon, 8 Jan 2018 22:59:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327708 - user/jeff/numa/sys/kern X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/sys/kern X-SVN-Commit-Revision: 327708 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: Mon, 08 Jan 2018 22:59:38 -0000 Author: jeff Date: Mon Jan 8 22:59:36 2018 New Revision: 327708 URL: https://svnweb.freebsd.org/changeset/base/327708 Log: Allow the per-domain kernel vmems to dip into reserves. Modified: user/jeff/numa/sys/kern/subr_vmem.c Modified: user/jeff/numa/sys/kern/subr_vmem.c ============================================================================== --- user/jeff/numa/sys/kern/subr_vmem.c Mon Jan 8 21:27:41 2018 (r327707) +++ user/jeff/numa/sys/kern/subr_vmem.c Mon Jan 8 22:59:36 2018 (r327708) @@ -257,11 +257,11 @@ bt_fill(vmem_t *vm, int flags) VMEM_ASSERT_LOCKED(vm); /* - * Only allow the kernel arena to dip into reserve tags. It is the - * vmem where new tags come from. + * Only allow the kernel arena and arenas derived from kernel arena to + * dip into reserve tags. They are where new tags come from. */ flags &= BT_FLAGS; - if (vm != kernel_arena) + if (vm != kernel_arena && vm->vm_arg != kernel_arena) flags &= ~M_USE_RESERVE; /* From owner-svn-src-user@freebsd.org Tue Jan 9 01:41:07 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BDAD3E74ACA for ; Tue, 9 Jan 2018 01:41:07 +0000 (UTC) (envelope-from jeff@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 9A6D180DB9; Tue, 9 Jan 2018 01:41:07 +0000 (UTC) (envelope-from jeff@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 C889010296; Tue, 9 Jan 2018 01:41:06 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w091f6pT007905; Tue, 9 Jan 2018 01:41:06 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w091f6Iq007904; Tue, 9 Jan 2018 01:41:06 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801090141.w091f6Iq007904@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 01:41:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327713 - user/jeff/numa/sys/kern X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/sys/kern X-SVN-Commit-Revision: 327713 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, 09 Jan 2018 01:41:07 -0000 Author: jeff Date: Tue Jan 9 01:41:06 2018 New Revision: 327713 URL: https://svnweb.freebsd.org/changeset/base/327713 Log: Simplify cpuset_getdomain() Correctly limit restricting sets of preferred policies. Modified: user/jeff/numa/sys/kern/kern_cpuset.c Modified: user/jeff/numa/sys/kern/kern_cpuset.c ============================================================================== --- user/jeff/numa/sys/kern/kern_cpuset.c Tue Jan 9 00:27:02 2018 (r327712) +++ user/jeff/numa/sys/kern/kern_cpuset.c Tue Jan 9 01:41:06 2018 (r327713) @@ -426,6 +426,15 @@ domainset_valid(const struct domainset *parent, const return (DOMAINSET_ISSET(child->ds_prefer, &parent->ds_mask)); } +static int +domainset_restrict(const struct domainset *parent, + const struct domainset *child) +{ + if (child->ds_policy != DOMAINSET_POLICY_PREFER) + return (DOMAINSET_OVERLAP(&parent->ds_mask, &child->ds_mask)); + return (DOMAINSET_ISSET(child->ds_prefer, &parent->ds_mask)); +} + /* * Lookup or create a domainset. The key is provided in ds_mask and * ds_policy. If the domainset does not yet exist the storage in @@ -635,7 +644,7 @@ cpuset_testupdate_domain(struct cpuset *set, struct do domain = set->cs_domain; domainset_copy(domain, &newset); if (!domainset_equal(domain, orig)) { - if (!DOMAINSET_OVERLAP(&domain->ds_mask, &dset->ds_mask)) + if (!domainset_restrict(domain, dset)) return (EDEADLK); DOMAINSET_AND(&newset.ds_mask, &dset->ds_mask); /* Count the number of domains that are changing. */ @@ -1867,7 +1876,6 @@ kern_cpuset_getdomain(struct thread *td, cpulevel_t le struct proc *p; domainset_t *mask; int error; - size_t size; if (domainsetsize < sizeof(domainset_t) || domainsetsize > DOMAINSET_MAXSIZE / NBBY) @@ -1881,8 +1889,7 @@ kern_cpuset_getdomain(struct thread *td, cpulevel_t le if (id != -1) return (ECAPMODE); } - size = domainsetsize; - mask = malloc(size, M_TEMP, M_WAITOK | M_ZERO); + mask = malloc(domainsetsize, M_TEMP, M_WAITOK | M_ZERO); bzero(&outset, sizeof(outset)); error = cpuset_which(which, id, &p, &ttd, &set); if (error) @@ -1911,7 +1918,6 @@ kern_cpuset_getdomain(struct thread *td, cpulevel_t le nset = cpuset_refroot(set); else nset = cpuset_refbase(set); - /* Fetch once for a coherent result. */ domainset_copy(nset->cs_domain, &outset); cpuset_rel(nset); break; @@ -1919,7 +1925,6 @@ kern_cpuset_getdomain(struct thread *td, cpulevel_t le switch (which) { case CPU_WHICH_TID: thread_lock(ttd); - /* Fetch once for a coherent result. */ domainset_copy(ttd->td_cpuset->cs_domain, &outset); thread_unlock(ttd); break; @@ -1965,13 +1970,13 @@ kern_cpuset_getdomain(struct thread *td, cpulevel_t le } DOMAINSET_COPY(&outset.ds_mask, mask); if (error == 0) - error = copyout(mask, maskp, size); + error = copyout(mask, maskp, domainsetsize); if (error == 0) - error = copyout(&outset.ds_policy, policyp, sizeof(*policyp)); + error = copyout(&outset.ds_policy, policyp, + sizeof(outset.ds_policy)); out: free(mask, M_TEMP); return (error); - return 0; } #ifndef _SYS_SYSPROTO_H_ From owner-svn-src-user@freebsd.org Tue Jan 9 01:41:57 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0369DE74C17 for ; Tue, 9 Jan 2018 01:41:57 +0000 (UTC) (envelope-from jeff@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 D29F4810A3; Tue, 9 Jan 2018 01:41:56 +0000 (UTC) (envelope-from jeff@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 0743D102E9; Tue, 9 Jan 2018 01:41:56 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w091ftcX008739; Tue, 9 Jan 2018 01:41:55 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w091ftoU008738; Tue, 9 Jan 2018 01:41:55 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801090141.w091ftoU008738@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 01:41:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327714 - user/jeff/numa/usr.bin/numactl X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/usr.bin/numactl X-SVN-Commit-Revision: 327714 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, 09 Jan 2018 01:41:57 -0000 Author: jeff Date: Tue Jan 9 01:41:55 2018 New Revision: 327714 URL: https://svnweb.freebsd.org/changeset/base/327714 Log: Provide backwards compat for numactl. Modified: user/jeff/numa/usr.bin/numactl/numactl.c Modified: user/jeff/numa/usr.bin/numactl/numactl.c ============================================================================== --- user/jeff/numa/usr.bin/numactl/numactl.c Tue Jan 9 01:41:06 2018 (r327713) +++ user/jeff/numa/usr.bin/numactl/numactl.c Tue Jan 9 01:41:55 2018 (r327714) @@ -29,7 +29,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include #include #include @@ -58,58 +58,67 @@ static struct option longopts[] = { }; static const char * -policy_to_str(vm_domain_policy_type_t vt) +policy_to_str(int policy) { - switch (vt) { - case VM_POLICY_NONE: - return ("none"); - case VM_POLICY_ROUND_ROBIN: - return ("rr"); - case VM_POLICY_FIXED_DOMAIN: - return ("fixed-domain"); - case VM_POLICY_FIXED_DOMAIN_ROUND_ROBIN: - return ("fixed-domain-rr"); - case VM_POLICY_FIRST_TOUCH: + switch (policy) { + case DOMAINSET_POLICY_INVALID: + return ("invalid"); + case DOMAINSET_POLICY_ROUNDROBIN: + return ("round-robin"); + case DOMAINSET_POLICY_FIRSTTOUCH: return ("first-touch"); - case VM_POLICY_FIRST_TOUCH_ROUND_ROBIN: - return ("first-touch-rr"); + case DOMAINSET_POLICY_PREFER: + return ("prefer"); default: return ("unknown"); } } +static void +domain_print(domainset_t *mask) +{ + int once; + int bit; + + for (once = 0, bit = 0; bit < DOMAINSET_SETSIZE; bit++) { + if (DOMAINSET_ISSET(bit, mask)) { + if (once == 0) { + printf("%d", bit); + once = 1; + } else + printf(", %d", bit); + } + } + printf("\n"); +} + static int -parse_policy(struct vm_domain_policy_entry *vd, const char *str) +parse_policy(int *policy, const char *str) { if (strcmp(str, "rr") == 0) { - vd->policy = VM_POLICY_ROUND_ROBIN; - vd->domain = -1; + *policy = DOMAINSET_POLICY_ROUNDROBIN; return (0); } if (strcmp(str, "first-touch-rr") == 0) { - vd->policy = VM_POLICY_FIRST_TOUCH_ROUND_ROBIN; - vd->domain = -1; + *policy = DOMAINSET_POLICY_FIRSTTOUCH; return (0); } if (strcmp(str, "first-touch") == 0) { - vd->policy = VM_POLICY_FIRST_TOUCH; - vd->domain = -1; + *policy = DOMAINSET_POLICY_FIRSTTOUCH; return (0); } if (strcmp(str, "fixed-domain") == 0) { - vd->policy = VM_POLICY_FIXED_DOMAIN; - vd->domain = 0; + *policy = DOMAINSET_POLICY_PREFER; return (0); } if (strcmp(str, "fixed-domain-rr") == 0) { - vd->policy = VM_POLICY_FIXED_DOMAIN_ROUND_ROBIN; - vd->domain = 0; + *policy = DOMAINSET_POLICY_PREFER; return (0); } @@ -150,10 +159,28 @@ set_numa_domain_cpuaffinity(int cpu_domain, cpuwhich_t return (0); } +/* + * Attempt to maintain compatability with old style syscalls. + */ +static int +numa_setaffinity(cpuwhich_t which, id_t id, int policy, int domain) +{ + domainset_t mask; + int p; + + DOMAINSET_ZERO(&mask); + if (policy == DOMAINSET_POLICY_PREFER) + DOMAINSET_SET(domain, &mask); + else if (cpuset_getdomain(CPU_LEVEL_ROOT, CPU_WHICH_PID, -1, + sizeof(mask), &mask, &p) != 0) + err(EXIT_FAILURE, "getdomain"); + return cpuset_setdomain(CPU_LEVEL_WHICH, which, id, sizeof(mask), + &mask, policy); +} + int main(int argc, char *argv[]) { - struct vm_domain_policy_entry vd; lwpid_t tid; pid_t pid; cpuwhich_t which; @@ -163,6 +190,8 @@ main(int argc, char *argv[]) int mem_policy_set; int ch; int cpu_domain; + int policy; + int domain; id = -1; which = -1; @@ -172,6 +201,8 @@ main(int argc, char *argv[]) tid = -1; pid = -1; cpu_domain = -1; + domain = -1; + policy = DOMAINSET_POLICY_INVALID; while ((ch = getopt_long(argc, argv, "c:gl:m:p:st:", longopts, NULL)) != -1) { @@ -183,7 +214,7 @@ main(int argc, char *argv[]) is_get = 1; break; case 'l': - if (parse_policy(&vd, optarg) != 0) { + if (parse_policy(&policy, optarg) != 0) { fprintf(stderr, "Could not parse policy: '%s'\n", optarg); exit(1); @@ -191,12 +222,7 @@ main(int argc, char *argv[]) mem_policy_set = 1; break; case 'm': - if (mem_policy_set == 0) { - fprintf(stderr, - "Error: set policy first before domain\n"); - exit(1); - } - vd.domain = atoi(optarg); + domain = atoi(optarg); break; case 'p': pid = atoi(optarg); @@ -223,7 +249,7 @@ main(int argc, char *argv[]) } /* Set current memory process policy, will be inherited */ - if (numa_setaffinity(CPU_WHICH_PID, -1, &vd) != 0) + if (numa_setaffinity(CPU_WHICH_PID, -1, policy, domain) != 0) err(1, "numa_setaffinity"); /* If a CPU domain policy was given, include that too */ @@ -261,19 +287,23 @@ main(int argc, char *argv[]) /* If it's get, then get the policy and return */ if (is_get) { - error = numa_getaffinity(which, id, &vd); + domainset_t mask; + + printf("which %d, id %ld\n", which, id); + error = cpuset_getdomain(CPU_LEVEL_WHICH, which, id, + sizeof(mask), &mask, &policy); if (error != 0) - err(1, "numa_getaffinity"); - printf(" Policy: %s; domain: %d\n", - policy_to_str(vd.policy), - vd.domain); + err(1, "cpuset_getdomain"); + printf(" Policy: %s; domain: ", + policy_to_str(policy)); + domain_print(&mask); exit(0); } /* Assume it's set */ /* Syscall */ - error = numa_setaffinity(which, id, &vd); + error = numa_setaffinity(which, id, policy, domain); if (error != 0) err(1, "numa_setaffinity"); From owner-svn-src-user@freebsd.org Tue Jan 9 21:33:00 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A706E74427 for ; Tue, 9 Jan 2018 21:33:00 +0000 (UTC) (envelope-from jeff@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 36CE8728EC; Tue, 9 Jan 2018 21:33:00 +0000 (UTC) (envelope-from jeff@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 65B411C8F5; Tue, 9 Jan 2018 21:32:59 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w09LWxEi015888; Tue, 9 Jan 2018 21:32:59 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w09LWwYR015881; Tue, 9 Jan 2018 21:32:58 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801092132.w09LWwYR015881@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 21:32:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327743 - user/jeff/numa/sys/compat/freebsd32 X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/sys/compat/freebsd32 X-SVN-Commit-Revision: 327743 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, 09 Jan 2018 21:33:00 -0000 Author: jeff Date: Tue Jan 9 21:32:58 2018 New Revision: 327743 URL: https://svnweb.freebsd.org/changeset/base/327743 Log: Properly implement 32bit/64bit compat Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_misc.c user/jeff/numa/sys/compat/freebsd32/freebsd32_proto.h user/jeff/numa/sys/compat/freebsd32/freebsd32_syscall.h user/jeff/numa/sys/compat/freebsd32/freebsd32_syscalls.c user/jeff/numa/sys/compat/freebsd32/freebsd32_sysent.c user/jeff/numa/sys/compat/freebsd32/freebsd32_systrace_args.c user/jeff/numa/sys/compat/freebsd32/syscalls.master Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_misc.c Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_misc.c Tue Jan 9 21:32:58 2018 (r327743) @@ -3017,6 +3017,24 @@ freebsd32_cpuset_setaffinity(struct thread *td, } int +freebsd32_cpuset_getdomain(struct thread *td, + struct freebsd32_cpuset_getdomain_args *uap) +{ + + return (kern_cpuset_getdomain(td, uap->level, uap->which, + PAIR32TO64(id_t,uap->id), uap->domainsetsize, uap->mask, uap->policy)); +} + +int +freebsd32_cpuset_setdomain(struct thread *td, + struct freebsd32_cpuset_setdomain_args *uap) +{ + + return (kern_cpuset_setdomain(td, uap->level, uap->which, + PAIR32TO64(id_t,uap->id), uap->domainsetsize, uap->mask, uap->policy)); +} + +int freebsd32_nmount(struct thread *td, struct freebsd32_nmount_args /* { struct iovec *iovp; Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_proto.h ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_proto.h Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_proto.h Tue Jan 9 21:32:58 2018 (r327743) @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -693,6 +694,24 @@ struct freebsd32_kevent_args { char nevents_l_[PADL_(int)]; int nevents; char nevents_r_[PADR_(int)]; char timeout_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * timeout; char timeout_r_[PADR_(const struct timespec32 *)]; }; +struct freebsd32_cpuset_getdomain_args { + char level_l_[PADL_(cpulevel_t)]; cpulevel_t level; char level_r_[PADR_(cpulevel_t)]; + char which_l_[PADL_(cpuwhich_t)]; cpuwhich_t which; char which_r_[PADR_(cpuwhich_t)]; + char id1_l_[PADL_(uint32_t)]; uint32_t id1; char id1_r_[PADR_(uint32_t)]; + char id2_l_[PADL_(uint32_t)]; uint32_t id2; char id2_r_[PADR_(uint32_t)]; + char domainsetsize_l_[PADL_(size_t)]; size_t domainsetsize; char domainsetsize_r_[PADR_(size_t)]; + char mask_l_[PADL_(domainset_t *)]; domainset_t * mask; char mask_r_[PADR_(domainset_t *)]; + char policy_l_[PADL_(int *)]; int * policy; char policy_r_[PADR_(int *)]; +}; +struct freebsd32_cpuset_setdomain_args { + char level_l_[PADL_(cpulevel_t)]; cpulevel_t level; char level_r_[PADR_(cpulevel_t)]; + char which_l_[PADL_(cpuwhich_t)]; cpuwhich_t which; char which_r_[PADR_(cpuwhich_t)]; + char id1_l_[PADL_(uint32_t)]; uint32_t id1; char id1_r_[PADR_(uint32_t)]; + char id2_l_[PADL_(uint32_t)]; uint32_t id2; char id2_r_[PADR_(uint32_t)]; + char domainsetsize_l_[PADL_(size_t)]; size_t domainsetsize; char domainsetsize_r_[PADR_(size_t)]; + char mask_l_[PADL_(domainset_t *)]; domainset_t * mask; char mask_r_[PADR_(domainset_t *)]; + char policy_l_[PADL_(int)]; int policy; char policy_r_[PADR_(int)]; +}; #if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__)) #define PAD64_REQUIRED #endif @@ -823,6 +842,8 @@ int freebsd32_fstatat(struct thread *, struct freebsd3 int freebsd32_fhstat(struct thread *, struct freebsd32_fhstat_args *); int freebsd32_getdirentries(struct thread *, struct freebsd32_getdirentries_args *); int freebsd32_kevent(struct thread *, struct freebsd32_kevent_args *); +int freebsd32_cpuset_getdomain(struct thread *, struct freebsd32_cpuset_getdomain_args *); +int freebsd32_cpuset_setdomain(struct thread *, struct freebsd32_cpuset_setdomain_args *); #ifdef COMPAT_43 @@ -1370,6 +1391,8 @@ int freebsd11_freebsd32_mknodat(struct thread *, struc #define FREEBSD32_SYS_AUE_freebsd32_fhstat AUE_FHSTAT #define FREEBSD32_SYS_AUE_freebsd32_getdirentries AUE_GETDIRENTRIES #define FREEBSD32_SYS_AUE_freebsd32_kevent AUE_KEVENT +#define FREEBSD32_SYS_AUE_freebsd32_cpuset_getdomain AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd32_cpuset_setdomain AUE_NULL #undef PAD_ #undef PADL_ Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_syscall.h ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_syscall.h Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_syscall.h Tue Jan 9 21:32:58 2018 (r327743) @@ -455,8 +455,6 @@ #define FREEBSD32_SYS_freebsd32_ppoll 545 #define FREEBSD32_SYS_freebsd32_futimens 546 #define FREEBSD32_SYS_freebsd32_utimensat 547 -#define FREEBSD32_SYS_numa_getaffinity 548 -#define FREEBSD32_SYS_numa_setaffinity 549 #define FREEBSD32_SYS_fdatasync 550 #define FREEBSD32_SYS_freebsd32_fstat 551 #define FREEBSD32_SYS_freebsd32_fstatat 552 @@ -468,4 +466,6 @@ #define FREEBSD32_SYS_fhstatfs 558 #define FREEBSD32_SYS_mknodat 559 #define FREEBSD32_SYS_freebsd32_kevent 560 -#define FREEBSD32_SYS_MAXSYSCALL 561 +#define FREEBSD32_SYS_freebsd32_cpuset_getdomain 561 +#define FREEBSD32_SYS_freebsd32_cpuset_setdomain 562 +#define FREEBSD32_SYS_MAXSYSCALL 563 Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_syscalls.c ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_syscalls.c Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_syscalls.c Tue Jan 9 21:32:58 2018 (r327743) @@ -580,8 +580,8 @@ const char *freebsd32_syscallnames[] = { "freebsd32_ppoll", /* 545 = freebsd32_ppoll */ "freebsd32_futimens", /* 546 = freebsd32_futimens */ "freebsd32_utimensat", /* 547 = freebsd32_utimensat */ - "numa_getaffinity", /* 548 = numa_getaffinity */ - "numa_setaffinity", /* 549 = numa_setaffinity */ + "#548", /* 548 = numa_getaffinity */ + "#549", /* 549 = numa_setaffinity */ "fdatasync", /* 550 = fdatasync */ "freebsd32_fstat", /* 551 = freebsd32_fstat */ "freebsd32_fstatat", /* 552 = freebsd32_fstatat */ @@ -593,4 +593,6 @@ const char *freebsd32_syscallnames[] = { "fhstatfs", /* 558 = fhstatfs */ "mknodat", /* 559 = mknodat */ "freebsd32_kevent", /* 560 = freebsd32_kevent */ + "freebsd32_cpuset_getdomain", /* 561 = freebsd32_cpuset_getdomain */ + "freebsd32_cpuset_setdomain", /* 562 = freebsd32_cpuset_setdomain */ }; Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_sysent.c ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_sysent.c Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_sysent.c Tue Jan 9 21:32:58 2018 (r327743) @@ -629,8 +629,8 @@ struct sysent freebsd32_sysent[] = { { AS(freebsd32_ppoll_args), (sy_call_t *)freebsd32_ppoll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 545 = freebsd32_ppoll */ { AS(freebsd32_futimens_args), (sy_call_t *)freebsd32_futimens, AUE_FUTIMES, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 546 = freebsd32_futimens */ { AS(freebsd32_utimensat_args), (sy_call_t *)freebsd32_utimensat, AUE_FUTIMESAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 547 = freebsd32_utimensat */ - { AS(numa_getaffinity_args), (sy_call_t *)sys_numa_getaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 548 = numa_getaffinity */ - { AS(numa_setaffinity_args), (sy_call_t *)sys_numa_setaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 549 = numa_setaffinity */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 548 = numa_getaffinity */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 549 = numa_setaffinity */ { AS(fdatasync_args), (sy_call_t *)sys_fdatasync, AUE_FSYNC, NULL, 0, 0, 0, SY_THR_STATIC }, /* 550 = fdatasync */ { AS(freebsd32_fstat_args), (sy_call_t *)freebsd32_fstat, AUE_FSTAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 551 = freebsd32_fstat */ { AS(freebsd32_fstatat_args), (sy_call_t *)freebsd32_fstatat, AUE_FSTATAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 552 = freebsd32_fstatat */ @@ -642,4 +642,6 @@ struct sysent freebsd32_sysent[] = { { AS(fhstatfs_args), (sy_call_t *)sys_fhstatfs, AUE_FHSTATFS, NULL, 0, 0, 0, SY_THR_STATIC }, /* 558 = fhstatfs */ { AS(mknodat_args), (sy_call_t *)sys_mknodat, AUE_MKNODAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 559 = mknodat */ { AS(freebsd32_kevent_args), (sy_call_t *)freebsd32_kevent, AUE_KEVENT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 560 = freebsd32_kevent */ + { AS(freebsd32_cpuset_getdomain_args), (sy_call_t *)freebsd32_cpuset_getdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 561 = freebsd32_cpuset_getdomain */ + { AS(freebsd32_cpuset_setdomain_args), (sy_call_t *)freebsd32_cpuset_setdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 562 = freebsd32_cpuset_setdomain */ }; Modified: user/jeff/numa/sys/compat/freebsd32/freebsd32_systrace_args.c ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/freebsd32_systrace_args.c Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/freebsd32_systrace_args.c Tue Jan 9 21:32:58 2018 (r327743) @@ -3150,24 +3150,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg *n_args = 4; break; } - /* numa_getaffinity */ - case 548: { - struct numa_getaffinity_args *p = params; - iarg[0] = p->which; /* cpuwhich_t */ - iarg[1] = p->id; /* id_t */ - uarg[2] = (intptr_t) p->policy; /* struct vm_domain_policy * */ - *n_args = 3; - break; - } - /* numa_setaffinity */ - case 549: { - struct numa_setaffinity_args *p = params; - iarg[0] = p->which; /* cpuwhich_t */ - iarg[1] = p->id; /* id_t */ - uarg[2] = (intptr_t) p->policy; /* const struct vm_domain_policy * */ - *n_args = 3; - break; - } /* fdatasync */ case 550: { struct fdatasync_args *p = params; @@ -3266,6 +3248,32 @@ systrace_args(int sysnum, void *params, uint64_t *uarg *n_args = 6; break; } + /* freebsd32_cpuset_getdomain */ + case 561: { + struct freebsd32_cpuset_getdomain_args *p = params; + iarg[0] = p->level; /* cpulevel_t */ + iarg[1] = p->which; /* cpuwhich_t */ + uarg[2] = p->id1; /* uint32_t */ + uarg[3] = p->id2; /* uint32_t */ + uarg[4] = p->domainsetsize; /* size_t */ + uarg[5] = (intptr_t) p->mask; /* domainset_t * */ + uarg[6] = (intptr_t) p->policy; /* int * */ + *n_args = 7; + break; + } + /* freebsd32_cpuset_setdomain */ + case 562: { + struct freebsd32_cpuset_setdomain_args *p = params; + iarg[0] = p->level; /* cpulevel_t */ + iarg[1] = p->which; /* cpuwhich_t */ + uarg[2] = p->id1; /* uint32_t */ + uarg[3] = p->id2; /* uint32_t */ + uarg[4] = p->domainsetsize; /* size_t */ + uarg[5] = (intptr_t) p->mask; /* domainset_t * */ + iarg[6] = p->policy; /* int */ + *n_args = 7; + break; + } default: *n_args = 0; break; @@ -8563,38 +8571,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; }; break; - /* numa_getaffinity */ - case 548: - switch(ndx) { - case 0: - p = "cpuwhich_t"; - break; - case 1: - p = "id_t"; - break; - case 2: - p = "userland struct vm_domain_policy *"; - break; - default: - break; - }; - break; - /* numa_setaffinity */ - case 549: - switch(ndx) { - case 0: - p = "cpuwhich_t"; - break; - case 1: - p = "id_t"; - break; - case 2: - p = "userland const struct vm_domain_policy *"; - break; - default: - break; - }; - break; /* fdatasync */ case 550: switch(ndx) { @@ -8768,6 +8744,62 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; }; break; + /* freebsd32_cpuset_getdomain */ + case 561: + switch(ndx) { + case 0: + p = "cpulevel_t"; + break; + case 1: + p = "cpuwhich_t"; + break; + case 2: + p = "uint32_t"; + break; + case 3: + p = "uint32_t"; + break; + case 4: + p = "size_t"; + break; + case 5: + p = "userland domainset_t *"; + break; + case 6: + p = "userland int *"; + break; + default: + break; + }; + break; + /* freebsd32_cpuset_setdomain */ + case 562: + switch(ndx) { + case 0: + p = "cpulevel_t"; + break; + case 1: + p = "cpuwhich_t"; + break; + case 2: + p = "uint32_t"; + break; + case 3: + p = "uint32_t"; + break; + case 4: + p = "size_t"; + break; + case 5: + p = "userland domainset_t *"; + break; + case 6: + p = "int"; + break; + default: + break; + }; + break; default: break; }; @@ -10554,16 +10586,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char * if (ndx == 0 || ndx == 1) p = "int"; break; - /* numa_getaffinity */ - case 548: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* numa_setaffinity */ - case 549: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* fdatasync */ case 550: if (ndx == 0 || ndx == 1) @@ -10616,6 +10638,16 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* freebsd32_kevent */ case 560: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* freebsd32_cpuset_getdomain */ + case 561: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* freebsd32_cpuset_setdomain */ + case 562: if (ndx == 0 || ndx == 1) p = "int"; break; Modified: user/jeff/numa/sys/compat/freebsd32/syscalls.master ============================================================================== --- user/jeff/numa/sys/compat/freebsd32/syscalls.master Tue Jan 9 21:24:05 2018 (r327742) +++ user/jeff/numa/sys/compat/freebsd32/syscalls.master Tue Jan 9 21:32:58 2018 (r327743) @@ -1086,12 +1086,8 @@ 547 AUE_FUTIMESAT STD { int freebsd32_utimensat(int fd, \ char *path, \ struct timespec *times, int flag); } -548 AUE_NULL NOPROTO { int numa_getaffinity(cpuwhich_t which, \ - id_t id, \ - struct vm_domain_policy *policy); } -549 AUE_NULL NOPROTO { int numa_setaffinity(cpuwhich_t which, \ - id_t id, \ - const struct vm_domain_policy *policy); } +548 AUE_NULL UNIMPL numa_getaffinity +549 AUE_NULL UNIMPL numa_setaffinity 550 AUE_FSYNC NOPROTO { int fdatasync(int fd); } 551 AUE_FSTAT STD { int freebsd32_fstat(int fd, \ struct stat32 *ub); } @@ -1119,12 +1115,12 @@ struct kevent32 *eventlist, \ int nevents, \ const struct timespec32 *timeout); } -561 AUE_NULL STD { int cpuset_getdomain(cpulevel_t level, \ - cpuwhich_t which, id_t id, \ +561 AUE_NULL STD { int freebsd32_cpuset_getdomain(cpulevel_t level, \ + cpuwhich_t which, uint32_t id1, uint32_t id2, \ size_t domainsetsize, domainset_t *mask, \ int *policy); } -562 AUE_NULL STD { int cpuset_setdomain(cpulevel_t level, \ - cpuwhich_t which, id_t id, \ +562 AUE_NULL STD { int freebsd32_cpuset_setdomain(cpulevel_t level, \ + cpuwhich_t which, uint32_t id1, uint32_t id2, \ size_t domainsetsize, domainset_t *mask, \ int policy); } From owner-svn-src-user@freebsd.org Tue Jan 9 21:33:40 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 78D88E74521 for ; Tue, 9 Jan 2018 21:33:40 +0000 (UTC) (envelope-from jeff@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 5309B72A00; Tue, 9 Jan 2018 21:33:40 +0000 (UTC) (envelope-from jeff@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 6B0A91C8F7; Tue, 9 Jan 2018 21:33:39 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w09LXdgA015972; Tue, 9 Jan 2018 21:33:39 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w09LXdcB015971; Tue, 9 Jan 2018 21:33:39 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801092133.w09LXdcB015971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 21:33:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327744 - user/jeff/numa/usr.bin/numactl X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/usr.bin/numactl X-SVN-Commit-Revision: 327744 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, 09 Jan 2018 21:33:40 -0000 Author: jeff Date: Tue Jan 9 21:33:39 2018 New Revision: 327744 URL: https://svnweb.freebsd.org/changeset/base/327744 Log: Remove debug code. Modified: user/jeff/numa/usr.bin/numactl/numactl.c Modified: user/jeff/numa/usr.bin/numactl/numactl.c ============================================================================== --- user/jeff/numa/usr.bin/numactl/numactl.c Tue Jan 9 21:32:58 2018 (r327743) +++ user/jeff/numa/usr.bin/numactl/numactl.c Tue Jan 9 21:33:39 2018 (r327744) @@ -289,7 +289,6 @@ main(int argc, char *argv[]) if (is_get) { domainset_t mask; - printf("which %d, id %ld\n", which, id); error = cpuset_getdomain(CPU_LEVEL_WHICH, which, id, sizeof(mask), &mask, &policy); if (error != 0) From owner-svn-src-user@freebsd.org Tue Jan 9 21:34:50 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61A99E745F1 for ; Tue, 9 Jan 2018 21:34:50 +0000 (UTC) (envelope-from jeff@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 1FC5672B2D; Tue, 9 Jan 2018 21:34:50 +0000 (UTC) (envelope-from jeff@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 657511C903; Tue, 9 Jan 2018 21:34:49 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w09LYnfo016050; Tue, 9 Jan 2018 21:34:49 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w09LYnFP016049; Tue, 9 Jan 2018 21:34:49 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801092134.w09LYnFP016049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 21:34:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327745 - user/jeff/numa/sys/kern X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/sys/kern X-SVN-Commit-Revision: 327745 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, 09 Jan 2018 21:34:50 -0000 Author: jeff Date: Tue Jan 9 21:34:48 2018 New Revision: 327745 URL: https://svnweb.freebsd.org/changeset/base/327745 Log: Style fixes from review feedback. Modified: user/jeff/numa/sys/kern/kern_cpuset.c Modified: user/jeff/numa/sys/kern/kern_cpuset.c ============================================================================== --- user/jeff/numa/sys/kern/kern_cpuset.c Tue Jan 9 21:33:39 2018 (r327744) +++ user/jeff/numa/sys/kern/kern_cpuset.c Tue Jan 9 21:34:48 2018 (r327745) @@ -172,7 +172,7 @@ static struct cpuset * cpuset_refroot(struct cpuset *set) { - return cpuset_ref(cpuset_getroot(set)); + return (cpuset_ref(cpuset_getroot(set))); } /* @@ -184,7 +184,7 @@ static struct cpuset * cpuset_refbase(struct cpuset *set) { - return cpuset_ref(cpuset_getbase(set)); + return (cpuset_ref(cpuset_getbase(set))); } /* @@ -1326,7 +1326,7 @@ out: return (error); } -struct domainset domainset0; +static struct domainset domainset0; void domainset_zero(void) @@ -1634,12 +1634,12 @@ kern_cpuset_getaffinity(struct thread *td, cpulevel_t return (ERANGE); /* In Capability mode, you can only get your own CPU set. */ if (IN_CAPABILITY_MODE(td)) { - if (level != CPU_LEVEL_WHICH) - return (ECAPMODE); - if (which != CPU_WHICH_TID && which != CPU_WHICH_PID) - return (ECAPMODE); - if (id != -1) - return (ECAPMODE); + if (level != CPU_LEVEL_WHICH) + return (ECAPMODE); + if (which != CPU_WHICH_TID && which != CPU_WHICH_PID) + return (ECAPMODE); + if (id != -1) + return (ECAPMODE); } size = cpusetsize; mask = malloc(size, M_TEMP, M_WAITOK | M_ZERO); @@ -1751,12 +1751,12 @@ kern_cpuset_setaffinity(struct thread *td, cpulevel_t return (ERANGE); /* In Capability mode, you can only set your own CPU set. */ if (IN_CAPABILITY_MODE(td)) { - if (level != CPU_LEVEL_WHICH) - return (ECAPMODE); - if (which != CPU_WHICH_TID && which != CPU_WHICH_PID) - return (ECAPMODE); - if (id != -1) - return (ECAPMODE); + if (level != CPU_LEVEL_WHICH) + return (ECAPMODE); + if (which != CPU_WHICH_TID && which != CPU_WHICH_PID) + return (ECAPMODE); + if (id != -1) + return (ECAPMODE); } mask = malloc(cpusetsize, M_TEMP, M_WAITOK | M_ZERO); error = copyin(maskp, mask, cpusetsize); @@ -1882,12 +1882,12 @@ kern_cpuset_getdomain(struct thread *td, cpulevel_t le return (ERANGE); /* In Capability mode, you can only get your own domain set. */ if (IN_CAPABILITY_MODE(td)) { - if (level != CPU_LEVEL_WHICH) - return (ECAPMODE); - if (which != CPU_WHICH_TID && which != CPU_WHICH_PID) - return (ECAPMODE); - if (id != -1) - return (ECAPMODE); + if (level != CPU_LEVEL_WHICH) + return (ECAPMODE); + if (which != CPU_WHICH_TID && which != CPU_WHICH_PID) + return (ECAPMODE); + if (id != -1) + return (ECAPMODE); } mask = malloc(domainsetsize, M_TEMP, M_WAITOK | M_ZERO); bzero(&outset, sizeof(outset)); @@ -2014,12 +2014,12 @@ kern_cpuset_setdomain(struct thread *td, cpulevel_t le return (ERANGE); /* In Capability mode, you can only set your own CPU set. */ if (IN_CAPABILITY_MODE(td)) { - if (level != CPU_LEVEL_WHICH) - return (ECAPMODE); - if (which != CPU_WHICH_TID && which != CPU_WHICH_PID) - return (ECAPMODE); - if (id != -1) - return (ECAPMODE); + if (level != CPU_LEVEL_WHICH) + return (ECAPMODE); + if (which != CPU_WHICH_TID && which != CPU_WHICH_PID) + return (ECAPMODE); + if (id != -1) + return (ECAPMODE); } memset(&domain, 0, sizeof(domain)); mask = malloc(domainsetsize, M_TEMP, M_WAITOK | M_ZERO); From owner-svn-src-user@freebsd.org Tue Jan 9 21:35:33 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 36F8DE74682 for ; Tue, 9 Jan 2018 21:35:33 +0000 (UTC) (envelope-from jeff@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 119E872C2B; Tue, 9 Jan 2018 21:35:33 +0000 (UTC) (envelope-from jeff@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 364CF1C904; Tue, 9 Jan 2018 21:35:32 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w09LZWAs016130; Tue, 9 Jan 2018 21:35:32 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w09LZW6J016129; Tue, 9 Jan 2018 21:35:32 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801092135.w09LZW6J016129@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 21:35:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327746 - user/jeff/numa/sys/vm X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/sys/vm X-SVN-Commit-Revision: 327746 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, 09 Jan 2018 21:35:33 -0000 Author: jeff Date: Tue Jan 9 21:35:31 2018 New Revision: 327746 URL: https://svnweb.freebsd.org/changeset/base/327746 Log: Review feedback. New asserts, typos. Modified: user/jeff/numa/sys/vm/vm_domainset.c Modified: user/jeff/numa/sys/vm/vm_domainset.c ============================================================================== --- user/jeff/numa/sys/vm/vm_domainset.c Tue Jan 9 21:34:48 2018 (r327745) +++ user/jeff/numa/sys/vm/vm_domainset.c Tue Jan 9 21:35:31 2018 (r327746) @@ -65,7 +65,7 @@ vm_domainset_iter_domain(struct vm_domainset_iter *di, /* * object policy takes precedence over thread policy. The policies - * are immutable and unsychronized. Updates can race but pointer + * are immutable and unsynchronized. Updates can race but pointer * loads are assumed to be atomic. */ if (obj != NULL && (domain = obj->domain.dr_policy) != NULL) { @@ -106,6 +106,8 @@ static void vm_domainset_iter_next(struct vm_domainset_iter *di, int *domain) { + KASSERT(di->di_n > 0, + ("vm_domainset_iter_first: Invalid n %d", di->di_n)); switch (di->di_domain->ds_policy) { case DOMAINSET_POLICY_FIRSTTOUCH: /* @@ -155,6 +157,8 @@ vm_domainset_iter_first(struct vm_domainset_iter *di, panic("vm_domainset_iter_first: Unknown policy %d", di->di_domain->ds_policy); } + KASSERT(di->di_n > 0, + ("vm_domainset_iter_first: Invalid n %d", di->di_n)); KASSERT(*domain < vm_ndomains, ("vm_domainset_iter_first: Invalid domain %d", *domain)); } From owner-svn-src-user@freebsd.org Tue Jan 9 21:36:23 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E164E7470B for ; Tue, 9 Jan 2018 21:36:23 +0000 (UTC) (envelope-from jeff@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 4A13472D2A; Tue, 9 Jan 2018 21:36:23 +0000 (UTC) (envelope-from jeff@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 9E0AE1C905; Tue, 9 Jan 2018 21:36:22 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w09LaMHC016199; Tue, 9 Jan 2018 21:36:22 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w09LaMSF016198; Tue, 9 Jan 2018 21:36:22 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801092136.w09LaMSF016198@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 21:36:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327747 - user/jeff/numa/sys/x86/acpica X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/sys/x86/acpica X-SVN-Commit-Revision: 327747 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, 09 Jan 2018 21:36:23 -0000 Author: jeff Date: Tue Jan 9 21:36:22 2018 New Revision: 327747 URL: https://svnweb.freebsd.org/changeset/base/327747 Log: Don't create vm domains for memory that is not reachable. Modified: user/jeff/numa/sys/x86/acpica/srat.c Modified: user/jeff/numa/sys/x86/acpica/srat.c ============================================================================== --- user/jeff/numa/sys/x86/acpica/srat.c Tue Jan 9 21:35:31 2018 (r327746) +++ user/jeff/numa/sys/x86/acpica/srat.c Tue Jan 9 21:36:22 2018 (r327747) @@ -252,7 +252,8 @@ srat_parse_entry(ACPI_SUBTABLE_HEADER *entry, void *ar "enabled" : "disabled"); if (!(mem->Flags & ACPI_SRAT_MEM_ENABLED)) break; - if (!overlaps_phys_avail(mem->BaseAddress, + if (mem->BaseAddress >= cpu_getmaxphyaddr() || + !overlaps_phys_avail(mem->BaseAddress, mem->BaseAddress + mem->Length)) { printf("SRAT: Ignoring memory at addr 0x%jx\n", (uintmax_t)mem->BaseAddress); From owner-svn-src-user@freebsd.org Tue Jan 9 21:37:38 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 24D82E747C5 for ; Tue, 9 Jan 2018 21:37:38 +0000 (UTC) (envelope-from jeff@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 0129672E27; Tue, 9 Jan 2018 21:37:38 +0000 (UTC) (envelope-from jeff@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 48BF61C906; Tue, 9 Jan 2018 21:37:37 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w09Lbb1C016292; Tue, 9 Jan 2018 21:37:37 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w09LbZw3016279; Tue, 9 Jan 2018 21:37:35 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801092137.w09LbZw3016279@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 21:37:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327748 - in user/jeff/numa/sys: conf kern sys X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: in user/jeff/numa/sys: conf kern sys X-SVN-Commit-Revision: 327748 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, 09 Jan 2018 21:37:38 -0000 Author: jeff Date: Tue Jan 9 21:37:35 2018 New Revision: 327748 URL: https://svnweb.freebsd.org/changeset/base/327748 Log: Remove the last vestiges of the old NUMA support. Modified: user/jeff/numa/sys/conf/files user/jeff/numa/sys/kern/init_main.c user/jeff/numa/sys/kern/init_sysent.c user/jeff/numa/sys/kern/kern_exit.c user/jeff/numa/sys/kern/kern_fork.c user/jeff/numa/sys/kern/kern_thr.c user/jeff/numa/sys/kern/kern_thread.c user/jeff/numa/sys/kern/syscalls.c user/jeff/numa/sys/kern/syscalls.master user/jeff/numa/sys/kern/systrace_args.c user/jeff/numa/sys/sys/syscall.h user/jeff/numa/sys/sys/syscall.mk user/jeff/numa/sys/sys/sysproto.h Modified: user/jeff/numa/sys/conf/files ============================================================================== --- user/jeff/numa/sys/conf/files Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/conf/files Tue Jan 9 21:37:35 2018 (r327748) @@ -3771,7 +3771,6 @@ kern/kern_module.c standard kern/kern_mtxpool.c standard kern/kern_mutex.c standard kern/kern_ntptime.c standard -kern/kern_numa.c standard kern/kern_osd.c standard kern/kern_physio.c standard kern/kern_pmc.c standard Modified: user/jeff/numa/sys/kern/init_main.c ============================================================================== --- user/jeff/numa/sys/kern/init_main.c Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/kern/init_main.c Tue Jan 9 21:37:35 2018 (r327748) @@ -89,7 +89,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: user/jeff/numa/sys/kern/init_sysent.c ============================================================================== --- user/jeff/numa/sys/kern/init_sysent.c Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/kern/init_sysent.c Tue Jan 9 21:37:35 2018 (r327748) @@ -599,8 +599,8 @@ struct sysent sysent[] = { { AS(ppoll_args), (sy_call_t *)sys_ppoll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 545 = ppoll */ { AS(futimens_args), (sy_call_t *)sys_futimens, AUE_FUTIMES, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 546 = futimens */ { AS(utimensat_args), (sy_call_t *)sys_utimensat, AUE_FUTIMESAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 547 = utimensat */ - { AS(numa_getaffinity_args), (sy_call_t *)sys_numa_getaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 548 = numa_getaffinity */ - { AS(numa_setaffinity_args), (sy_call_t *)sys_numa_setaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 549 = numa_setaffinity */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 548 = numa_getaffinity */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 549 = numa_setaffinity */ { AS(fdatasync_args), (sy_call_t *)sys_fdatasync, AUE_FSYNC, NULL, 0, 0, 0, SY_THR_STATIC }, /* 550 = fdatasync */ { AS(fstat_args), (sy_call_t *)sys_fstat, AUE_FSTAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 551 = fstat */ { AS(fstatat_args), (sy_call_t *)sys_fstatat, AUE_FSTATAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 552 = fstatat */ Modified: user/jeff/numa/sys/kern/kern_exit.c ============================================================================== --- user/jeff/numa/sys/kern/kern_exit.c Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/kern/kern_exit.c Tue Jan 9 21:37:35 2018 (r327748) @@ -88,7 +88,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #ifdef KDTRACE_HOOKS #include Modified: user/jeff/numa/sys/kern/kern_fork.c ============================================================================== --- user/jeff/numa/sys/kern/kern_fork.c Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/kern/kern_fork.c Tue Jan 9 21:37:35 2018 (r327748) @@ -83,7 +83,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #ifdef KDTRACE_HOOKS #include Modified: user/jeff/numa/sys/kern/kern_thr.c ============================================================================== --- user/jeff/numa/sys/kern/kern_thr.c Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/kern/kern_thr.c Tue Jan 9 21:37:35 2018 (r327748) @@ -57,8 +57,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include - #include #include Modified: user/jeff/numa/sys/kern/kern_thread.c ============================================================================== --- user/jeff/numa/sys/kern/kern_thread.c Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/kern/kern_thread.c Tue Jan 9 21:37:35 2018 (r327748) @@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include /* Modified: user/jeff/numa/sys/kern/syscalls.c ============================================================================== --- user/jeff/numa/sys/kern/syscalls.c Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/kern/syscalls.c Tue Jan 9 21:37:35 2018 (r327748) @@ -554,8 +554,8 @@ const char *syscallnames[] = { "ppoll", /* 545 = ppoll */ "futimens", /* 546 = futimens */ "utimensat", /* 547 = utimensat */ - "numa_getaffinity", /* 548 = numa_getaffinity */ - "numa_setaffinity", /* 549 = numa_setaffinity */ + "#548", /* 548 = numa_getaffinity */ + "#549", /* 549 = numa_setaffinity */ "fdatasync", /* 550 = fdatasync */ "fstat", /* 551 = fstat */ "fstatat", /* 552 = fstatat */ Modified: user/jeff/numa/sys/kern/syscalls.master ============================================================================== --- user/jeff/numa/sys/kern/syscalls.master Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/kern/syscalls.master Tue Jan 9 21:37:35 2018 (r327748) @@ -997,12 +997,8 @@ 547 AUE_FUTIMESAT STD { int utimensat(int fd, \ char *path, \ struct timespec *times, int flag); } -548 AUE_NULL STD { int numa_getaffinity(cpuwhich_t which, \ - id_t id, \ - struct vm_domain_policy_entry *policy); } -549 AUE_NULL STD { int numa_setaffinity(cpuwhich_t which, \ - id_t id, const struct \ - vm_domain_policy_entry *policy); } +548 AUE_NULL UNIMPL numa_getaffinity +549 AUE_NULL UNIMPL numa_setaffinity 550 AUE_FSYNC STD { int fdatasync(int fd); } 551 AUE_FSTAT STD { int fstat(int fd, struct stat *sb); } 552 AUE_FSTATAT STD { int fstatat(int fd, char *path, \ Modified: user/jeff/numa/sys/kern/systrace_args.c ============================================================================== --- user/jeff/numa/sys/kern/systrace_args.c Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/kern/systrace_args.c Tue Jan 9 21:37:35 2018 (r327748) @@ -3160,24 +3160,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg *n_args = 4; break; } - /* numa_getaffinity */ - case 548: { - struct numa_getaffinity_args *p = params; - iarg[0] = p->which; /* cpuwhich_t */ - iarg[1] = p->id; /* id_t */ - uarg[2] = (intptr_t) p->policy; /* struct vm_domain_policy_entry * */ - *n_args = 3; - break; - } - /* numa_setaffinity */ - case 549: { - struct numa_setaffinity_args *p = params; - iarg[0] = p->which; /* cpuwhich_t */ - iarg[1] = p->id; /* id_t */ - uarg[2] = (intptr_t) p->policy; /* const struct vm_domain_policy_entry * */ - *n_args = 3; - break; - } /* fdatasync */ case 550: { struct fdatasync_args *p = params; @@ -8547,38 +8529,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; }; break; - /* numa_getaffinity */ - case 548: - switch(ndx) { - case 0: - p = "cpuwhich_t"; - break; - case 1: - p = "id_t"; - break; - case 2: - p = "userland struct vm_domain_policy_entry *"; - break; - default: - break; - }; - break; - /* numa_setaffinity */ - case 549: - switch(ndx) { - case 0: - p = "cpuwhich_t"; - break; - case 1: - p = "id_t"; - break; - case 2: - p = "userland const struct vm_domain_policy_entry *"; - break; - default: - break; - }; - break; /* fdatasync */ case 550: switch(ndx) { @@ -10620,16 +10570,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* utimensat */ case 547: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* numa_getaffinity */ - case 548: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* numa_setaffinity */ - case 549: if (ndx == 0 || ndx == 1) p = "int"; break; Modified: user/jeff/numa/sys/sys/syscall.h ============================================================================== --- user/jeff/numa/sys/sys/syscall.h Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/sys/syscall.h Tue Jan 9 21:37:35 2018 (r327748) @@ -465,8 +465,6 @@ #define SYS_ppoll 545 #define SYS_futimens 546 #define SYS_utimensat 547 -#define SYS_numa_getaffinity 548 -#define SYS_numa_setaffinity 549 #define SYS_fdatasync 550 #define SYS_fstat 551 #define SYS_fstatat 552 Modified: user/jeff/numa/sys/sys/syscall.mk ============================================================================== --- user/jeff/numa/sys/sys/syscall.mk Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/sys/syscall.mk Tue Jan 9 21:37:35 2018 (r327748) @@ -393,8 +393,6 @@ MIASM = \ ppoll.o \ futimens.o \ utimensat.o \ - numa_getaffinity.o \ - numa_setaffinity.o \ fdatasync.o \ fstat.o \ fstatat.o \ Modified: user/jeff/numa/sys/sys/sysproto.h ============================================================================== --- user/jeff/numa/sys/sys/sysproto.h Tue Jan 9 21:36:22 2018 (r327747) +++ user/jeff/numa/sys/sys/sysproto.h Tue Jan 9 21:37:35 2018 (r327748) @@ -1698,16 +1698,6 @@ struct utimensat_args { char times_l_[PADL_(struct timespec *)]; struct timespec * times; char times_r_[PADR_(struct timespec *)]; char flag_l_[PADL_(int)]; int flag; char flag_r_[PADR_(int)]; }; -struct numa_getaffinity_args { - char which_l_[PADL_(cpuwhich_t)]; cpuwhich_t which; char which_r_[PADR_(cpuwhich_t)]; - char id_l_[PADL_(id_t)]; id_t id; char id_r_[PADR_(id_t)]; - char policy_l_[PADL_(struct vm_domain_policy_entry *)]; struct vm_domain_policy_entry * policy; char policy_r_[PADR_(struct vm_domain_policy_entry *)]; -}; -struct numa_setaffinity_args { - char which_l_[PADL_(cpuwhich_t)]; cpuwhich_t which; char which_r_[PADR_(cpuwhich_t)]; - char id_l_[PADL_(id_t)]; id_t id; char id_r_[PADR_(id_t)]; - char policy_l_[PADL_(const struct vm_domain_policy_entry *)]; const struct vm_domain_policy_entry * policy; char policy_r_[PADR_(const struct vm_domain_policy_entry *)]; -}; struct fdatasync_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; }; @@ -2145,8 +2135,6 @@ int sys_procctl(struct thread *, struct procctl_args * int sys_ppoll(struct thread *, struct ppoll_args *); int sys_futimens(struct thread *, struct futimens_args *); int sys_utimensat(struct thread *, struct utimensat_args *); -int sys_numa_getaffinity(struct thread *, struct numa_getaffinity_args *); -int sys_numa_setaffinity(struct thread *, struct numa_setaffinity_args *); int sys_fdatasync(struct thread *, struct fdatasync_args *); int sys_fstat(struct thread *, struct fstat_args *); int sys_fstatat(struct thread *, struct fstatat_args *); @@ -3039,8 +3027,6 @@ int freebsd11_mknodat(struct thread *, struct freebsd1 #define SYS_AUE_ppoll AUE_POLL #define SYS_AUE_futimens AUE_FUTIMES #define SYS_AUE_utimensat AUE_FUTIMESAT -#define SYS_AUE_numa_getaffinity AUE_NULL -#define SYS_AUE_numa_setaffinity AUE_NULL #define SYS_AUE_fdatasync AUE_FSYNC #define SYS_AUE_fstat AUE_FSTAT #define SYS_AUE_fstatat AUE_FSTATAT From owner-svn-src-user@freebsd.org Tue Jan 9 21:54:38 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA718E75528 for ; Tue, 9 Jan 2018 21:54:38 +0000 (UTC) (envelope-from jeff@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 930C873874; Tue, 9 Jan 2018 21:54:38 +0000 (UTC) (envelope-from jeff@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 CFDED1CC40; Tue, 9 Jan 2018 21:54:37 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w09LsbjE024434; Tue, 9 Jan 2018 21:54:37 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w09Lsb69024433; Tue, 9 Jan 2018 21:54:37 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801092154.w09Lsb69024433@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 21:54:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327749 - user/jeff/numa/sys/dev/acpica X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: user/jeff/numa/sys/dev/acpica X-SVN-Commit-Revision: 327749 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, 09 Jan 2018 21:54:38 -0000 Author: jeff Date: Tue Jan 9 21:54:37 2018 New Revision: 327749 URL: https://svnweb.freebsd.org/changeset/base/327749 Log: Review feedback from jhb. Cleaner initialization. Don't leak a tag on error. Modified: user/jeff/numa/sys/dev/acpica/acpi_pcib_acpi.c Modified: user/jeff/numa/sys/dev/acpica/acpi_pcib_acpi.c ============================================================================== --- user/jeff/numa/sys/dev/acpica/acpi_pcib_acpi.c Tue Jan 9 21:37:35 2018 (r327748) +++ user/jeff/numa/sys/dev/acpica/acpi_pcib_acpi.c Tue Jan 9 21:54:37 2018 (r327749) @@ -542,7 +542,7 @@ acpi_pcib_acpi_attach(device_t dev) acpi_pcib_fetch_prt(dev, &sc->ap_prt); error = bus_dma_tag_create(bus_get_dma_tag(dev), 1, - PCI_DMA_BOUNDARY, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, + 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, BUS_SPACE_MAXSIZE, BUS_SPACE_UNRESTRICTED, BUS_SPACE_MAXSIZE, 0, NULL, NULL, &sc->ap_dma_tag); if (error != 0) @@ -555,6 +555,8 @@ acpi_pcib_acpi_attach(device_t dev) bus_generic_probe(dev); if (device_add_child(dev, "pci", -1) == NULL) { + bus_dma_tag_destroy(sc->ap_dma_tag); + sc->ap_dma_tag = NULL; error = ENXIO; goto errout; } From owner-svn-src-user@freebsd.org Tue Jan 9 22:00:12 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7578FE758D0 for ; Tue, 9 Jan 2018 22:00:12 +0000 (UTC) (envelope-from jeff@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 0D9B173AE1; Tue, 9 Jan 2018 22:00:12 +0000 (UTC) (envelope-from jeff@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 4CCEF1CC50; Tue, 9 Jan 2018 22:00:11 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w09M0Bwd024773; Tue, 9 Jan 2018 22:00:11 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w09M07Qc024735; Tue, 9 Jan 2018 22:00:07 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801092200.w09M07Qc024735@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Tue, 9 Jan 2018 22:00:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327750 - in user/jeff/numa: . bin/cat contrib/subversion/subversion/svn etc/rc.d lib/libc/net lib/libcasper/libcasper lib/libcasper/services/cap_dns lib/libcasper/services/cap_dns/test... X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: in user/jeff/numa: . bin/cat contrib/subversion/subversion/svn etc/rc.d lib/libc/net lib/libcasper/libcasper lib/libcasper/services/cap_dns lib/libcasper/services/cap_dns/tests lib/libcasper/services/... X-SVN-Commit-Revision: 327750 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, 09 Jan 2018 22:00:12 -0000 Author: jeff Date: Tue Jan 9 22:00:06 2018 New Revision: 327750 URL: https://svnweb.freebsd.org/changeset/base/327750 Log: Merge from HEAD Added: user/jeff/numa/lib/libcasper/services/cap_dns/cap_dns.3 - copied unchanged from r327749, head/lib/libcasper/services/cap_dns/cap_dns.3 user/jeff/numa/sys/arm64/arm64/cpu_errata.c - copied unchanged from r327749, head/sys/arm64/arm64/cpu_errata.c user/jeff/numa/sys/contrib/dev/acpica/include/actbinfo.h - copied unchanged from r327749, head/sys/contrib/dev/acpica/include/actbinfo.h user/jeff/numa/sys/contrib/zstd/lib/freebsd/ - copied from r327749, head/sys/contrib/zstd/lib/freebsd/ user/jeff/numa/sys/kern/subr_compressor.c - copied unchanged from r327749, head/sys/kern/subr_compressor.c user/jeff/numa/sys/sys/compressor.h - copied unchanged from r327749, head/sys/sys/compressor.h user/jeff/numa/tests/sys/geom/class/eli/attach_test.sh - copied unchanged from r327749, head/tests/sys/geom/class/eli/attach_test.sh user/jeff/numa/tests/sys/geom/class/eli/configure_test.sh - copied unchanged from r327749, head/tests/sys/geom/class/eli/configure_test.sh user/jeff/numa/tests/sys/geom/class/eli/detach_test.sh - copied unchanged from r327749, head/tests/sys/geom/class/eli/detach_test.sh user/jeff/numa/tests/sys/geom/class/eli/integrity_test.sh - copied unchanged from r327749, head/tests/sys/geom/class/eli/integrity_test.sh Deleted: user/jeff/numa/sys/i386/isa/ccbque.h user/jeff/numa/sys/kern/kern_gzio.c user/jeff/numa/sys/sys/gzio.h user/jeff/numa/tests/sys/geom/class/eli/attach_d_test.sh user/jeff/numa/tests/sys/geom/class/eli/configure_b_B_test.sh user/jeff/numa/tests/sys/geom/class/eli/detach_l_test.sh user/jeff/numa/tests/sys/geom/class/eli/init_B_test.sh user/jeff/numa/tests/sys/geom/class/eli/init_J_test.sh user/jeff/numa/tests/sys/geom/class/eli/init_a_test.sh user/jeff/numa/tests/sys/geom/class/eli/init_alias_test.sh user/jeff/numa/tests/sys/geom/class/eli/init_i_P_test.sh user/jeff/numa/tests/sys/geom/class/eli/integrity_copy_test.sh user/jeff/numa/tests/sys/geom/class/eli/integrity_data_test.sh user/jeff/numa/tests/sys/geom/class/eli/integrity_hmac_test.sh user/jeff/numa/tests/sys/geom/class/eli/nokey_test.sh user/jeff/numa/tests/sys/geom/class/eli/onetime_a_test.sh user/jeff/numa/tests/sys/geom/class/eli/onetime_d_test.sh user/jeff/numa/tests/sys/geom/class/eli/readonly_test.sh Modified: user/jeff/numa/ObsoleteFiles.inc user/jeff/numa/UPDATING user/jeff/numa/bin/cat/cat.c user/jeff/numa/contrib/subversion/subversion/svn/util.c user/jeff/numa/etc/rc.d/ntpd user/jeff/numa/lib/libc/net/rcmd.c user/jeff/numa/lib/libcasper/libcasper/libcasper.3 user/jeff/numa/lib/libcasper/libcasper/libcasper.h user/jeff/numa/lib/libcasper/services/cap_dns/Makefile user/jeff/numa/lib/libcasper/services/cap_dns/tests/Makefile user/jeff/numa/lib/libcasper/services/cap_grp/tests/Makefile user/jeff/numa/lib/libcasper/services/cap_pwd/tests/Makefile user/jeff/numa/lib/libcasper/services/cap_sysctl/tests/Makefile user/jeff/numa/lib/libefivar/efivar-dp-xlate.c user/jeff/numa/sbin/ldconfig/ldconfig.8 user/jeff/numa/sbin/newfs_msdos/mkfs_msdos.c user/jeff/numa/share/man/man4/aw_sid.4 user/jeff/numa/share/man/man4/cxgbe.4 user/jeff/numa/share/man/man4/smp.4 user/jeff/numa/share/man/man5/core.5 user/jeff/numa/share/man/man9/malloc.9 user/jeff/numa/share/misc/bsd-family-tree user/jeff/numa/share/misc/organization.dot user/jeff/numa/stand/i386/libfirewire/firewire.c user/jeff/numa/stand/i386/libi386/biospci.c user/jeff/numa/stand/i386/libi386/comconsole.c user/jeff/numa/stand/i386/libi386/libi386.h user/jeff/numa/stand/mips/beri/boot2/Makefile user/jeff/numa/stand/mips/beri/boot2/boot2.c user/jeff/numa/stand/mips/beri/common/sdcard.c user/jeff/numa/stand/mips/beri/loader/Makefile user/jeff/numa/stand/mips/beri/loader/exec.c user/jeff/numa/stand/mips/beri/loader/main.c user/jeff/numa/sys/amd64/amd64/machdep.c user/jeff/numa/sys/amd64/vmm/amd/svm.c user/jeff/numa/sys/amd64/vmm/amd/svm_softc.h user/jeff/numa/sys/amd64/vmm/amd/vmcb.h user/jeff/numa/sys/arm/allwinner/aw_sid.c user/jeff/numa/sys/arm/allwinner/files.allwinner user/jeff/numa/sys/arm/allwinner/if_awg.c user/jeff/numa/sys/arm/conf/GENERIC user/jeff/numa/sys/arm64/arm64/machdep.c user/jeff/numa/sys/arm64/arm64/mp_machdep.c user/jeff/numa/sys/arm64/arm64/pmap.c user/jeff/numa/sys/arm64/arm64/swtch.S user/jeff/numa/sys/arm64/conf/GENERIC user/jeff/numa/sys/arm64/include/cpu.h user/jeff/numa/sys/arm64/include/pmap.h user/jeff/numa/sys/cam/ata/ata_da.c user/jeff/numa/sys/cam/cam_periph.c user/jeff/numa/sys/cam/cam_periph.h user/jeff/numa/sys/cam/cam_xpt.c user/jeff/numa/sys/cam/nvme/nvme_da.c user/jeff/numa/sys/cam/nvme/nvme_xpt.c user/jeff/numa/sys/cam/scsi/scsi_da.c user/jeff/numa/sys/cam/scsi/scsi_low.c user/jeff/numa/sys/cam/scsi/scsi_low.h user/jeff/numa/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c user/jeff/numa/sys/compat/cloudabi/cloudabi_futex.c user/jeff/numa/sys/compat/cloudabi/cloudabi_util.h user/jeff/numa/sys/compat/cloudabi32/cloudabi32_poll.c user/jeff/numa/sys/compat/cloudabi32/cloudabi32_sock.c user/jeff/numa/sys/compat/cloudabi64/cloudabi64_poll.c user/jeff/numa/sys/compat/cloudabi64/cloudabi64_sock.c user/jeff/numa/sys/compat/linuxkpi/common/include/linux/slab.h user/jeff/numa/sys/conf/files user/jeff/numa/sys/conf/files.arm64 user/jeff/numa/sys/conf/kern.pre.mk user/jeff/numa/sys/contrib/dev/acpica/acpica_prep.sh user/jeff/numa/sys/contrib/dev/acpica/changes.txt user/jeff/numa/sys/contrib/dev/acpica/common/acfileio.c user/jeff/numa/sys/contrib/dev/acpica/common/acgetline.c user/jeff/numa/sys/contrib/dev/acpica/common/adfile.c user/jeff/numa/sys/contrib/dev/acpica/common/adisasm.c user/jeff/numa/sys/contrib/dev/acpica/common/adwalk.c user/jeff/numa/sys/contrib/dev/acpica/common/ahids.c user/jeff/numa/sys/contrib/dev/acpica/common/ahpredef.c user/jeff/numa/sys/contrib/dev/acpica/common/ahtable.c user/jeff/numa/sys/contrib/dev/acpica/common/ahuuids.c user/jeff/numa/sys/contrib/dev/acpica/common/cmfsize.c user/jeff/numa/sys/contrib/dev/acpica/common/dmextern.c user/jeff/numa/sys/contrib/dev/acpica/common/dmrestag.c user/jeff/numa/sys/contrib/dev/acpica/common/dmswitch.c user/jeff/numa/sys/contrib/dev/acpica/common/dmtable.c user/jeff/numa/sys/contrib/dev/acpica/common/dmtables.c user/jeff/numa/sys/contrib/dev/acpica/common/dmtbdump.c user/jeff/numa/sys/contrib/dev/acpica/common/dmtbinfo.c user/jeff/numa/sys/contrib/dev/acpica/common/getopt.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslallocate.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslanalyze.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslascii.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslbtypes.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslcache.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslcodegen.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslcompile.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslcompiler.h user/jeff/numa/sys/contrib/dev/acpica/compiler/aslcompiler.l user/jeff/numa/sys/contrib/dev/acpica/compiler/aslcstyle.y user/jeff/numa/sys/contrib/dev/acpica/compiler/asldebug.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asldefine.h user/jeff/numa/sys/contrib/dev/acpica/compiler/aslerror.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslexternal.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslfileio.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslfiles.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslfold.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslglobal.h user/jeff/numa/sys/contrib/dev/acpica/compiler/aslhelp.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslhelpers.y user/jeff/numa/sys/contrib/dev/acpica/compiler/aslhex.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslkeywords.y user/jeff/numa/sys/contrib/dev/acpica/compiler/asllength.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asllisting.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asllistsup.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslload.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asllookup.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslmain.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslmap.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslmapenter.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslmapoutput.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslmaputils.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslmessages.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslmessages.h user/jeff/numa/sys/contrib/dev/acpica/compiler/aslmethod.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslnamesp.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asloffset.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslopcodes.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asloperands.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslopt.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asloptions.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslparseop.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslparser.y user/jeff/numa/sys/contrib/dev/acpica/compiler/aslpld.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslpredef.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslprepkg.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslprimaries.y user/jeff/numa/sys/contrib/dev/acpica/compiler/aslprintf.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslprune.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslresource.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslresources.y user/jeff/numa/sys/contrib/dev/acpica/compiler/aslrestype1.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslrestype1i.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslrestype2.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslrestype2d.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslrestype2e.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslrestype2q.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslrestype2s.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslrestype2w.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslrules.y user/jeff/numa/sys/contrib/dev/acpica/compiler/aslstartup.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslstubs.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslsupport.l user/jeff/numa/sys/contrib/dev/acpica/compiler/aslsupport.y user/jeff/numa/sys/contrib/dev/acpica/compiler/asltokens.y user/jeff/numa/sys/contrib/dev/acpica/compiler/asltransform.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asltree.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asltypes.h user/jeff/numa/sys/contrib/dev/acpica/compiler/asltypes.y user/jeff/numa/sys/contrib/dev/acpica/compiler/aslutils.c user/jeff/numa/sys/contrib/dev/acpica/compiler/asluuid.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslwalks.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslxref.c user/jeff/numa/sys/contrib/dev/acpica/compiler/aslxrefout.c user/jeff/numa/sys/contrib/dev/acpica/compiler/cvcompiler.c user/jeff/numa/sys/contrib/dev/acpica/compiler/cvdisasm.c user/jeff/numa/sys/contrib/dev/acpica/compiler/cvparser.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dtcompile.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dtcompiler.h user/jeff/numa/sys/contrib/dev/acpica/compiler/dtexpress.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dtfield.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dtio.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dtparser.l user/jeff/numa/sys/contrib/dev/acpica/compiler/dtparser.y user/jeff/numa/sys/contrib/dev/acpica/compiler/dtsubtable.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dttable.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dttable1.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dttable2.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dttemplate.c user/jeff/numa/sys/contrib/dev/acpica/compiler/dttemplate.h user/jeff/numa/sys/contrib/dev/acpica/compiler/dtutils.c user/jeff/numa/sys/contrib/dev/acpica/compiler/preprocess.h user/jeff/numa/sys/contrib/dev/acpica/compiler/prexpress.c user/jeff/numa/sys/contrib/dev/acpica/compiler/prmacros.c user/jeff/numa/sys/contrib/dev/acpica/compiler/prparser.l user/jeff/numa/sys/contrib/dev/acpica/compiler/prparser.y user/jeff/numa/sys/contrib/dev/acpica/compiler/prscan.c user/jeff/numa/sys/contrib/dev/acpica/compiler/prutils.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbcmds.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbconvert.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbdisply.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbexec.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbfileio.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbhistry.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbinput.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbmethod.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbnames.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbobject.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbstats.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbtest.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbutils.c user/jeff/numa/sys/contrib/dev/acpica/components/debugger/dbxface.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmcstyle.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmnames.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmopcode.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmresrc.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmutils.c user/jeff/numa/sys/contrib/dev/acpica/components/disassembler/dmwalk.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dsargs.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dsfield.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dsinit.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dsobject.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dsutils.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dswexec.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dswload.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dswload2.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dswscope.c user/jeff/numa/sys/contrib/dev/acpica/components/dispatcher/dswstate.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evevent.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evglock.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evgpe.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evgpeblk.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evgpeinit.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evgpeutil.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evhandler.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evmisc.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evregion.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evrgnini.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evsci.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evxface.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evxfevnt.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evxfgpe.c user/jeff/numa/sys/contrib/dev/acpica/components/events/evxfregn.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exconcat.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exconfig.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exconvrt.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/excreate.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exdebug.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exdump.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exfield.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exfldio.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exmisc.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exmutex.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exnames.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exoparg1.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exoparg2.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exoparg3.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exoparg6.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exprep.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exregion.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exresnte.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exresolv.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exresop.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exstore.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exstoren.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exstorob.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exsystem.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/extrace.c user/jeff/numa/sys/contrib/dev/acpica/components/executer/exutils.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwacpi.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwesleep.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwgpe.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwpci.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwregs.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwsleep.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwtimer.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwvalid.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwxface.c user/jeff/numa/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsaccess.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsalloc.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsarguments.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsconvert.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsdump.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nseval.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsinit.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsload.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsnames.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsobject.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsparse.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nspredef.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsprepkg.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsrepair.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsrepair2.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nssearch.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsutils.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nswalk.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsxfeval.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsxfname.c user/jeff/numa/sys/contrib/dev/acpica/components/namespace/nsxfobj.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/psargs.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/psloop.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/psobject.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/psopcode.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/psopinfo.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/psparse.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/psscope.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/pstree.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/psutils.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/pswalk.c user/jeff/numa/sys/contrib/dev/acpica/components/parser/psxface.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsaddr.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rscalc.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rscreate.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsdump.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsinfo.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsio.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsirq.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rslist.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsmemory.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsmisc.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsserial.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsutils.c user/jeff/numa/sys/contrib/dev/acpica/components/resources/rsxface.c user/jeff/numa/sys/contrib/dev/acpica/components/tables/tbdata.c user/jeff/numa/sys/contrib/dev/acpica/components/tables/tbfadt.c user/jeff/numa/sys/contrib/dev/acpica/components/tables/tbfind.c user/jeff/numa/sys/contrib/dev/acpica/components/tables/tbinstal.c user/jeff/numa/sys/contrib/dev/acpica/components/tables/tbprint.c user/jeff/numa/sys/contrib/dev/acpica/components/tables/tbutils.c user/jeff/numa/sys/contrib/dev/acpica/components/tables/tbxface.c user/jeff/numa/sys/contrib/dev/acpica/components/tables/tbxfload.c user/jeff/numa/sys/contrib/dev/acpica/components/tables/tbxfroot.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utaddress.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utalloc.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utascii.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utbuffer.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utcache.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utcopy.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utdebug.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utdecode.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utdelete.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/uterror.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/uteval.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utexcep.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utglobal.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/uthex.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utids.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utinit.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utlock.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utmath.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utmisc.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utmutex.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utnonansi.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utobject.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utosi.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utownerid.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utpredef.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utresdecode.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utresrc.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utstate.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utstring.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/uttrack.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utuuid.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utxface.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utxferror.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utxfinit.c user/jeff/numa/sys/contrib/dev/acpica/components/utilities/utxfmutex.c user/jeff/numa/sys/contrib/dev/acpica/include/acapps.h user/jeff/numa/sys/contrib/dev/acpica/include/acbuffer.h user/jeff/numa/sys/contrib/dev/acpica/include/acclib.h user/jeff/numa/sys/contrib/dev/acpica/include/accommon.h user/jeff/numa/sys/contrib/dev/acpica/include/acconfig.h user/jeff/numa/sys/contrib/dev/acpica/include/acconvert.h user/jeff/numa/sys/contrib/dev/acpica/include/acdebug.h user/jeff/numa/sys/contrib/dev/acpica/include/acdisasm.h user/jeff/numa/sys/contrib/dev/acpica/include/acdispat.h user/jeff/numa/sys/contrib/dev/acpica/include/acevents.h user/jeff/numa/sys/contrib/dev/acpica/include/acexcep.h user/jeff/numa/sys/contrib/dev/acpica/include/acglobal.h user/jeff/numa/sys/contrib/dev/acpica/include/achware.h user/jeff/numa/sys/contrib/dev/acpica/include/acinterp.h user/jeff/numa/sys/contrib/dev/acpica/include/aclocal.h user/jeff/numa/sys/contrib/dev/acpica/include/acmacros.h user/jeff/numa/sys/contrib/dev/acpica/include/acnames.h user/jeff/numa/sys/contrib/dev/acpica/include/acnamesp.h user/jeff/numa/sys/contrib/dev/acpica/include/acobject.h user/jeff/numa/sys/contrib/dev/acpica/include/acopcode.h user/jeff/numa/sys/contrib/dev/acpica/include/acoutput.h user/jeff/numa/sys/contrib/dev/acpica/include/acparser.h user/jeff/numa/sys/contrib/dev/acpica/include/acpi.h user/jeff/numa/sys/contrib/dev/acpica/include/acpiosxf.h user/jeff/numa/sys/contrib/dev/acpica/include/acpixf.h user/jeff/numa/sys/contrib/dev/acpica/include/acpredef.h user/jeff/numa/sys/contrib/dev/acpica/include/acresrc.h user/jeff/numa/sys/contrib/dev/acpica/include/acrestyp.h user/jeff/numa/sys/contrib/dev/acpica/include/acstruct.h user/jeff/numa/sys/contrib/dev/acpica/include/actables.h user/jeff/numa/sys/contrib/dev/acpica/include/actbl.h user/jeff/numa/sys/contrib/dev/acpica/include/actbl1.h user/jeff/numa/sys/contrib/dev/acpica/include/actbl2.h user/jeff/numa/sys/contrib/dev/acpica/include/actbl3.h user/jeff/numa/sys/contrib/dev/acpica/include/actypes.h user/jeff/numa/sys/contrib/dev/acpica/include/acutils.h user/jeff/numa/sys/contrib/dev/acpica/include/acuuid.h user/jeff/numa/sys/contrib/dev/acpica/include/amlcode.h user/jeff/numa/sys/contrib/dev/acpica/include/amlresrc.h user/jeff/numa/sys/contrib/dev/acpica/include/platform/acenv.h user/jeff/numa/sys/contrib/dev/acpica/include/platform/acenvex.h user/jeff/numa/sys/contrib/dev/acpica/include/platform/acfreebsd.h user/jeff/numa/sys/contrib/dev/acpica/include/platform/acgcc.h user/jeff/numa/sys/contrib/dev/acpica/include/platform/acgccex.h user/jeff/numa/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c user/jeff/numa/sys/contrib/ipfilter/netinet/ip_state.c user/jeff/numa/sys/contrib/vchiq/interface/compat/vchi_bsd.h user/jeff/numa/sys/ddb/db_textdump.c user/jeff/numa/sys/dev/acpica/acpi.c user/jeff/numa/sys/dev/ath/if_ath_ioctl.c user/jeff/numa/sys/dev/bhnd/cores/pmu/bhnd_pmu_subr.c user/jeff/numa/sys/dev/cpuctl/cpuctl.c user/jeff/numa/sys/dev/cxgbe/t4_main.c user/jeff/numa/sys/dev/extres/syscon/syscon_generic.c user/jeff/numa/sys/dev/psci/psci.c user/jeff/numa/sys/dev/psci/psci.h user/jeff/numa/sys/dev/usb/usbdevs user/jeff/numa/sys/fs/ext2fs/ext2_alloc.c user/jeff/numa/sys/fs/ext2fs/ext2_balloc.c user/jeff/numa/sys/fs/ext2fs/ext2_csum.c user/jeff/numa/sys/fs/ext2fs/ext2_extents.c user/jeff/numa/sys/fs/ext2fs/ext2_extents.h user/jeff/numa/sys/fs/ext2fs/ext2_extern.h user/jeff/numa/sys/fs/ext2fs/ext2_hash.c user/jeff/numa/sys/fs/ext2fs/ext2_subr.c user/jeff/numa/sys/fs/ext2fs/ext2_vfsops.c user/jeff/numa/sys/fs/ext2fs/ext2_vnops.c user/jeff/numa/sys/fs/ext2fs/ext2fs.h user/jeff/numa/sys/fs/ext2fs/fs.h user/jeff/numa/sys/fs/procfs/procfs.c user/jeff/numa/sys/geom/mirror/g_mirror.c user/jeff/numa/sys/geom/mirror/g_mirror_ctl.c user/jeff/numa/sys/kern/imgact_elf.c user/jeff/numa/sys/kern/kern_malloc.c user/jeff/numa/sys/kern/kern_proc.c user/jeff/numa/sys/kern/kern_resource.c user/jeff/numa/sys/kern/kern_sendfile.c user/jeff/numa/sys/kern/kern_shutdown.c user/jeff/numa/sys/kern/kern_sig.c user/jeff/numa/sys/kern/subr_bus.c user/jeff/numa/sys/kern/vfs_mount.c user/jeff/numa/sys/modules/gpio/gpiobus/Makefile user/jeff/numa/sys/net/if_lagg.c user/jeff/numa/sys/netpfil/pf/pf_ioctl.c user/jeff/numa/sys/opencrypto/crypto.c user/jeff/numa/sys/powerpc/conf/GENERIC64 user/jeff/numa/sys/powerpc/include/vmparam.h user/jeff/numa/sys/powerpc/powerpc/elf32_machdep.c user/jeff/numa/sys/powerpc/pseries/platform_chrp.c user/jeff/numa/sys/sys/_stdarg.h user/jeff/numa/sys/sys/conf.h user/jeff/numa/sys/sys/cpuctl.h user/jeff/numa/sys/sys/imgact.h user/jeff/numa/sys/sys/malloc.h user/jeff/numa/sys/sys/syslimits.h user/jeff/numa/sys/tools/embed_mfs.sh user/jeff/numa/sys/ufs/ffs/ffs_softdep.c user/jeff/numa/sys/ufs/ffs/ffs_vfsops.c user/jeff/numa/sys/ufs/ufs/ufs_lookup.c user/jeff/numa/sys/ufs/ufs/ufs_vnops.c user/jeff/numa/sys/vm/vm_swapout.c user/jeff/numa/sys/x86/include/x86_var.h user/jeff/numa/sys/x86/x86/identcpu.c user/jeff/numa/sys/x86/x86/local_apic.c user/jeff/numa/tests/sys/geom/class/eli/Makefile user/jeff/numa/tests/sys/geom/class/eli/conf.sh user/jeff/numa/tests/sys/geom/class/eli/delkey_test.sh user/jeff/numa/tests/sys/geom/class/eli/init_test.sh user/jeff/numa/tests/sys/geom/class/eli/kill_test.sh user/jeff/numa/tests/sys/geom/class/eli/onetime_test.sh user/jeff/numa/tests/sys/geom/class/eli/resize_test.sh user/jeff/numa/tests/sys/geom/class/eli/setkey_test.sh user/jeff/numa/tests/sys/netpfil/pf/pft_ping.py user/jeff/numa/usr.bin/find/tests/find_test.sh user/jeff/numa/usr.bin/hexdump/display.c user/jeff/numa/usr.bin/kdump/kdump.c user/jeff/numa/usr.bin/morse/morse.6 user/jeff/numa/usr.bin/morse/morse.c user/jeff/numa/usr.bin/units/units.c user/jeff/numa/usr.sbin/cpucontrol/cpucontrol.8 user/jeff/numa/usr.sbin/cpucontrol/cpucontrol.c user/jeff/numa/usr.sbin/devmatch/devmatch.8 user/jeff/numa/usr.sbin/diskinfo/diskinfo.c user/jeff/numa/usr.sbin/dumpcis/printcis.c user/jeff/numa/usr.sbin/dumpcis/readcis.c user/jeff/numa/usr.sbin/dumpcis/readcis.h user/jeff/numa/usr.sbin/efibootmgr/efibootmgr.c user/jeff/numa/usr.sbin/efidp/efidp.c user/jeff/numa/usr.sbin/fdcontrol/fdcontrol.c user/jeff/numa/usr.sbin/fwcontrol/fwdv.c user/jeff/numa/usr.sbin/ifmcstat/printb.c user/jeff/numa/usr.sbin/pciconf/cap.c user/jeff/numa/usr.sbin/pciconf/pciconf.c user/jeff/numa/usr.sbin/usbconfig/usbconfig.8 Directory Properties: user/jeff/numa/ (props changed) user/jeff/numa/contrib/subversion/ (props changed) user/jeff/numa/sys/cddl/contrib/opensolaris/ (props changed) user/jeff/numa/sys/contrib/dev/acpica/ (props changed) user/jeff/numa/sys/contrib/ipfilter/ (props changed) user/jeff/numa/sys/contrib/zstd/ (props changed) Modified: user/jeff/numa/ObsoleteFiles.inc ============================================================================== --- user/jeff/numa/ObsoleteFiles.inc Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/ObsoleteFiles.inc Tue Jan 9 22:00:06 2018 (r327750) @@ -38,6 +38,23 @@ # xargs -n1 | sort | uniq -d; # done +# 20180107: Convert remaining geli(8) tests to ATF +OLD_FILES+=tests/sys/geom/class/eli/nokey_test.sh +OLD_FILES+=tests/sys/geom/class/eli/readonly_test.sh +# 20180106: Convert most geli(8) tests to ATF +OLD_FILES+=tests/sys/geom/class/eli/attach_d_test.sh +OLD_FILES+=tests/sys/geom/class/eli/configure_b_B_test.sh +OLD_FILES+=tests/sys/geom/class/eli/detach_l_test.sh +OLD_FILES+=tests/sys/geom/class/eli/init_B_test.sh +OLD_FILES+=tests/sys/geom/class/eli/init_J_test.sh +OLD_FILES+=tests/sys/geom/class/eli/init_a_test.sh +OLD_FILES+=tests/sys/geom/class/eli/init_alias_test.sh +OLD_FILES+=tests/sys/geom/class/eli/init_i_P_test.sh +OLD_FILES+=tests/sys/geom/class/eli/integrity_copy_test.sh +OLD_FILES+=tests/sys/geom/class/eli/integrity_data_test.sh +OLD_FILES+=tests/sys/geom/class/eli/integrity_hmac_test.sh +OLD_FILES+=tests/sys/geom/class/eli/onetime_a_test.sh +OLD_FILES+=tests/sys/geom/class/eli/onetime_d_test.sh # 20171230: Remove /etc/skel from mtree OLD_DIRS+=/etc/skel # 20171208: Remove basename_r(3) Modified: user/jeff/numa/UPDATING ============================================================================== --- user/jeff/numa/UPDATING Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/UPDATING Tue Jan 9 22:00:06 2018 (r327750) @@ -51,6 +51,20 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +20180104: + The use of RSS hash from the network card aka flowid has been + disabled by default for lagg(4) as it's currently incompatible with + the lacp and loadbalance protocols. + + This can be re-enabled by setting the following in loader.conf: + net.link.lagg.default_use_flowid="1" + +20180102: + The SW_WATCHDOG option is no longer necessary to enable the + hardclock-based software watchdog if no hardware watchdog is + configured. As before, SW_WATCHDOG will cause the software + watchdog to be enabled even if a hardware watchdog is configured. + 20171215: r326887 fixes the issue described in the 20171214 UPDATING entry. r326888 flips the switch back to building GELI support always. Modified: user/jeff/numa/bin/cat/cat.c ============================================================================== --- user/jeff/numa/bin/cat/cat.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/bin/cat/cat.c Tue Jan 9 22:00:06 2018 (r327750) @@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -300,6 +299,7 @@ ilseq: static void raw_cat(int rfd) { + long pagesize; int off, wfd; ssize_t nr, nw; static size_t bsize; @@ -316,9 +316,12 @@ raw_cat(int rfd) bsize = MIN(BUFSIZE_MAX, MAXPHYS * 8); else bsize = BUFSIZE_SMALL; - } else - bsize = MAX(sbuf.st_blksize, - (blksize_t)sysconf(_SC_PAGESIZE)); + } else { + bsize = sbuf.st_blksize; + pagesize = sysconf(_SC_PAGESIZE); + if (pagesize > 0) + bsize = MAX(bsize, (size_t)pagesize); + } if ((buf = malloc(bsize)) == NULL) err(1, "malloc() failure of IO buffer"); } Modified: user/jeff/numa/contrib/subversion/subversion/svn/util.c ============================================================================== --- user/jeff/numa/contrib/subversion/subversion/svn/util.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/contrib/subversion/subversion/svn/util.c Tue Jan 9 22:00:06 2018 (r327750) @@ -352,6 +352,7 @@ static const char *prefixes[] = { "Relnotes:", "Security:", "Sponsored by:", + "Pull Request:", "Differential Revision:", }; @@ -443,6 +444,7 @@ svn_cl__get_log_message(const char **log_msg, if (sponsored_by != NULL) svn_stringbuf_appendcstr(default_msg, sponsored_by); svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Pull Request:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "Differential Revision:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, EDITOR_EOF_PREFIX); svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); @@ -458,6 +460,7 @@ svn_cl__get_log_message(const char **log_msg, svn_stringbuf_appendcstr(default_msg, "> Relnotes: Set to 'yes' for mention in release notes." APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "> Security: Vulnerability reference (one per line) or description." APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "> Sponsored by: If the change was sponsored by an organization." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Pull Request: https://github.com/freebsd/freebsd/pull/### (*full* GitHub URL needed)." APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "> Differential Revision: https://reviews.freebsd.org/D### (*full* phabric URL needed)." APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "> Empty fields above will be automatically removed." APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); Modified: user/jeff/numa/etc/rc.d/ntpd ============================================================================== --- user/jeff/numa/etc/rc.d/ntpd Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/etc/rc.d/ntpd Tue Jan 9 22:00:06 2018 (r327750) @@ -144,9 +144,9 @@ ntpd_fetch_leapfile() { done ntp_ver_no_tmp=$(get_ntp_leapfile_ver $ntp_tmp_leapfile) ntp_expiry_tmp=$(get_ntp_leapfile_expiry $ntp_tmp_leapfile) - if [ "$ntp_ver_no_tmp" -gt "$ntp_ver_no_db" -o \ - "$ntp_ver_no_tmp" -eq "$ntp_ver_no_db" -a \ - "$ntp_expiry_tmp" -gt "$ntp_expiry_db" ]; then + if [ "$ntp_expiry_tmp" -gt "$ntp_expiry_db" -o \ + "$ntp_expiry_tmp" -eq "$ntp_expiry_db" -a \ + "$ntp_ver_no_tmp" -gt "$ntp_ver_no_db" ]; then $verbose using $url as $ntp_db_leapfile mv $ntp_tmp_leapfile $ntp_db_leapfile else Modified: user/jeff/numa/lib/libc/net/rcmd.c ============================================================================== --- user/jeff/numa/lib/libc/net/rcmd.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/lib/libc/net/rcmd.c Tue Jan 9 22:00:06 2018 (r327750) @@ -457,8 +457,8 @@ again: first = 0; if ((pwd = getpwnam(luser)) == NULL) return (-1); - (void)strcpy(pbuf, pwd->pw_dir); - (void)strcat(pbuf, "/.rhosts"); + (void)strlcpy(pbuf, pwd->pw_dir, sizeof(pbuf)); + (void)strlcat(pbuf, "/.rhosts", sizeof(pbuf)); /* * Change effective uid while opening .rhosts. If root and Modified: user/jeff/numa/lib/libcasper/libcasper/libcasper.3 ============================================================================== --- user/jeff/numa/lib/libcasper/libcasper/libcasper.3 Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/lib/libcasper/libcasper/libcasper.3 Tue Jan 9 22:00:06 2018 (r327750) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 29, 2017 +.Dd January 3, 2018 .Dt LIBCASPER 3 .Os .Sh NAME @@ -190,6 +190,30 @@ obtained via the .Fn cap_init function. The function returns capability that provides access to opened service. +Casper supports the following services in the base system: +.Bl -tag -width "system.random" -compact -offset indent +.Pp +.It system.dns +provides DNS libc compatible API +.It system.grp +provides +.Xr getgrent 3 +compatible API +.It system.pwd +provides +.Xr getpwent 3 +compatible API +.It system.random +allows to obtain entropy from +.Pa /dev/random +.It system.sysctl +provides +.Xr sysctlbyname 3 +compatible API +.It system.syslog +provides +.Xr syslog 3 +compatible API .Sh RETURN VALUES The .Fn cap_clone , Modified: user/jeff/numa/lib/libcasper/libcasper/libcasper.h ============================================================================== --- user/jeff/numa/lib/libcasper/libcasper/libcasper.h Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/lib/libcasper/libcasper/libcasper.h Tue Jan 9 22:00:06 2018 (r327750) @@ -122,7 +122,15 @@ cap_wrap(int sock) #ifdef WITH_CASPER int cap_unwrap(cap_channel_t *chan); #else -#define cap_unwrap(chan) (chan->cch_fd) +static inline int +cap_unwrap(cap_channel_t *chan) +{ + int fd; + + fd = chan->cch_fd; + free(chan); + return (fd); +} #endif /* Modified: user/jeff/numa/lib/libcasper/services/cap_dns/Makefile ============================================================================== --- user/jeff/numa/lib/libcasper/services/cap_dns/Makefile Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/lib/libcasper/services/cap_dns/Makefile Tue Jan 9 22:00:06 2018 (r327750) @@ -24,4 +24,14 @@ CFLAGS+=-I${.CURDIR} HAS_TESTS= SUBDIR.${MK_TESTS}+= tests +MAN+= cap_dns.3 + +MLINKS+=cap_dns.3 libcap_dns.3 +MLINKS+=cap_dns.3 cap_gethostbyname.3 +MLINKS+=cap_dns.3 cap_gethostbyname2.3 +MLINKS+=cap_dns.3 cap_gethostbyaddr.3 +MLINKS+=cap_dns.3 cap_getnameinfo.3 +MLINKS+=cap_dns.3 cap_dns_type_limit.3 +MLINKS+=cap_dns.3 cap_dns_family_limit.3 + .include Copied: user/jeff/numa/lib/libcasper/services/cap_dns/cap_dns.3 (from r327749, head/lib/libcasper/services/cap_dns/cap_dns.3) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/jeff/numa/lib/libcasper/services/cap_dns/cap_dns.3 Tue Jan 9 22:00:06 2018 (r327750, copy of r327749, head/lib/libcasper/services/cap_dns/cap_dns.3) @@ -0,0 +1,205 @@ +.\" Copyright (c) 2018 Mariusz Zaborski +.\" 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 AUTHORS 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 AUTHORS 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$ +.\" +.Dd January 8, 2018 +.Dt CAP_DNS 3 +.Os +.Sh NAME +.Nm cap_gethostbyname , +.Nm cap_gethostbyname2 , +.Nm cap_gethostbyaddr , +.Nm cap_getnameinfo , +.Nm cap_dns_type_limit , +.Nm cap_dns_family_limit +.Nd "library for getting network host entry in capability mode" +.Sh LIBRARY +.Lb libcap_dns +.Sh SYNOPSIS +.In sys/nv.h +.In libcasper.h +.In casper/cap_dns.h +.Ft "struct hostent *" +.Fn cap_gethostbyname "const cap_channel_t *chan" "const char *name" +.Ft "struct hostent *" +.Fn cap_gethostbyname2 "const cap_channel_t *chan" "const char *name" "int af" +.Ft "struct hostent *" +.Fn cap_gethostbyaddr "const cap_channel_t *chan" "const void *addr" "socklen_t len" "int af" +.Ft "int" +.Fn cap_getnameinfo "const cap_channel_t *chan" "const void *name" "int namelen" +.Ft "int" +.Fn cap_dns_type_limit "cap_channel_t *chan" "const char * const *types" "size_t ntypes" +.Ft "int" +.Fn cap_dns_family_limit "const cap_channel_t *chan" "const int *families" "size_t nfamilies" +.Sh DESCRIPTION +The functions +.Fn cap_gethostbyname , +.Fn cap_gethostbyname2 , +.Fn cep_gethostbyaddr +and +.Xr cap_getnameinfo +are respectively equivalent to +.Xr gethostbyname 2 , +.Xr gethostbyname2 2 , +.Xr gethostbyaddr 2 +and +.Xr getnameinfo 2 +except that the connection to the +.Nm system.dns +service needs to be provided. +.Pp +The +.Fn cap_dns_type_limit +function limits the functions allowed in the service. +The +.Fa types +variable can be set to +.Dv ADDR +or +.Dv NAME . +See the +.Sx LIMITS +section for more details. +The +.Fa ntpyes +variable contains the number of +.Fa types +provided. +.Pp +The +.Fn cap_dns_family_limit +functions allows to limit address families. +For details see +.Sx LIMITS . +The +.Fa nfamilies +variable contains the number of +.Fa families +provided. +.Sh LIMITS +The preferred way of setting limits is to use the +.Fn cap_dns_type_limit +and +.Fn cap_dns_family_limit +functions, but the limits of service can be set also using +.Xr cap_limit_set 3 . +The nvlist for that function can contain the following values and types: +.Bl -ohang -offset indent +.It type ( NV_TYPE_STRING ) +The +.Va type +can have two values: +.Dv ADDR +or +.Dv NAME . +The +.Dv ADDR +means that functions +.Fn cap_gethostbyname , +.Fn cap_gethostbyname2 +and +.Fn cap_gethostbyaddr +are allowed. +In case when +.Va type +is set to +.Dv NAME +the +.Fn cap_getnameinfo +function is allowed. +.It family ( NV_TYPE_NUMBER ) +The +.Va family +limits service to one of the address families (e.g. +.Dv AF_INET , AF_INET6 , +etc.). +.Sh EXAMPLES +The following example first opens a capability to casper and then uses this +capability to create the +.Nm system.dns +casper service and uses it to resolve an IP address. +.Bd -literal +cap_channel_t *capcas, *capdns; +const char *typelimit = "ADDR"; +int familylimit; +const char *ipstr = "127.0.0.1"; +struct in_addr ip; +struct hostent *hp; + +/* Open capability to Casper. */ +capcas = cap_init(); +if (capcas == NULL) + err(1, "Unable to contact Casper"); + +/* Enter capability mode sandbox. */ +if (cap_enter() < 0 && errno != ENOSYS) + err(1, "Unable to enter capability mode"); + +/* Use Casper capability to create capability to the system.dns service. */ +capdns = cap_service_open(capcas, "system.dns"); +if (capdns == NULL) + err(1, "Unable to open system.dns service"); + +/* Close Casper capability, we don't need it anymore. */ +cap_close(capcas); + +/* Limit system.dns to reverse DNS lookups. */ +if (cap_dns_type_limit(capdns, &typelimit, 1) < 0) + err(1, "Unable to limit access to the system.dns service"); + +/* Limit system.dns to reserve IPv4 addresses */ +familylimit = AF_INET; +if (cap_dns_family_limit(capdns, &familylimit, 1) < 0) + err(1, "Unable to limit access to the system.dns service"); + +/* Convert IP address in C-string to in_addr. */ +if (!inet_aton(ipstr, &ip)) + errx(1, "Unable to parse IP address %s.", ipstr); + +/* Find hostname for the given IP address. */ +hp = cap_gethostbyaddr(capdns, (const void *)&ip, sizeof(ip), AF_INET); +if (hp == NULL) + errx(1, "No name associated with %s.", ipstr); + +printf("Name associated with %s is %s.\\n", ipstr, hp->h_name); +.Ed +.Sh SEE ALSO +.Xr cap_enter 2 , +.Xr err 3 , +.Xr gethostbyaddr 3 , +.Xr gethostbyname 3 , +.Xr gethostbyname2 3 , +.Xr getnameinfo 3, +.Xr nv 3 , +.Xr capsicum 4 +.Sh AUTHORS +The +.Nm cap_dns +service was implemented by +.An Pawel Jakub Dawidek Aq Mt pawel@dawidek.net +under sponsorship from the FreeBSD Foundation. +.Pp +This manual page was written by +.An Mariusz Zaborski Aq Mt oshogbo@FreeBSD.org . Modified: user/jeff/numa/lib/libcasper/services/cap_dns/tests/Makefile ============================================================================== --- user/jeff/numa/lib/libcasper/services/cap_dns/tests/Makefile Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/lib/libcasper/services/cap_dns/tests/Makefile Tue Jan 9 22:00:06 2018 (r327750) @@ -7,6 +7,7 @@ TAP_TESTS_C= dns_test .if ${MK_CASPER} != "no" LIBADD+= casper LIBADD+= cap_dns +CFLAGS+=-DWITH_CASPER .endif LIBADD+= nv Modified: user/jeff/numa/lib/libcasper/services/cap_grp/tests/Makefile ============================================================================== --- user/jeff/numa/lib/libcasper/services/cap_grp/tests/Makefile Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/lib/libcasper/services/cap_grp/tests/Makefile Tue Jan 9 22:00:06 2018 (r327750) @@ -7,6 +7,7 @@ TAP_TESTS_C= grp_test .if ${MK_CASPER} != "no" LIBADD+= casper LIBADD+= cap_grp +CFLAGS+=-DWITH_CASPER .endif LIBADD+= nv Modified: user/jeff/numa/lib/libcasper/services/cap_pwd/tests/Makefile ============================================================================== --- user/jeff/numa/lib/libcasper/services/cap_pwd/tests/Makefile Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/lib/libcasper/services/cap_pwd/tests/Makefile Tue Jan 9 22:00:06 2018 (r327750) @@ -7,6 +7,7 @@ TAP_TESTS_C= pwd_test .if ${MK_CASPER} != "no" LIBADD+= casper LIBADD+= cap_pwd +CFLAGS+=-DWITH_CASPER .endif LIBADD+= nv Modified: user/jeff/numa/lib/libcasper/services/cap_sysctl/tests/Makefile ============================================================================== --- user/jeff/numa/lib/libcasper/services/cap_sysctl/tests/Makefile Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/lib/libcasper/services/cap_sysctl/tests/Makefile Tue Jan 9 22:00:06 2018 (r327750) @@ -7,6 +7,7 @@ TAP_TESTS_C= sysctl_test .if ${MK_CASPER} != "no" LIBADD+= casper LIBADD+= cap_sysctl +CFLAGS+=-DWITH_CASPER .endif LIBADD+= nv Modified: user/jeff/numa/lib/libefivar/efivar-dp-xlate.c ============================================================================== --- user/jeff/numa/lib/libefivar/efivar-dp-xlate.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/lib/libefivar/efivar-dp-xlate.c Tue Jan 9 22:00:06 2018 (r327750) @@ -527,12 +527,17 @@ find_geom_efimedia(struct gmesh *mesh, const char *dev static int build_dp(const char *efimedia, const char *relpath, efidp *dp) { - char *fp, *dptxt = NULL; + char *fp, *dptxt = NULL, *cp, *rp; int rv = 0; efidp out = NULL; size_t len; - fp = path_to_file_dp(relpath); + rp = strdup(relpath); + for (cp = rp; *cp; cp++) + if (*cp == '/') + *cp = '\\'; + fp = path_to_file_dp(rp); + free(rp); if (fp == NULL) { rv = ENOMEM; goto errout; @@ -663,6 +668,7 @@ errout: free(rp); if (rv != 0) { free(*dp); + *dp = NULL; } return (rv); } Modified: user/jeff/numa/sbin/ldconfig/ldconfig.8 ============================================================================== --- user/jeff/numa/sbin/ldconfig/ldconfig.8 Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/sbin/ldconfig/ldconfig.8 Tue Jan 9 22:00:06 2018 (r327750) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 19, 2013 +.Dd January 6, 2018 .Dt LDCONFIG 8 .Os .Sh NAME @@ -58,7 +58,9 @@ the overhead that would otherwise result from the dire operations the dynamic linker would have to perform to load the required shared libraries. .Pp -Files named on the command line are expected to contain directories +Alternatively, +.Ar files +may be specified; these are expected to contain directories to scan for shared libraries. Each directory's pathname must start on a new line. @@ -157,9 +159,10 @@ file. In particular, the .Ev LD_LIBRARY_PATH is not used to search for libraries. -Thus, the role of ldconfig is dual. -In -addition to building a set of hints for quick lookup, it also serves to +Thus, the role of +.Nm +is dual. +In addition to building a set of hints for quick lookup, it also serves to specify the trusted collection of directories from which shared objects can be safely loaded. .Sh FILES Modified: user/jeff/numa/sbin/newfs_msdos/mkfs_msdos.c ============================================================================== --- user/jeff/numa/sbin/newfs_msdos/mkfs_msdos.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/sbin/newfs_msdos/mkfs_msdos.c Tue Jan 9 22:00:06 2018 (r327750) @@ -717,8 +717,10 @@ mkfs_msdos(const char *fname, const char *dtype, const rv = 0; done: free(img); - close(fd); - close(fd1); + if (fd != -1) + close(fd); + if (fd1 != -1) + close(fd1); return rv; } Modified: user/jeff/numa/share/man/man4/aw_sid.4 ============================================================================== --- user/jeff/numa/share/man/man4/aw_sid.4 Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/share/man/man4/aw_sid.4 Tue Jan 9 22:00:06 2018 (r327750) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 2, 2018 +.Dd January 6, 2018 .Dt AW_SID 4 .Os .Sh NAME @@ -52,6 +52,8 @@ allwinner,sun7i-a20-sid allwinner,sun50i-a64-sid .It allwinner,sun8i-a83t-sid +.It +allwinner,sun8i-h3-sid .El .Sh SYSCTL VARIABLES The following read-only variables are available via Modified: user/jeff/numa/share/man/man4/cxgbe.4 ============================================================================== --- user/jeff/numa/share/man/man4/cxgbe.4 Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/share/man/man4/cxgbe.4 Tue Jan 9 22:00:06 2018 (r327750) @@ -243,6 +243,13 @@ Permitted interrupt types. Bit 0 represents INTx (line interrupts), bit 1 MSI, and bit 2 MSI-X. The default is 7 (all allowed). The driver selects the best possible type out of the allowed types. +.It Va hw.cxgbe.pcie_relaxed_ordering +PCIe Relaxed Ordering. +-1 indicates the driver should determine whether to enable or disable PCIe RO. +0 disables PCIe RO. +1 enables PCIe RO. +2 indicates the driver should not modify the PCIe RO setting. +The default is -1. .It Va hw.cxgbe.fw_install 0 prohibits the driver from installing a firmware on the card. 1 allows the driver to install a new firmware if internal driver Modified: user/jeff/numa/share/man/man4/smp.4 ============================================================================== --- user/jeff/numa/share/man/man4/smp.4 Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/share/man/man4/smp.4 Tue Jan 9 22:00:06 2018 (r327750) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 7, 2008 +.Dd January 6, 2018 .Dt SMP 4 .Os .Sh NAME @@ -56,6 +56,11 @@ i386 also requires The .Xr mptable 1 command may be used to view the status of multi-processor support. +.Pp +.Nm +support can be disabled by setting the loader tunable +.Va kern.smp.disabled +to 1. .Pp The number of CPUs detected by the system is available in the read-only sysctl variable Modified: user/jeff/numa/share/man/man5/core.5 ============================================================================== --- user/jeff/numa/share/man/man5/core.5 Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/share/man/man5/core.5 Tue Jan 9 22:00:06 2018 (r327750) @@ -28,7 +28,7 @@ .\" @(#)core.5 8.3 (Berkeley) 12/11/93 .\" $FreeBSD$ .\" -.Dd October 5, 2015 +.Dd January 8, 2018 .Dt CORE 5 .Os .Sh NAME @@ -67,8 +67,8 @@ generating it). .Pp The following format specifiers may be used in the .Va kern.corefile -sysctl to insert additional information into the resulting core file -name: +sysctl to insert additional information into the resulting core +filename: .Bl -tag -width "1234567890" -compact -offset "12345" .It Em \&%H Machine hostname. @@ -108,17 +108,17 @@ is included in the kernel configuration file: GZIO .El .Pp -When the GZIO option is included, the following sysctls control whether core -files will be compressed: -.Bl -tag -width "kern.compress_user_cores_gzlevel" -compact -offset "12345" -.It Em kern.compress_user_cores_gzlevel -Gzip compression level. -Defaults to 6. +The following sysctl control core file compression: +.Bl -tag -width "kern.compress_user_cores_level" -compact -offset "12345" .It Em kern.compress_user_cores -Actually compress user cores. -Compressed core files will have a suffix of +Enable compression of user cores. +A value of 1 configures gzip compression. +gzip-compressed core files will have a suffix of .Ql .gz -appended to them. +appended to their filenames. +.It Em kern.compress_user_cores_level +Compression level. +Defaults to 6. .El .Sh NOTES Corefiles are written with open file descriptor information as an ELF note. @@ -153,6 +153,7 @@ command can be used: .Dl sysctl kern.corefile=/var/coredumps/\&%U/\&%N.core .Sh SEE ALSO .Xr gdb 1 , +.Xr gzip 1 , .Xr kgdb 1 , .Xr setrlimit 2 , .Xr sigaction 2 , Modified: user/jeff/numa/share/man/man9/malloc.9 ============================================================================== --- user/jeff/numa/share/man/man9/malloc.9 Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/share/man/man9/malloc.9 Tue Jan 9 22:00:06 2018 (r327750) @@ -45,6 +45,8 @@ .In sys/malloc.h .Ft void * .Fn malloc "unsigned long size" "struct malloc_type *type" "int flags" +.Ft void * +.Fn mallocarray "size_t nmemb" "size_t size" "struct malloc_type *type" "int flags" .Ft void .Fn free "void *addr" "struct malloc_type *type" .Ft void * @@ -64,6 +66,14 @@ object whose size is specified by .Fa size . .Pp The +.Fn mallocarray +function allocates uninitialized memory in kernel address space for an +array of +.Fa nmemb +entries whose size is specified by +.Fa size . +.Pp +The .Fn free function releases memory at address .Fa addr @@ -152,6 +162,15 @@ functions cannot return if .Dv M_WAITOK is specified. +The +.Fn mallocarray +function can return +.Dv NULL +if the multiplication of +.Fa nmemb +and +.Fa size +would cause an integer overflow. .It Dv M_USE_RESERVE Indicates that the system can use its reserve of memory to satisfy the request. Modified: user/jeff/numa/share/misc/bsd-family-tree ============================================================================== --- user/jeff/numa/share/misc/bsd-family-tree Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/share/misc/bsd-family-tree Tue Jan 9 22:00:06 2018 (r327750) @@ -355,28 +355,22 @@ FreeBSD 5.2 | | | | 11.0 | 10.12 | | NetBSD 7.0.2 | | | | | | | | | | | | | | | *- NetBSD 7.1 | | - | | | macOS | | | DragonFly 4.8.0 - | | | 10.13 | | OpenBSD 6.1 | - | FreeBSD | | | | | DragonFly 5.0.0 - | 11.1 FreeBSD | | | | | - | | 10.4 | | | OpenBSD 6.2 DragonFly 5.0.1 - | | | v | | | | - | | | | | | DragonFly 5.0.2 - | | | | | | | - | | FreeBSD | NetBSD 7.1.1 | | - | | 10-stable | | | - | FreeBSD \ | | | - | 11-stable \ | | | - | / `| | | | - | HardenedBSD | | | | - | 11-stable HardenedBSD | | | - | 10-stable | | | - | | | | - | | | | - | | | | -FreeBSD 12 -current NetBSD -current OpenBSD -current DragonFly -current - | | | | - v v v v + | | | | | | | | + | | | | | | | | + | | | macOS | | | DragonFly 4.8.0 + | | | 10.13 | | OpenBSD 6.1 | + | FreeBSD | | | | | DragonFly 5.0.0 + | 11.1 FreeBSD | | | | | + | | 10.4 | | | OpenBSD 6.2 DragonFly 5.0.1 + | | | | | | | + | | | | NetBSD 7.1.1 | DragonFly 5.0.2 + | | | | | | | + | | | | v | | + | v | | | | + | | | | | +FreeBSD 12 -current | NetBSD -current OpenBSD -current DragonFly -current + | | | | | + v v v v v Time ---------------- Modified: user/jeff/numa/share/misc/organization.dot ============================================================================== --- user/jeff/numa/share/misc/organization.dot Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/share/misc/organization.dot Tue Jan 9 22:00:06 2018 (r327750) @@ -34,7 +34,7 @@ portmgr [label="Port Management Team\nportmgr@FreeBSD. portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\nrene"] re [label="Primary Release Engineering Team\nre@FreeBSD.org\ngjb, kib,\nbdrewery, blackend,\nrgrimes, delphij,\nhrs, glebius,\nmarius, rwatson"] secteam [label="Security Team\nsecteam@FreeBSD.org\ndelphij,\ndes, gavin, gjb,\nglebius, remko"] -portssecteam [label="Ports Security Team\nports-secteam@FreeBSD.org\ndelphij, amdmi3, eadler, feld, jgh, junovitch, rea, sbz, simon, swills, zi"] +portssecteam [label="Ports Security Team\nports-secteam@FreeBSD.org\ndelphij, amdmi3, eadler, feld, jgh, rea, sbz, simon, swills, zi"] secteamsecretary [label="Security Team Secretary\nsecteam-secretary@FreeBSD.org\nremko"] securityofficer [label="Security Officer Team\nsecurity-officer@FreeBSD.org\ndelphij, des,\ngavin, gjb,\nglebius, remko"] srccommitters [label="Src Committers\nsrc-committers@FreeBSD.org"] Modified: user/jeff/numa/stand/i386/libfirewire/firewire.c ============================================================================== --- user/jeff/numa/stand/i386/libfirewire/firewire.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/i386/libfirewire/firewire.c Tue Jan 9 22:00:06 2018 (r327750) @@ -108,11 +108,11 @@ fw_probe(int index, struct fwohci_softc *sc) biospci_write_config(sc->locator, 0x4 /* command */, 0x6 /* enable bus master and memory mapped I/O */, - 1 /* word */); + BIOSPCI_16BITS); - biospci_read_config(sc->locator, 0x00 /*devid*/, 2 /*dword*/, + biospci_read_config(sc->locator, 0x00 /*devid*/, BIOSPCI_32BITS, &sc->devid); - biospci_read_config(sc->locator, 0x10 /*base_addr*/, 2 /*dword*/, + biospci_read_config(sc->locator, 0x10 /*base_addr*/, BIOSPCI_32BITS, &sc->base_addr); sc->handle = (uint32_t)PTOV(sc->base_addr); Modified: user/jeff/numa/stand/i386/libi386/biospci.c ============================================================================== --- user/jeff/numa/stand/i386/libi386/biospci.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/i386/libi386/biospci.c Tue Jan 9 22:00:06 2018 (r327750) @@ -285,7 +285,7 @@ biospci_enumerate(void) break; /* Read the device identifier from the nominated device */ - err = biospci_read_config(locator, 0, 2, &devid); + err = biospci_read_config(locator, 0, BIOSPCI_32BITS, &devid); if (err != 0) break; Modified: user/jeff/numa/stand/i386/libi386/comconsole.c ============================================================================== --- user/jeff/numa/stand/i386/libi386/comconsole.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/i386/libi386/comconsole.c Tue Jan 9 22:00:06 2018 (r327750) @@ -263,8 +263,18 @@ comc_pcidev_handle(uint32_t locator) uint32_t port; if (biospci_read_config(locator & 0xffff, - (locator & 0xff0000) >> 16, 2, &port) == -1) { + (locator & 0xff0000) >> 16, BIOSPCI_32BITS, &port) == -1) { printf("Cannot read bar at 0x%x\n", locator); + return (CMD_ERROR); + } + + /* + * biospci_read_config() sets port == 0xffffffff if the pcidev + * isn't found on the bus. Check for 0xffffffff and return to not + * panic in BTX. + */ + if (port == 0xffffffff) { + printf("Cannot find specified pcidev\n"); return (CMD_ERROR); } if (!PCI_BAR_IO(port)) { Modified: user/jeff/numa/stand/i386/libi386/libi386.h ============================================================================== --- user/jeff/numa/stand/i386/libi386/libi386.h Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/i386/libi386/libi386.h Tue Jan 9 22:00:06 2018 (r327750) @@ -135,6 +135,13 @@ extern vm_offset_t memtop_copyin; /* memtop less heap extern uint32_t high_heap_size; /* extended memory region available */ extern vm_offset_t high_heap_base; /* for use as the heap */ +/* + * Values for width parameter to biospci_{read,write}_config + */ +#define BIOSPCI_8BITS 0 +#define BIOSPCI_16BITS 1 +#define BIOSPCI_32BITS 2 + void biospci_detect(void); int biospci_find_devclass(uint32_t class, int index, uint32_t *locator); int biospci_read_config(uint32_t locator, int offset, int width, uint32_t *val); Modified: user/jeff/numa/stand/mips/beri/boot2/Makefile ============================================================================== --- user/jeff/numa/stand/mips/beri/boot2/Makefile Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/mips/beri/boot2/Makefile Tue Jan 9 22:00:06 2018 (r327750) @@ -53,8 +53,7 @@ CFLAGS+= -I${LDRSRC} \ -fno-pic -mno-abicalls \ -g -LDFLAGS= -nostdlib \ - -static \ +LDFLAGS+= -static \ -Wl,-N \ -G0 \ -L${.CURDIR} Modified: user/jeff/numa/stand/mips/beri/boot2/boot2.c ============================================================================== --- user/jeff/numa/stand/mips/beri/boot2/boot2.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/mips/beri/boot2/boot2.c Tue Jan 9 22:00:06 2018 (r327750) @@ -118,8 +118,6 @@ static const unsigned char flags[NOPT] = { static const char *const dev_nm[] = {"dram", "cfi", "sdcard"}; static const u_int dev_nm_count = nitems(dev_nm); -static struct dmadat __dmadat; - static struct dsk { unsigned type; /* BOOTINFO_DEV_TYPE_x object type. */ uintptr_t unitptr; /* Unit number or pointer to object. */ @@ -149,9 +147,10 @@ static int dskread(void *, unsigned, unsigned); static int xputc(int); static int xgetc(int); - #define UFS_SMALL_CGBASE #include "ufsread.c" + +static struct dmadat __dmadat; static inline int xfsread(ufs_ino_t inode, void *buf, size_t nbyte) Modified: user/jeff/numa/stand/mips/beri/common/sdcard.c ============================================================================== --- user/jeff/numa/stand/mips/beri/common/sdcard.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/mips/beri/common/sdcard.c Tue Jan 9 22:00:06 2018 (r327750) @@ -33,8 +33,7 @@ #include #include -#include -#include +#include /* @@ -109,10 +108,10 @@ ALTERA_SDCARD_RR1_COMMANDCRCFAILED | ALTERA_SDCARD_RR1_ADDRESSMISALIGNED |\ ALTERA_SDCARD_RR1_ADDRBLOCKRANGE) -extern void __cheri_sdcard_vaddr__; +extern uint8_t __cheri_sdcard_vaddr__[]; #define ALTERA_SDCARD_PTR(type, offset) \ - (volatile type *)((uint8_t *)&__cheri_sdcard_vaddr__ + (offset)) + (volatile type *)(&__cheri_sdcard_vaddr__[(offset)]) static __inline uint16_t altera_sdcard_read_uint16(u_int offset) Modified: user/jeff/numa/stand/mips/beri/loader/Makefile ============================================================================== --- user/jeff/numa/stand/mips/beri/loader/Makefile Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/mips/beri/loader/Makefile Tue Jan 9 22:00:06 2018 (r327750) @@ -85,8 +85,7 @@ CFLAGS+= -G0 \ -mno-abicalls \ -g -LDFLAGS= -nostdlib \ - -static \ +LDFLAGS+= -static \ -T ${.CURDIR}/loader.ldscript \ -L${.CURDIR} \ -e __start Modified: user/jeff/numa/stand/mips/beri/loader/exec.c ============================================================================== --- user/jeff/numa/stand/mips/beri/loader/exec.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/mips/beri/loader/exec.c Tue Jan 9 22:00:06 2018 (r327750) @@ -80,14 +80,14 @@ beri_elf64_exec(struct preloaded_file *fp) md = file_findmetadata(fp, MODINFOMD_ELFHDR); if (md == NULL) { - printf("%s: file_findmetadata failed\n"); + printf("%s: file_findmetadata failed\n", fp->f_name); return (EFTYPE); } ehdr = (Elf_Ehdr *)md->md_data; error = md_load64(fp->f_args, &mdp); if (error) { - printf("%s: md_load64 failed\n"); + printf("%s: md_load64 failed\n", fp->f_name); return (error); } Modified: user/jeff/numa/stand/mips/beri/loader/main.c ============================================================================== --- user/jeff/numa/stand/mips/beri/loader/main.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/stand/mips/beri/loader/main.c Tue Jan 9 22:00:06 2018 (r327750) @@ -78,8 +78,8 @@ struct console *consoles[] = { NULL }; -extern void __bss_start, __bss_end; -extern void __heap_start, __heap_end; +extern uint8_t __bss_start, __bss_end; +extern uint8_t __heap_start, __heap_end; static int __elfN(exec)(struct preloaded_file *fp) @@ -108,14 +108,14 @@ main(int argc, char *argv[], char *envv[], struct boot struct devsw **dp; /* NB: Must be sure to bzero() before using any globals. */ - bzero(&__bss_start, (uintptr_t)&__bss_end - (uintptr_t)&__bss_start); + bzero(&__bss_start, &__bss_end - &__bss_start); boot2_argc = argc; boot2_argv = argv; boot2_envv = envv; boot2_bootinfo = *bootinfop; /* Copy rather than by reference. */ - setheap((void *)&__heap_start, (void *)&__heap_end); + setheap(&__heap_start, &__heap_end); /* * Pick up console settings from boot2; probe console. Modified: user/jeff/numa/sys/amd64/amd64/machdep.c ============================================================================== --- user/jeff/numa/sys/amd64/amd64/machdep.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/sys/amd64/amd64/machdep.c Tue Jan 9 22:00:06 2018 (r327750) @@ -1535,7 +1535,7 @@ hammer_time(u_int64_t modulep, u_int64_t physfree) kmdp = init_ops.parse_preload_data(modulep); - identify_cpu(); + identify_cpu1(); identify_hypervisor(); /* Init basic tunables, hz etc */ Modified: user/jeff/numa/sys/amd64/vmm/amd/svm.c ============================================================================== --- user/jeff/numa/sys/amd64/vmm/amd/svm.c Tue Jan 9 21:54:37 2018 (r327749) +++ user/jeff/numa/sys/amd64/vmm/amd/svm.c Tue Jan 9 22:00:06 2018 (r327750) @@ -517,15 +517,26 @@ svm_vminit(struct vm *vm, pmap_t pmap) vm_paddr_t msrpm_pa, iopm_pa, pml4_pa; int i; - svm_sc = contigmalloc(sizeof (*svm_sc), M_SVM, M_WAITOK | M_ZERO, - 0, ~(vm_paddr_t)0, PAGE_SIZE, 0); + svm_sc = malloc(sizeof (*svm_sc), M_SVM, M_WAITOK | M_ZERO); + if (((uintptr_t)svm_sc & PAGE_MASK) != 0) + panic("malloc of svm_softc not aligned on page boundary"); + + svm_sc->msr_bitmap = contigmalloc(SVM_MSR_BITMAP_SIZE, M_SVM, + M_WAITOK, 0, ~(vm_paddr_t)0, PAGE_SIZE, 0); + if (svm_sc->msr_bitmap == NULL) + panic("contigmalloc of SVM MSR bitmap failed"); + svm_sc->iopm_bitmap = contigmalloc(SVM_IO_BITMAP_SIZE, M_SVM, + M_WAITOK, 0, ~(vm_paddr_t)0, PAGE_SIZE, 0); + if (svm_sc->iopm_bitmap == NULL) + panic("contigmalloc of SVM IO bitmap failed"); + svm_sc->vm = vm; svm_sc->nptp = (vm_offset_t)vtophys(pmap->pm_pml4); /* * Intercept read and write accesses to all MSRs. */ - memset(svm_sc->msr_bitmap, 0xFF, sizeof(svm_sc->msr_bitmap)); + memset(svm_sc->msr_bitmap, 0xFF, SVM_MSR_BITMAP_SIZE); /* * Access to the following MSRs is redirected to the VMCB when the @@ -553,7 +564,7 @@ svm_vminit(struct vm *vm, pmap_t pmap) svm_msr_rd_ok(svm_sc->msr_bitmap, MSR_EFER); /* Intercept access to all I/O ports. */ - memset(svm_sc->iopm_bitmap, 0xFF, sizeof(svm_sc->iopm_bitmap)); + memset(svm_sc->iopm_bitmap, 0xFF, SVM_IO_BITMAP_SIZE); iopm_pa = vtophys(svm_sc->iopm_bitmap); msrpm_pa = vtophys(svm_sc->msr_bitmap); @@ -2043,7 +2054,9 @@ svm_vmcleanup(void *arg) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Thu Jan 11 07:35:16 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2342AE746DF for ; Thu, 11 Jan 2018 07:35:16 +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 F122A8353C; Thu, 11 Jan 2018 07:35:15 +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 3238811DE6; Thu, 11 Jan 2018 07:35:15 +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 w0B7ZFB2082239; Thu, 11 Jan 2018 07:35:15 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w0B7ZEix082237; Thu, 11 Jan 2018 07:35:14 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201801110735.w0B7ZEix082237@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Thu, 11 Jan 2018 07:35:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327809 - 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: 327809 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, 11 Jan 2018 07:35:16 -0000 Author: pho Date: Thu Jan 11 07:35:14 2018 New Revision: 327809 URL: https://svnweb.freebsd.org/changeset/base/327809 Log: Added two regression tests. Sponsored by: Dell EMC Isilon Added: user/pho/stress2/misc/graid1_10.sh (contents, props changed) user/pho/stress2/misc/graid1_9.sh (contents, props changed) Added: user/pho/stress2/misc/graid1_10.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/graid1_10.sh Thu Jan 11 07:35:14 2018 (r327809) @@ -0,0 +1,94 @@ +#!/bin/sh + +# +# Copyright (c) 2018 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$ +# + +# Read error handling for synchronization requests +# Test scenario by Mark Johnston +# Fixed by r327779 + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +md1=$mdstart +md2=$((mdstart + 1)) + +s=0 +size=1g +[ $((`sysctl -n hw.usermem` / 1024 / 1024 / 1024)) -le 4 ] && + size=512m + +for u in $md1 $md2; do + mdconfig -l | grep -q md$u && mdconfig -d -u $u + mdconfig -a -t swap -s $size -u $u +done + +gmirror load > /dev/null 2>&1 && unload=1 +old=`sysctl -n kern.geom.mirror.debug` +sysctl kern.geom.mirror.debug=-1 | grep -q -- -1 || + sysctl kern.geom.mirror.debug=$old > /dev/null +gmirror label -v -b split -s 2048 test /dev/md$md1 /dev/md$md2 \ + > /dev/null || exit 1 +[ -c /dev/mirror/test ] || exit 1 +newfs /dev/mirror/test > /dev/null +mount /dev/mirror/test $mntpoint + +gpid=`pgrep -fS "g_mirror test"` +s=0 +start=`date +%s` +roid=debug.fail_point.g_mirror_regular_request_read +while [ $((`date +%s` - start)) -lt 120 ]; do + gmirror forget test md$md2 2>/dev/null + gmirror remove test md$md2 2>/dev/null + sysctl $roid="1%return(5)[pid $gpid]" > /dev/null + gmirror insert test md$md2 + n=0 + while gmirror status test | grep -q DEGRADED; do + sleep 2 + [ $((n += 1)) -gt 10 ] && { s=1; break; } + done + sysctl $roid="off" > /dev/null +done +[ $s -ne 0 ] && gmirror status test + +for i in `jot 12`; do + gmirror status test | grep -q SYNCHRONIZING || break + sleep 10 +done +while mount | grep $mntpoint | grep -q /mirror/; do + umount $mntpoint || sleep 1 +done +gmirror stop test || s=2 +gmirror destroy test 2>/dev/null +[ $unload ] && gmirror unload + +for u in $md2 $md1; do + mdconfig -d -u $u || s=3 +done +exit $s Added: user/pho/stress2/misc/graid1_9.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/graid1_9.sh Thu Jan 11 07:35:14 2018 (r327809) @@ -0,0 +1,112 @@ +#!/bin/sh + +# +# Copyright (c) 2018 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$ +# + +# Copy of graid1.sh with fail points added. +# WiP +# https://people.freebsd.org/~pho/stress/log/mark015.txt +# Fixed by r327779 + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +md1=$mdstart +md2=$((mdstart + 1)) +md3=$((mdstart + 2)) + +s=0 +size=1g +[ $((`sysctl -n hw.usermem` / 1024 / 1024 / 1024)) -le 4 ] && + size=512m + +for u in $md1 $md2 $md3; do + mdconfig -l | grep -q md$u && mdconfig -d -u $u + mdconfig -a -t swap -s $size -u $u +done + +gmirror load > /dev/null 2>&1 && unload=1 +old=`sysctl -n kern.geom.mirror.debug` +sysctl kern.geom.mirror.debug=-1 | grep -q -- -1 || + sysctl kern.geom.mirror.debug=$old > /dev/null +gmirror label -v -b split -s 2048 test /dev/md$md1 /dev/md$md2 \ + /dev/md$md3 > /dev/null || exit 1 +[ -c /dev/mirror/test ] || exit 1 +# Do not use SU as it is more intolerant to FS corruption +newfs /dev/mirror/test > /dev/null +mount /dev/mirror/test $mntpoint +chmod 777 $mntpoint + +export runRUNTIME=10m +export RUNDIR=$mntpoint/stressX + +woid=debug.fail_point.g_mirror_regular_request_write +roid=debug.fail_point.g_mirror_regular_request_read +gpid=`pgrep -fS "g_mirror test"` +sysctl $woid="0.0005%return(5)[pid $gpid]" > /dev/null +sysctl $roid="0.0005%return(5)[pid $gpid]" > /dev/null + +su $testuser -c 'cd ..; ./run.sh marcus.cfg' > /dev/null & + +while kill -0 $! 2>/dev/null; do + if gmirror status test | grep -q DEGRADED; then + for i in $md1 $md2 $md3; do + if ! gmirror status test | grep -q md$i; then + gmirror forget test md$i 2>/dev/null + gmirror remove test md$i 2>/dev/null + gmirror insert test md$i + fi + done + else + sleep 5 + fi +done +wait + +sysctl $woid=off > /dev/null +sysctl $roid=off > /dev/null + +for i in `jot 12`; do + gmirror status test | grep -q SYNCHRONIZING || break + sleep 10 +done +gmirror status test | grep -q SYNCHRONIZING && + { s=1; gmirror status test; } +while mount | grep $mntpoint | grep -q /mirror/; do + umount $mntpoint || sleep 1 +done +# The FS is most likely corrupted at this point, so do not run fsck(8). +gmirror stop test || s=2 +gmirror destroy test 2>/dev/null +[ $unload ] && gmirror unload + +for u in $md3 $md2 $md1; do + mdconfig -d -u $u || s=3 +done +exit $s From owner-svn-src-user@freebsd.org Fri Jan 12 09:59:10 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31FADE7ED4F for ; Fri, 12 Jan 2018 09:59:10 +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 E6FCE811D1; Fri, 12 Jan 2018 09:59:09 +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 2B8A5221B4; Fri, 12 Jan 2018 09:59:09 +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 w0C9x8OL053477; Fri, 12 Jan 2018 09:59:08 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w0C9x8EW053476; Fri, 12 Jan 2018 09:59:08 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201801120959.w0C9x8EW053476@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Fri, 12 Jan 2018 09:59:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327868 - 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: 327868 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: Fri, 12 Jan 2018 09:59:10 -0000 Author: pho Date: Fri Jan 12 09:59:08 2018 New Revision: 327868 URL: https://svnweb.freebsd.org/changeset/base/327868 Log: Added a regression test. Sponsored by: Dell EMC Isilon Added: user/pho/stress2/misc/symlink4.sh (contents, props changed) Added: user/pho/stress2/misc/symlink4.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/symlink4.sh Fri Jan 12 09:59:08 2018 (r327868) @@ -0,0 +1,127 @@ +#!/bin/sh + +# +# Copyright (c) 2018 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$ +# + +# Testing with links longer than 120 characters, which is not stored in the +# inode but will be placed in its own data fragment. + +# "panic: softdep_deallocate_dependencies: dangling deps" seen with SU: +# https://people.freebsd.org/~pho/stress/log/symlink4.txt +# Fixed by r327821 + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +dir=/tmp +odir=`pwd` +cd $dir +sed '1,/^EOF/d' < $odir/$0 > $dir/symlink4.c +mycc -o symlink4 -Wall -Wextra -O0 -g symlink4.c || exit 1 +rm -f symlink4.c +cd $odir + +set -e +mount | grep "on $mntpoint " | grep -q /dev/md && umount -f $mntpoint +[ -c /dev/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 +set +e + +cd $mntpoint +i=`df -ik $mntpoint | tail -1 | awk '{printf "%d\n", ($7 - 500)/2}'` +/tmp/symlink4 $i +s=$? +[ -f symlink4.core -a $s -eq 0 ] && + { ls -l symlink4.core; mv symlink4.core /tmp; s=1; } +cd $odir + +for i in `jot 6`; do + mount | grep -q "on $mntpoint " || break + umount $mntpoint && break || sleep 10 +done +[ $i -eq 6 ] && exit 1 +mdconfig -d -u $mdstart +rm -rf $dir/symlink4 +exit $s + +EOF +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +int +main(int argc, char **argv) +{ + int64_t size; + pid_t pid; + int i, j; + char file[128], link[256]; + + if (argc != 2) + errx(1, "Usage: %s ", argv[0]); + size = atol(argv[1]); + strcpy(link, "/mnt/not/there/"); + for (i = 15; i < 200; i++) + link[i] = '1'; + link[++i] = 0; + + pid = getpid(); + for (j = 0; j < size; j++) { + sprintf(file,"p%05d.%05d", pid, j); + if (symlink(link, file) == -1) { + if (errno != EINTR) { + warn("symlink(%s, %s)", link, file); + printf("break out at %d, errno %d\n", j, + errno); + break; + } + } + } + + for (i = --j; i >= 0; i--) { + sprintf(file,"p%05d.%05d", pid, i); + if (unlink(file) == -1) + err(3, "unlink(%s)", file); + + } + return (0); +} From owner-svn-src-user@freebsd.org Fri Jan 12 10:01:10 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 76BB9E7EEC0 for ; Fri, 12 Jan 2018 10:01:10 +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 52F06814A0; Fri, 12 Jan 2018 10:01:10 +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 A34AB221DE; Fri, 12 Jan 2018 10:01:09 +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 w0CA19xk055912; Fri, 12 Jan 2018 10:01:09 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w0CA19qb055911; Fri, 12 Jan 2018 10:01:09 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201801121001.w0CA19qb055911@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Fri, 12 Jan 2018 10:01:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327869 - 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: 327869 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: Fri, 12 Jan 2018 10:01:10 -0000 Author: pho Date: Fri Jan 12 10:01:09 2018 New Revision: 327869 URL: https://svnweb.freebsd.org/changeset/base/327869 Log: Added problem found. Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/graid0.sh Modified: user/pho/stress2/misc/graid0.sh ============================================================================== --- user/pho/stress2/misc/graid0.sh Fri Jan 12 09:59:08 2018 (r327868) +++ user/pho/stress2/misc/graid0.sh Fri Jan 12 10:01:09 2018 (r327869) @@ -28,7 +28,9 @@ # $FreeBSD$ # -# No problems seen. +# Protection fault seen: +# https://people.freebsd.org/~pho/stress/log/graid0.txt +# Fixed by r327721-23 [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 From owner-svn-src-user@freebsd.org Fri Jan 12 23:38:20 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E2AB2EB2A80 for ; Fri, 12 Jan 2018 23:38:20 +0000 (UTC) (envelope-from jeff@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 868443176; Fri, 12 Jan 2018 23:38:20 +0000 (UTC) (envelope-from jeff@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 BD1D62849; Fri, 12 Jan 2018 23:38:19 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w0CNcJ6A004120; Fri, 12 Jan 2018 23:38:19 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w0CNcGkU004085; Fri, 12 Jan 2018 23:38:16 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <201801122338.w0CNcGkU004085@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Fri, 12 Jan 2018 23:38:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327902 - in user/jeff/numa: . cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety cddl/contrib/opensolaris/lib/libdtrace/... X-SVN-Group: user X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: in user/jeff/numa: . cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety cddl/contrib/opensolaris/lib/libdtrace/common cddl/usr.sbin/dtra... X-SVN-Commit-Revision: 327902 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: Fri, 12 Jan 2018 23:38:21 -0000 Author: jeff Date: Fri Jan 12 23:38:15 2018 New Revision: 327902 URL: https://svnweb.freebsd.org/changeset/base/327902 Log: Merge from head Added: user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh - copied unchanged from r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh.out - copied unchanged from r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh.out user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jailname.d - copied unchanged from r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jailname.d user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jid.d - copied unchanged from r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jid.d user/jeff/numa/sys/arm/arm/gic_acpi.c - copied unchanged from r327901, head/sys/arm/arm/gic_acpi.c user/jeff/numa/sys/arm64/arm64/gic_v3_acpi.c - copied unchanged from r327901, head/sys/arm64/arm64/gic_v3_acpi.c user/jeff/numa/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c - copied unchanged from r327901, head/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c user/jeff/numa/sys/dev/acpica/acpi_bus_if.m - copied unchanged from r327901, head/sys/dev/acpica/acpi_bus_if.m user/jeff/numa/sys/i386/i386/prof_machdep.c - copied unchanged from r327901, head/sys/i386/i386/prof_machdep.c user/jeff/numa/sys/powerpc/powernv/ - copied from r327901, head/sys/powerpc/powernv/ user/jeff/numa/tests/sys/geom/class/mirror/sync_error.sh - copied unchanged from r327901, head/tests/sys/geom/class/mirror/sync_error.sh user/jeff/numa/usr.bin/awk/tests/ - copied from r327901, head/usr.bin/awk/tests/ user/jeff/numa/usr.bin/clang/lld/ld.lld.1 - copied unchanged from r327901, head/usr.bin/clang/lld/ld.lld.1 user/jeff/numa/usr.bin/vmstat/tests/ - copied from r327901, head/usr.bin/vmstat/tests/ Deleted: user/jeff/numa/sys/i386/isa/ user/jeff/numa/sys/sys/_vm_domain.h user/jeff/numa/sys/sys/digiio.h user/jeff/numa/sys/vm/vm_domain.c user/jeff/numa/sys/vm/vm_domain.h user/jeff/numa/usr.sbin/digictl/ Modified: user/jeff/numa/Makefile.inc1 user/jeff/numa/Makefile.libcompat user/jeff/numa/ObsoleteFiles.inc user/jeff/numa/UPDATING user/jeff/numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c user/jeff/numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_options.c user/jeff/numa/cddl/usr.sbin/dtrace/tests/common/env/Makefile user/jeff/numa/cddl/usr.sbin/dtrace/tests/common/safety/Makefile user/jeff/numa/contrib/gcc/unwind-dw2.c user/jeff/numa/contrib/llvm/lib/Support/Unix/Memory.inc user/jeff/numa/etc/mtree/BSD.tests.dist user/jeff/numa/include/stdlib.h user/jeff/numa/lib/libcasper/services/cap_dns/cap_dns.3 user/jeff/numa/sbin/camcontrol/camcontrol.c user/jeff/numa/sbin/dhclient/parse.c user/jeff/numa/share/man/man5/src.conf.5 user/jeff/numa/share/man/man9/Makefile user/jeff/numa/share/man/man9/malloc.9 user/jeff/numa/share/mk/src.opts.mk user/jeff/numa/share/mk/src.sys.obj.mk user/jeff/numa/stand/common/reloc_elf.c user/jeff/numa/stand/efi/boot1/Makefile user/jeff/numa/stand/efi/boot1/boot1.c user/jeff/numa/stand/efi/include/efi.h user/jeff/numa/stand/libsa/net.h user/jeff/numa/stand/libsa/stand.h user/jeff/numa/sys/amd64/amd64/cpu_switch.S user/jeff/numa/sys/amd64/amd64/exception.S user/jeff/numa/sys/amd64/amd64/genassym.c user/jeff/numa/sys/amd64/amd64/machdep.c user/jeff/numa/sys/amd64/amd64/mp_machdep.c user/jeff/numa/sys/amd64/amd64/support.S user/jeff/numa/sys/amd64/include/md_var.h user/jeff/numa/sys/arm/allwinner/a83t/a83t_padconf.c user/jeff/numa/sys/arm/allwinner/if_awg.c user/jeff/numa/sys/arm/arm/generic_timer.c user/jeff/numa/sys/arm/arm/gic.c user/jeff/numa/sys/arm64/arm64/cpu_errata.c user/jeff/numa/sys/arm64/arm64/gic_v3.c user/jeff/numa/sys/arm64/arm64/gic_v3_var.h user/jeff/numa/sys/arm64/arm64/gicv3_its.c user/jeff/numa/sys/arm64/arm64/locore.S user/jeff/numa/sys/arm64/arm64/nexus.c user/jeff/numa/sys/arm64/arm64/pmap.c user/jeff/numa/sys/arm64/arm64/trap.c user/jeff/numa/sys/arm64/include/pcpu.h user/jeff/numa/sys/cam/cam_periph.c user/jeff/numa/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c user/jeff/numa/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h user/jeff/numa/sys/compat/linuxkpi/common/include/linux/slab.h user/jeff/numa/sys/conf/files.arm64 user/jeff/numa/sys/conf/files.i386 user/jeff/numa/sys/conf/files.mips user/jeff/numa/sys/conf/files.powerpc user/jeff/numa/sys/conf/files.riscv user/jeff/numa/sys/conf/options.powerpc user/jeff/numa/sys/crypto/aesni/aesni.c user/jeff/numa/sys/dev/acpica/acpi.c user/jeff/numa/sys/dev/acpica/acpi_resource.c user/jeff/numa/sys/dev/acpica/acpivar.h user/jeff/numa/sys/dev/amdsbwd/amdsbwd.c user/jeff/numa/sys/dev/bhnd/bcma/bcma_erom.c user/jeff/numa/sys/dev/bhnd/nvram/bhnd_nvram_private.h user/jeff/numa/sys/dev/bhnd/siba/siba_erom.c user/jeff/numa/sys/dev/bxe/bxe.c user/jeff/numa/sys/dev/bxe/ecore_sp.h user/jeff/numa/sys/dev/cxgbe/t4_sge.c user/jeff/numa/sys/dev/e1000/e1000_82575.h user/jeff/numa/sys/dev/e1000/e1000_ich8lan.c user/jeff/numa/sys/dev/e1000/e1000_regs.h user/jeff/numa/sys/dev/e1000/if_em.c user/jeff/numa/sys/dev/iicbus/ds13rtc.c user/jeff/numa/sys/dev/ixl/if_ixlv.c user/jeff/numa/sys/dev/ixl/ixl_pf_iov.c user/jeff/numa/sys/dev/ixl/ixl_pf_main.c user/jeff/numa/sys/dev/md/md.c user/jeff/numa/sys/dev/mlx4/cq.h user/jeff/numa/sys/dev/mlx4/mlx4_core/mlx4_fw.c user/jeff/numa/sys/dev/mlx4/mlx4_core/mlx4_mcg.c user/jeff/numa/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c user/jeff/numa/sys/dev/mlx4/mlx4_ib/mlx4_ib.h user/jeff/numa/sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c user/jeff/numa/sys/dev/mlx4/qp.h user/jeff/numa/sys/dev/mlx5/device.h user/jeff/numa/sys/dev/mlx5/qp.h user/jeff/numa/sys/fs/nullfs/null_vfsops.c user/jeff/numa/sys/geom/mirror/g_mirror.c user/jeff/numa/sys/geom/mirror/g_mirror.h user/jeff/numa/sys/i386/bios/apm.c user/jeff/numa/sys/i386/conf/GENERIC user/jeff/numa/sys/i386/conf/NOTES user/jeff/numa/sys/i386/i386/support.s user/jeff/numa/sys/kern/kern_malloc.c user/jeff/numa/sys/kern/kern_mutex.c user/jeff/numa/sys/kern/sys_socket.c user/jeff/numa/sys/kern/vfs_aio.c user/jeff/numa/sys/kern/vfs_subr.c user/jeff/numa/sys/mips/mips/exception.S user/jeff/numa/sys/mips/mips/locore.S user/jeff/numa/sys/mips/mips/swtch.S user/jeff/numa/sys/mips/mips/trap.c user/jeff/numa/sys/modules/bhnd/Makefile user/jeff/numa/sys/modules/dtrace/Makefile user/jeff/numa/sys/modules/sdhci_acpi/Makefile user/jeff/numa/sys/modules/sdhci_pci/Makefile user/jeff/numa/sys/modules/sgx/Makefile user/jeff/numa/sys/netinet/libalias/alias_mod.h user/jeff/numa/sys/netinet/libalias/alias_sctp.c user/jeff/numa/sys/netpfil/ipfw/dn_heap.c user/jeff/numa/sys/netpfil/ipfw/dn_sched_fq_codel.c user/jeff/numa/sys/netpfil/ipfw/dn_sched_fq_pie.c user/jeff/numa/sys/opencrypto/cryptodev.c user/jeff/numa/sys/opencrypto/cryptodev.h user/jeff/numa/sys/powerpc/conf/GENERIC64 user/jeff/numa/sys/powerpc/include/spr.h user/jeff/numa/sys/powerpc/powermac/uninorthpci.c user/jeff/numa/sys/powerpc/powermac/uninorthvar.h user/jeff/numa/sys/sys/malloc.h user/jeff/numa/sys/ufs/ffs/ffs_softdep.c user/jeff/numa/sys/ufs/ufs/ufs_dirhash.c user/jeff/numa/sys/vm/vm_glue.c user/jeff/numa/sys/vm/vm_unix.c user/jeff/numa/tests/sys/geom/class/mirror/Makefile user/jeff/numa/tools/tools/crypto/cryptotest.c user/jeff/numa/usr.bin/awk/Makefile user/jeff/numa/usr.bin/clang/lld/Makefile user/jeff/numa/usr.bin/patch/inp.c user/jeff/numa/usr.bin/vmstat/Makefile user/jeff/numa/usr.sbin/Makefile user/jeff/numa/usr.sbin/bsdinstall/partedit/gpart_ops.c user/jeff/numa/usr.sbin/efibootmgr/efibootmgr.c Directory Properties: user/jeff/numa/ (props changed) user/jeff/numa/cddl/ (props changed) user/jeff/numa/cddl/contrib/opensolaris/ (props changed) user/jeff/numa/contrib/gcc/ (props changed) user/jeff/numa/contrib/llvm/ (props changed) user/jeff/numa/sys/cddl/contrib/opensolaris/ (props changed) user/jeff/numa/sys/contrib/zstd/ (props changed) user/jeff/numa/tests/sys/geom/class/eli/attach_test.sh (props changed) user/jeff/numa/tests/sys/geom/class/eli/configure_test.sh (props changed) user/jeff/numa/tests/sys/geom/class/eli/detach_test.sh (props changed) user/jeff/numa/tests/sys/geom/class/eli/integrity_test.sh (props changed) user/jeff/numa/tests/sys/geom/class/mirror/10_test.sh (props changed) user/jeff/numa/tests/sys/geom/class/mirror/11_test.sh (props changed) user/jeff/numa/tests/sys/geom/class/mirror/12_test.sh (props changed) user/jeff/numa/tests/sys/geom/class/mirror/13_test.sh (props changed) Modified: user/jeff/numa/Makefile.inc1 ============================================================================== --- user/jeff/numa/Makefile.inc1 Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/Makefile.inc1 Fri Jan 12 23:38:15 2018 (r327902) @@ -144,7 +144,7 @@ TEST_SYSTEM_COMPILER_VARS= \ WANT_COMPILER_FREEBSD_VERSION WANT_COMPILER_FREEBSD_VERSION_FILE \ CC COMPILER_TYPE COMPILER_FEATURES COMPILER_VERSION \ COMPILER_FREEBSD_VERSION \ - LINKER_TYPE LINKER_VERSION + LINKER_TYPE LINKER_FEATURES LINKER_VERSION test-system-compiler: .PHONY .for v in ${TEST_SYSTEM_COMPILER_VARS} ${_+_}@printf "%-35s= %s\n" "${v}" "${${v}}" @@ -178,6 +178,7 @@ _COMPILER_METADATA_VARS= COMPILER_VERSION \ COMPILER_FEATURES \ COMPILER_FREEBSD_VERSION \ LINKER_VERSION \ + LINKER_FEATURES \ LINKER_TYPE compiler-metadata.mk: .PHONY .META @: > ${.TARGET} @@ -536,6 +537,7 @@ BSARGS= DESTDIR= \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ MK_LLDB=no MK_TESTS=no \ + MK_LLD=${MK_LLD_BOOTSTRAP} \ MK_INCLUDES=yes BMAKE= \ Modified: user/jeff/numa/Makefile.libcompat ============================================================================== --- user/jeff/numa/Makefile.libcompat Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/Makefile.libcompat Fri Jan 12 23:38:15 2018 (r327902) @@ -35,10 +35,19 @@ LIB32WMAKEFLAGS= \ OBJCOPY="${XOBJCOPY}" .elif ${TARGET_ARCH:Mmips64*} != "" +.if ${WANT_COMPILER_TYPE} == clang || \ + (defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == clang) +.if ${TARGET_ARCH:Mmips64el*} != "" +LIB32CPUFLAGS= -target mipsel-unknown-freebsd12.0 +.else +LIB32CPUFLAGS= -target mips-unknown-freebsd12.0 +.endif +.else .if empty(TARGET_CPUTYPE) LIB32CPUFLAGS= -march=mips3 .else LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} +.endif .endif LIB32CPUFLAGS+= -mabi=32 LIB32WMAKEENV= MACHINE=mips MACHINE_ARCH=mips Modified: user/jeff/numa/ObsoleteFiles.inc ============================================================================== --- user/jeff/numa/ObsoleteFiles.inc Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/ObsoleteFiles.inc Fri Jan 12 23:38:15 2018 (r327902) @@ -38,6 +38,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20180109: Remove vestiges of digi(4) driver +OLD_FILES+=usr/include/sys/digiio.h +OLD_FILES+=usr/sbin/digictl +OLD_FILES+=usr/share/man/man8/digictl.8.gz # 20180107: Convert remaining geli(8) tests to ATF OLD_FILES+=tests/sys/geom/class/eli/nokey_test.sh OLD_FILES+=tests/sys/geom/class/eli/readonly_test.sh Modified: user/jeff/numa/UPDATING ============================================================================== --- user/jeff/numa/UPDATING Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/UPDATING Fri Jan 12 23:38:15 2018 (r327902) @@ -51,6 +51,20 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +20180110: + LLVM's lld linker is now used as the FreeBSD/amd64 bootstrap linker. + This means it is used to link the kernel and userland libraries and + executables, but is not yet installed as /usr/bin/ld by default. + + To revert to ld.bfd as the bootstrap linker, in /etc/src.conf set + WITHOUT_LLD_BOOTSTRAP=yes + +20180110: + On i386, pmtimer has been removed. Its functionality has been folded + into apm. It was a no-op on ACPI in current for a while now (but was still + needed on i386 in FreeBSD 11 and earlier). Users may need to remove it + from kernel config files. + 20180104: The use of RSS hash from the network card aka flowid has been disabled by default for lagg(4) as it's currently incompatible with @@ -195,7 +209,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: will create the recovery information. If you have a filesystem created prior to this change and wish to have a recovery block created for your filesystem, you can do so by running fsck in - forground mode (i.e., do not use the -p or -y options). As it + foreground mode (i.e., do not use the -p or -y options). As it starts, fsck will ask ``SAVE DATA TO FIND ALTERNATE SUPERBLOCKS'' to which you should answer yes. @@ -1855,7 +1869,7 @@ COMMON ITEMS: do an upgrade to the new branch. This is the best-tested upgrade path, and has the highest probability of being successful. Please try this approach if you encounter problems with a major version upgrade. Since - the stable 4.x branch point, one has generally been able to upgade from + the stable 4.x branch point, one has generally been able to upgrade from anywhere in the most recent stable branch to head / current (or even the last couple of stable branches). See the top of this file when there's an exception. @@ -1993,7 +2007,7 @@ COMMON ITEMS: for potential gotchas. The -U option is also useful to consider. See mergemaster(8) for more information. - [5] Usually this step is a noop. However, from time to time + [5] Usually this step is a no-op. However, from time to time you may need to do this if you get unknown user in the following step. It never hurts to do it all the time. You may need to install a new mergemaster (cd src/usr.sbin/mergemaster && make Copied: user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh (from r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh Fri Jan 12 23:38:15 2018 (r327902, copy of r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh) @@ -0,0 +1,34 @@ +# +# CDDL HEADER START +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# +# CDDL HEADER END +# + +# +# Copyright (c) 2012 by Delphix. All rights reserved. +# + +# +# Reset an environment variable we already know to be set. +# Regression test for FreeBSD r327794. +# + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 + +$dtrace -q -Z -n doogle -xsetenv=PATH=/foo -c '/usr/bin/printenv PATH' + +exit $? Copied: user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh.out (from r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh.out) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh.out Fri Jan 12 23:38:15 2018 (r327902, copy of r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/env/tst.setenv3.ksh.out) @@ -0,0 +1,2 @@ +/foo + Copied: user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jailname.d (from r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jailname.d) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jailname.d Fri Jan 12 23:38:15 2018 (r327902, copy of r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jailname.d) @@ -0,0 +1,44 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright 2018 Domagoj Stolfa . + * + * This software was developed by BAE Systems, the University of Cambridge + * Computer Laboratory, and Memorial University under DARPA/AFRL contract + * FA8650-15-C-7558 ("CADETS"), as part of the DARPA Transparent Computing + * (TC) research program. + * + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * collect jailname at every fbt probe and at every firing of a + * high-frequency profile probe + */ + +fbt::: +{ + @a[jailname] = count(); +} + +profile-4999hz +{ + @a[jailname] = count(); +} + +tick-1sec +/n++ == 10/ +{ + exit(0); +} Copied: user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jid.d (from r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jid.d) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/jeff/numa/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jid.d Fri Jan 12 23:38:15 2018 (r327902, copy of r327901, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.jid.d) @@ -0,0 +1,44 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright 2018 Domagoj Stolfa . + * + * This software was developed by BAE Systems, the University of Cambridge + * Computer Laboratory, and Memorial University under DARPA/AFRL contract + * FA8650-15-C-7558 ("CADETS"), as part of the DARPA Transparent Computing + * (TC) research program. + * + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * collect jid at every fbt probe and at every firing of a + * high-frequency profile probe + */ + +fbt::: +{ + @a[jid] = count(); +} + +profile-4999hz +{ + @a[jid] = count(); +} + +tick-1sec +/n++ == 10/ +{ + exit(0); +} Modified: user/jeff/numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c ============================================================================== --- user/jeff/numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Fri Jan 12 23:38:15 2018 (r327902) @@ -313,6 +313,12 @@ static const dt_ident_t _dtrace_globals[] = { DT_VERS_1_5, &dt_idops_func, "string(int, void *)" }, { "ipl", DT_IDENT_SCALAR, 0, DIF_VAR_IPL, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "uint_t" }, +#ifdef __FreeBSD__ +{ "jailname", DT_IDENT_SCALAR, 0, DIF_VAR_JAILNAME, + DT_ATTR_STABCMN, DT_VERS_1_13, &dt_idops_type, "string" }, +{ "jid", DT_IDENT_SCALAR, 0, DIF_VAR_JID, DT_ATTR_STABCMN, DT_VERS_1_13, + &dt_idops_type, "int" }, +#endif { "json", DT_IDENT_FUNC, 0, DIF_SUBR_JSON, DT_ATTR_STABCMN, DT_VERS_1_11, &dt_idops_func, "string(const char *, const char *)" }, { "jstack", DT_IDENT_ACTFUNC, 0, DT_ACT_JSTACK, DT_ATTR_STABCMN, DT_VERS_1_0, @@ -528,10 +534,8 @@ static const dt_ident_t _dtrace_globals[] = { { "walltimestamp", DT_IDENT_SCALAR, 0, DIF_VAR_WALLTIMESTAMP, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "int64_t" }, -#ifdef illumos { "zonename", DT_IDENT_SCALAR, 0, DIF_VAR_ZONENAME, DT_ATTR_STABCMN, DT_VERS_1_0, &dt_idops_type, "string" }, -#endif #ifndef illumos { "cpu", DT_IDENT_SCALAR, 0, DIF_VAR_CPU, Modified: user/jeff/numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_options.c ============================================================================== --- user/jeff/numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_options.c Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/cddl/contrib/opensolaris/lib/libdtrace/common/dt_options.c Fri Jan 12 23:38:15 2018 (r327902) @@ -415,7 +415,7 @@ dt_opt_setenv(dtrace_hdl_t *dtp, const char *arg, uint { char **p; char *var; - int i; + int nvars; /* * We can't effectively set environment variables from #pragma lines @@ -430,7 +430,7 @@ dt_opt_setenv(dtrace_hdl_t *dtp, const char *arg, uint if (!option && strchr(arg, '=') != NULL) return (dt_set_errno(dtp, EDT_BADOPTVAL)); - for (i = 1, p = dtp->dt_proc_env; *p != NULL; i++, p++) + for (nvars = 0, p = dtp->dt_proc_env; *p != NULL; nvars++, p++) continue; for (p = dtp->dt_proc_env; *p != NULL; p++) { @@ -439,9 +439,9 @@ dt_opt_setenv(dtrace_hdl_t *dtp, const char *arg, uint var = *p + strlen(*p); if (strncmp(*p, arg, var - *p) == 0) { dt_free(dtp, *p); - *p = dtp->dt_proc_env[i - 1]; - dtp->dt_proc_env[i - 1] = NULL; - i--; + *p = dtp->dt_proc_env[nvars - 1]; + dtp->dt_proc_env[nvars - 1] = NULL; + nvars--; } } @@ -449,17 +449,18 @@ dt_opt_setenv(dtrace_hdl_t *dtp, const char *arg, uint if ((var = strdup(arg)) == NULL) return (dt_set_errno(dtp, EDT_NOMEM)); - if ((p = dt_alloc(dtp, sizeof (char *) * (i + 1))) == NULL) { + nvars++; + if ((p = dt_alloc(dtp, sizeof(char *) * (nvars + 1))) == NULL) { dt_free(dtp, var); return (dt_set_errno(dtp, EDT_NOMEM)); } - bcopy(dtp->dt_proc_env, p, sizeof (char *) * i); + bcopy(dtp->dt_proc_env, p, sizeof(char *) * nvars); dt_free(dtp, dtp->dt_proc_env); dtp->dt_proc_env = p; - dtp->dt_proc_env[i - 1] = var; - dtp->dt_proc_env[i] = NULL; + dtp->dt_proc_env[nvars - 1] = var; + dtp->dt_proc_env[nvars] = NULL; } return (0); Modified: user/jeff/numa/cddl/usr.sbin/dtrace/tests/common/env/Makefile ============================================================================== --- user/jeff/numa/cddl/usr.sbin/dtrace/tests/common/env/Makefile Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/cddl/usr.sbin/dtrace/tests/common/env/Makefile Fri Jan 12 23:38:15 2018 (r327902) @@ -15,6 +15,8 @@ ${PACKAGE}FILES= \ tst.setenv1.ksh.out \ tst.setenv2.ksh \ tst.setenv2.ksh.out \ + tst.setenv3.ksh \ + tst.setenv3.ksh.out \ tst.unsetenv1.ksh \ tst.unsetenv1.ksh.out \ tst.unsetenv2.ksh \ Modified: user/jeff/numa/cddl/usr.sbin/dtrace/tests/common/safety/Makefile ============================================================================== --- user/jeff/numa/cddl/usr.sbin/dtrace/tests/common/safety/Makefile Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/cddl/usr.sbin/dtrace/tests/common/safety/Makefile Fri Jan 12 23:38:15 2018 (r327902) @@ -19,6 +19,8 @@ ${PACKAGE}FILES= \ tst.gid.d \ tst.hton.d \ tst.index.d \ + tst.jailname.d \ + tst.jid.d \ tst.msgdsize.d \ tst.msgsize.d \ tst.null.d \ Modified: user/jeff/numa/contrib/gcc/unwind-dw2.c ============================================================================== --- user/jeff/numa/contrib/gcc/unwind-dw2.c Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/contrib/gcc/unwind-dw2.c Fri Jan 12 23:38:15 2018 (r327902) @@ -1393,16 +1393,7 @@ uw_advance_context (struct _Unwind_Context *context, _ static inline void init_dwarf_reg_size_table (void) { -/* - * ARM64TODO: http://llvm.org/pr22997 - * llvm 3.6 doesn't support __builtin_init_dwarf_reg_size_table on AArch64. - */ -#ifdef __aarch64__ - printf("Unimplemented: init_dwarf_reg_size_table\n"); - abort(); -#else __builtin_init_dwarf_reg_size_table (dwarf_reg_size_table); -#endif } static void Modified: user/jeff/numa/contrib/llvm/lib/Support/Unix/Memory.inc ============================================================================== --- user/jeff/numa/contrib/llvm/lib/Support/Unix/Memory.inc Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/contrib/llvm/lib/Support/Unix/Memory.inc Fri Jan 12 23:38:15 2018 (r327902) @@ -27,7 +27,7 @@ #if defined(__mips__) # if defined(__OpenBSD__) # include -# else +# elif !defined(__FreeBSD__) # include # endif #endif Modified: user/jeff/numa/etc/mtree/BSD.tests.dist ============================================================================== --- user/jeff/numa/etc/mtree/BSD.tests.dist Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/etc/mtree/BSD.tests.dist Fri Jan 12 23:38:15 2018 (r327902) @@ -536,6 +536,8 @@ usr.bin apply .. + awk + .. basename .. bmake @@ -733,6 +735,8 @@ uuencode .. uniq + .. + vmstat .. xargs .. Modified: user/jeff/numa/include/stdlib.h ============================================================================== --- user/jeff/numa/include/stdlib.h Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/include/stdlib.h Fri Jan 12 23:38:15 2018 (r327902) @@ -304,7 +304,7 @@ int radixsort(const unsigned char **, int, const unsi unsigned); void *reallocarray(void *, size_t, size_t) __result_use_check __alloc_size(2) __alloc_size(3); -void *reallocf(void *, size_t) __alloc_size(2); +void *reallocf(void *, size_t) __result_use_check __alloc_size(2); int rpmatch(const char *); void setprogname(const char *); int sradixsort(const unsigned char **, int, const unsigned char *, Modified: user/jeff/numa/lib/libcasper/services/cap_dns/cap_dns.3 ============================================================================== --- user/jeff/numa/lib/libcasper/services/cap_dns/cap_dns.3 Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/lib/libcasper/services/cap_dns/cap_dns.3 Fri Jan 12 23:38:15 2018 (r327902) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 8, 2018 +.Dd January 10, 2018 .Dt CAP_DNS 3 .Os .Sh NAME @@ -59,7 +59,7 @@ The functions .Fn cap_gethostbyname2 , .Fn cep_gethostbyaddr and -.Xr cap_getnameinfo +.Fn cap_getnameinfo are respectively equivalent to .Xr gethostbyname 2 , .Xr gethostbyname2 2 , Modified: user/jeff/numa/sbin/camcontrol/camcontrol.c ============================================================================== --- user/jeff/numa/sbin/camcontrol/camcontrol.c Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/sbin/camcontrol/camcontrol.c Fri Jan 12 23:38:15 2018 (r327902) @@ -275,6 +275,12 @@ camcontrol_optret getoption(struct camcontrol_opts *ta static int getdevlist(struct cam_device *device); #endif /* MINIMALISTIC */ static int getdevtree(int argc, char **argv, char *combinedopt); +static int print_dev_scsi(struct device_match_result *dev_result, char *tmpstr); +static int print_dev_ata(struct device_match_result *dev_result, char *tmpstr); +static int print_dev_semb(struct device_match_result *dev_result, char *tmpstr); +static int print_dev_mmcsd(struct device_match_result *dev_result, + char *tmpstr); +static int print_dev_nvme(struct device_match_result *dev_result, char *tmpstr); #ifndef MINIMALISTIC static int testunitready(struct cam_device *device, int task_attr, int retry_count, int timeout, int quiet); @@ -554,8 +560,7 @@ getdevtree(int argc, char **argv, char *combinedopt) } case DEV_MATCH_DEVICE: { struct device_match_result *dev_result; - char vendor[16], product[48], revision[16]; - char fw[5], tmpstr[256]; + char tmpstr[256]; if (busonly == 1) break; @@ -572,57 +577,36 @@ getdevtree(int argc, char **argv, char *combinedopt) skip_device = 0; if (dev_result->protocol == PROTO_SCSI) { - cam_strvis(vendor, dev_result->inq_data.vendor, - sizeof(dev_result->inq_data.vendor), - sizeof(vendor)); - cam_strvis(product, - dev_result->inq_data.product, - sizeof(dev_result->inq_data.product), - sizeof(product)); - cam_strvis(revision, - dev_result->inq_data.revision, - sizeof(dev_result->inq_data.revision), - sizeof(revision)); - sprintf(tmpstr, "<%s %s %s>", vendor, product, - revision); + if (print_dev_scsi(dev_result, + &tmpstr[0]) != 0) { + skip_device = 1; + break; + } } else if (dev_result->protocol == PROTO_ATA || dev_result->protocol == PROTO_SATAPM) { - cam_strvis(product, - dev_result->ident_data.model, - sizeof(dev_result->ident_data.model), - sizeof(product)); - cam_strvis(revision, - dev_result->ident_data.revision, - sizeof(dev_result->ident_data.revision), - sizeof(revision)); - sprintf(tmpstr, "<%s %s>", product, - revision); - } else if (dev_result->protocol == PROTO_MMCSD) { - if (strlen(dev_result->mmc_ident_data.model) > 0) { - sprintf(tmpstr, "<%s>", dev_result->mmc_ident_data.model); - } else { - sprintf(tmpstr, "<%s card>", - dev_result->mmc_ident_data.card_features & CARD_FEATURE_SDIO ? "SDIO" : "unknown"); + if (print_dev_ata(dev_result, + &tmpstr[0]) != 0) { + skip_device = 1; + break; } + } else if (dev_result->protocol == PROTO_MMCSD){ + if (print_dev_mmcsd(dev_result, + &tmpstr[0]) != 0) { + skip_device = 1; + break; + } } else if (dev_result->protocol == PROTO_SEMB) { - struct sep_identify_data *sid; - - sid = (struct sep_identify_data *) - &dev_result->ident_data; - cam_strvis(vendor, sid->vendor_id, - sizeof(sid->vendor_id), - sizeof(vendor)); - cam_strvis(product, sid->product_id, - sizeof(sid->product_id), - sizeof(product)); - cam_strvis(revision, sid->product_rev, - sizeof(sid->product_rev), - sizeof(revision)); - cam_strvis(fw, sid->firmware_rev, - sizeof(sid->firmware_rev), - sizeof(fw)); - sprintf(tmpstr, "<%s %s %s %s>", - vendor, product, revision, fw); + if (print_dev_semb(dev_result, + &tmpstr[0]) != 0) { + skip_device = 1; + break; + } + } else if (dev_result->protocol == PROTO_NVME) { + if (print_dev_nvme(dev_result, + &tmpstr[0]) != 0) { + skip_device = 1; + break; + } } else { sprintf(tmpstr, "<>"); } @@ -676,6 +660,122 @@ getdevtree(int argc, char **argv, char *combinedopt) close(fd); return (error); +} + +static int +print_dev_scsi(struct device_match_result *dev_result, char *tmpstr) +{ + char vendor[16], product[48], revision[16]; + + cam_strvis(vendor, dev_result->inq_data.vendor, + sizeof(dev_result->inq_data.vendor), sizeof(vendor)); + cam_strvis(product, dev_result->inq_data.product, + sizeof(dev_result->inq_data.product), sizeof(product)); + cam_strvis(revision, dev_result->inq_data.revision, + sizeof(dev_result->inq_data.revision), sizeof(revision)); + sprintf(tmpstr, "<%s %s %s>", vendor, product, revision); + + return (0); +} + +static int +print_dev_ata(struct device_match_result *dev_result, char *tmpstr) +{ + char product[48], revision[16]; + + cam_strvis(product, dev_result->ident_data.model, + sizeof(dev_result->ident_data.model), sizeof(product)); + cam_strvis(revision, dev_result->ident_data.revision, + sizeof(dev_result->ident_data.revision), sizeof(revision)); + sprintf(tmpstr, "<%s %s>", product, revision); + + return (0); +} + +static int +print_dev_semb(struct device_match_result *dev_result, char *tmpstr) +{ + struct sep_identify_data *sid; + char vendor[16], product[48], revision[16], fw[5]; + + sid = (struct sep_identify_data *)&dev_result->ident_data; + cam_strvis(vendor, sid->vendor_id, + sizeof(sid->vendor_id), sizeof(vendor)); + cam_strvis(product, sid->product_id, + sizeof(sid->product_id), sizeof(product)); + cam_strvis(revision, sid->product_rev, + sizeof(sid->product_rev), sizeof(revision)); + cam_strvis(fw, sid->firmware_rev, + sizeof(sid->firmware_rev), sizeof(fw)); + sprintf(tmpstr, "<%s %s %s %s>", vendor, product, revision, fw); + + return (0); +} + +static int +print_dev_mmcsd(struct device_match_result *dev_result, char *tmpstr) +{ + + if (strlen(dev_result->mmc_ident_data.model) > 0) { + sprintf(tmpstr, "<%s>", dev_result->mmc_ident_data.model); + } else { + sprintf(tmpstr, "<%s card>", + dev_result->mmc_ident_data.card_features & + CARD_FEATURE_SDIO ? "SDIO" : "unknown"); + } + return (0); +} + +static int +print_dev_nvme(struct device_match_result *dev_result, char *tmpstr) +{ + union ccb *ccb; + struct ccb_dev_advinfo *advi; + struct cam_device *dev; + struct nvme_controller_data cdata; + char vendor[64], product[64]; + + dev = cam_open_btl(dev_result->path_id, dev_result->target_id, + dev_result->target_lun, O_RDWR, NULL); + if (dev == NULL) { + warnx("%s", cam_errbuf); + return (1); + } + + ccb = cam_getccb(dev); + if (ccb == NULL) { + warnx("couldn't allocate CCB"); + cam_close_device(dev); + return (1); + } + + advi = &ccb->cdai; + advi->ccb_h.flags = CAM_DIR_IN; + advi->ccb_h.func_code = XPT_DEV_ADVINFO; + advi->flags = CDAI_FLAG_NONE; + advi->buftype = CDAI_TYPE_NVME_CNTRL; + advi->bufsiz = sizeof(struct nvme_controller_data); + advi->buf = (uint8_t *)&cdata; + + if (cam_send_ccb(dev, ccb) < 0) { + warn("error sending CAMIOCOMMAND ioctl"); + cam_freeccb(ccb); + cam_close_device(dev); + return(1); + } + if (advi->ccb_h.status != CAM_REQ_CMP) { + warnx("got CAM error %#x", advi->ccb_h.status); + cam_freeccb(ccb); + cam_close_device(dev); + return(1); + } + cam_strvis(vendor, cdata.mn, sizeof(cdata.mn), sizeof(vendor)); + cam_strvis(product, cdata.fr, sizeof(cdata.fr), sizeof(product)); + sprintf(tmpstr, "<%s %s>", vendor, product); + + cam_freeccb(ccb); + cam_close_device(dev); + return (0); } #ifndef MINIMALISTIC Modified: user/jeff/numa/sbin/dhclient/parse.c ============================================================================== --- user/jeff/numa/sbin/dhclient/parse.c Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/sbin/dhclient/parse.c Fri Jan 12 23:38:15 2018 (r327902) @@ -45,6 +45,8 @@ #include __FBSDID("$FreeBSD$"); +#include + #include "dhcpd.h" #include "dhctoken.h" Modified: user/jeff/numa/share/man/man5/src.conf.5 ============================================================================== --- user/jeff/numa/share/man/man5/src.conf.5 Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/share/man/man5/src.conf.5 Fri Jan 12 23:38:15 2018 (r327902) @@ -1,6 +1,6 @@ .\" DO NOT EDIT-- this file is generated by tools/build/options/makeman. .\" $FreeBSD$ -.Dd November 2, 2017 +.Dd January 11, 2018 .Dt SRC.CONF 5 .Os .Sh NAME @@ -970,12 +970,12 @@ To be able to build the system, either Binutils or LLD enabled unless an alternate linker is provided via XLD. .Pp This is a default setting on -amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. +arm/arm, arm/armeb, arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. .It Va WITH_LLD_BOOTSTRAP Set to build the LLD linker during the bootstrap phase of the build. .Pp This is a default setting on -arm64/aarch64. +amd64/amd64, arm64/aarch64 and i386/i386. .It Va WITHOUT_LLD_IS_LD Set to use GNU binutils ld as the system linker, instead of LLVM's LLD. .Pp @@ -996,6 +996,11 @@ Set to use LLVM's libunwind stack unwinder (instead of .Pp This is a default setting on amd64/amd64, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf. +.It Va WITH_LOADER_FIREWIRE +Enable firewire support in /boot/loader and /boot/zfsloader on x86. +This option is a nop on all other platforms. +.It Va WITHOUT_LOADER_GELI +Disable inclusion of GELI crypto support in the boot chain binaries. .It Va WITHOUT_LOCALES Set to not build localization files; see .Xr locale 1 . Modified: user/jeff/numa/share/man/man9/Makefile ============================================================================== --- user/jeff/numa/share/man/man9/Makefile Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/share/man/man9/Makefile Fri Jan 12 23:38:15 2018 (r327902) @@ -1262,6 +1262,7 @@ MLINKS+=make_dev.9 destroy_dev.9 \ make_dev.9 make_dev_p.9 \ make_dev.9 make_dev_s.9 MLINKS+=malloc.9 free.9 \ + malloc.9 mallocarray.9 \ malloc.9 MALLOC_DECLARE.9 \ malloc.9 MALLOC_DEFINE.9 \ malloc.9 realloc.9 \ Modified: user/jeff/numa/share/man/man9/malloc.9 ============================================================================== --- user/jeff/numa/share/man/man9/malloc.9 Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/share/man/man9/malloc.9 Fri Jan 12 23:38:15 2018 (r327902) @@ -29,7 +29,7 @@ .\" $NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp $ .\" $FreeBSD$ .\" -.Dd November 19, 2015 +.Dd January 10, 2018 .Dt MALLOC 9 .Os .Sh NAME @@ -154,6 +154,7 @@ If the request cannot be immediately fulfilled, the cu to sleep to wait for resources to be released by other processes. The .Fn malloc , +.Fn mallocarray , .Fn realloc , and .Fn reallocf @@ -162,15 +163,13 @@ functions cannot return if .Dv M_WAITOK is specified. -The -.Fn mallocarray -function can return -.Dv NULL -if the multiplication of +If the multiplication of .Fa nmemb and .Fa size -would cause an integer overflow. +would cause an integer overflow, the +.Fn mallocarray +function induces a panic. .It Dv M_USE_RESERVE Indicates that the system can use its reserve of memory to satisfy the request. Modified: user/jeff/numa/share/mk/src.opts.mk ============================================================================== --- user/jeff/numa/share/mk/src.opts.mk Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/share/mk/src.opts.mk Fri Jan 12 23:38:15 2018 (r327902) @@ -253,6 +253,9 @@ __DEFAULT_NO_OPTIONS+=LLVM_LIBUNWIND .endif .if ${__T} == "aarch64" __DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD +.elif ${__T} == "amd64" || ${__T} == "i386" +__DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP +__DEFAULT_NO_OPTIONS+=LLD_IS_LD .else __DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD .endif Modified: user/jeff/numa/share/mk/src.sys.obj.mk ============================================================================== --- user/jeff/numa/share/mk/src.sys.obj.mk Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/share/mk/src.sys.obj.mk Fri Jan 12 23:38:15 2018 (r327902) @@ -132,7 +132,8 @@ __objdir:= ${MAKEOBJDIR} .if ${.MAKE.LEVEL} == 0 && \ ${MK_AUTO_OBJ} == "no" && empty(.MAKEOVERRIDES:MMK_AUTO_OBJ) && \ !defined(WITHOUT_AUTO_OBJ) && !make(showconfig) && !make(print-dir) && \ - !defined(NO_OBJ) + !defined(NO_OBJ) && \ + empty(RELDIR:Msys/*/compile/*) # Find the last existing directory component and check if we can write to it. # If the last component is a symlink then recurse on the new path. CheckAutoObj= \ Modified: user/jeff/numa/stand/common/reloc_elf.c ============================================================================== --- user/jeff/numa/stand/common/reloc_elf.c Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/stand/common/reloc_elf.c Fri Jan 12 23:38:15 2018 (r327902) @@ -115,6 +115,7 @@ __elfN(reloc)(struct elf_file *ef, symaddr_fn *symaddr /* XXX, definitions not available on i386. */ #define R_X86_64_64 1 #define R_X86_64_RELATIVE 8 +#define R_X86_64_IRELATIVE 37 switch (rtype) { case R_X86_64_64: /* S + A */ @@ -129,6 +130,9 @@ __elfN(reloc)(struct elf_file *ef, symaddr_fn *symaddr val = addr; *where = val; break; + case R_X86_64_IRELATIVE: + /* leave it to kernel */ + break; default: printf("\nunhandled relocation type %u\n", (u_int)rtype); return (EFTYPE); @@ -173,6 +177,7 @@ __elfN(reloc)(struct elf_file *ef, symaddr_fn *symaddr #define R_386_32 1 /* Add symbol value. */ #define R_386_GLOB_DAT 6 /* Set GOT entry to data address. */ #define R_386_RELATIVE 8 /* Add load address of shared object. */ +#define R_386_IRELATIVE 42 switch (rtype) { case R_386_RELATIVE: @@ -185,6 +190,9 @@ __elfN(reloc)(struct elf_file *ef, symaddr_fn *symaddr return (ESRCH); val = addr + addend; *where = val; + break; + case R_386_IRELATIVE: + /* leave it to kernel */ break; default: printf("\nunhandled relocation type %u\n", (u_int)rtype); Modified: user/jeff/numa/stand/efi/boot1/Makefile ============================================================================== --- user/jeff/numa/stand/efi/boot1/Makefile Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/stand/efi/boot1/Makefile Fri Jan 12 23:38:15 2018 (r327902) @@ -110,7 +110,7 @@ boot1.efi: ${PROG} # The following inserts our objects into a template FAT file system # created by generate-fat.sh -.include "${.CURDIR}/Makefile.fat" +.include "Makefile.fat" boot1.efifat: boot1.efi @set -- `ls -l ${.ALLSRC}`; \ @@ -120,7 +120,7 @@ boot1.efifat: boot1.efi exit 1; \ fi echo ${.OBJDIR} - xz -d -c ${.CURDIR}/fat-${MACHINE}.tmpl.xz > ${.TARGET} + xz -d -c ${BOOTSRC}/efi/boot1/fat-${MACHINE}.tmpl.xz > ${.TARGET} ${DD} if=${.ALLSRC} of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc CLEANFILES+= boot1.efi boot1.efifat Modified: user/jeff/numa/stand/efi/boot1/boot1.c ============================================================================== --- user/jeff/numa/stand/efi/boot1/boot1.c Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/stand/efi/boot1/boot1.c Fri Jan 12 23:38:15 2018 (r327902) @@ -55,6 +55,7 @@ static EFI_GUID DevicePathGUID = DEVICE_PATH_PROTOCOL; static EFI_GUID LoadedImageGUID = LOADED_IMAGE_PROTOCOL; static EFI_GUID ConsoleControlGUID = EFI_CONSOLE_CONTROL_PROTOCOL_GUID; static EFI_GUID FreeBSDBootVarGUID = FREEBSD_BOOT_VAR_GUID; +static EFI_GUID GlobalBootVarGUID = UEFI_BOOT_VAR_GUID; /* * Provide Malloc / Free backed by EFIs AllocatePool / FreePool which ensures @@ -80,6 +81,25 @@ Free(void *buf, const char *file __unused, int line __ } static EFI_STATUS +efi_getenv(EFI_GUID *g, const char *v, void *data, size_t *len) +{ + size_t ul; + CHAR16 *uv; + UINT32 attr; + UINTN dl; + EFI_STATUS rv; + + utf8_to_ucs2(v, &uv, &ul); + if (uv == NULL) + return (EFI_OUT_OF_RESOURCES); + dl = *len; + rv = RS->GetVariable(uv, g, &attr, &dl, data); + if (rv == EFI_SUCCESS) + *len = dl; + return (rv); +} + +static EFI_STATUS efi_setenv_freebsd_wcs(const char *varname, CHAR16 *valstr) { CHAR16 *var = NULL; @@ -411,6 +431,9 @@ efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE *Xsystab) SIMPLE_TEXT_OUTPUT_INTERFACE *conout = NULL; UINTN i, max_dim, best_mode, cols, rows, hsize, nhandles; CHAR16 *text; + UINT16 boot_current; + size_t sz; + UINT16 boot_order[100]; /* Basic initialization*/ ST = Xsystab; @@ -480,12 +503,32 @@ efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE *Xsystab) } } + boot_current = 0; + sz = sizeof(boot_current); + efi_getenv(&GlobalBootVarGUID, "BootCurrent", &boot_current, &sz); + printf(" BootCurrent: %04x\n", boot_current); + + sz = sizeof(boot_order); + efi_getenv(&GlobalBootVarGUID, "BootOrder", &boot_order, &sz); + printf(" BootOrder:"); + for (i = 0; i < sz / sizeof(boot_order[0]); i++) + printf(" %04x", boot_order[i]); + printf("\n"); + +#ifdef TEST_FAILURE + /* + * For testing failover scenarios, it's nice to be able to fail fast. + * Define TEST_FAILURE to create a boot1.efi that always fails after + * reporting the boot manager protocol details. + */ + BS->Exit(IH, EFI_OUT_OF_RESOURCES, 0, NULL); +#endif + /* Get all the device handles */ hsize = (UINTN)NUM_HANDLES_INIT * sizeof(EFI_HANDLE); handles = malloc(hsize); - if (handles == NULL) { + if (handles == NULL) printf("Failed to allocate %d handles\n", NUM_HANDLES_INIT); - } status = BS->LocateHandle(ByProtocol, &BlockIoProtocolGUID, NULL, &hsize, handles); Modified: user/jeff/numa/stand/efi/include/efi.h ============================================================================== --- user/jeff/numa/stand/efi/include/efi.h Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/stand/efi/include/efi.h Fri Jan 12 23:38:15 2018 (r327902) @@ -59,5 +59,7 @@ Revision History */ #define FREEBSD_BOOT_VAR_GUID \ { 0xCFEE69AD, 0xA0DE, 0x47A9, {0x93, 0xA8, 0xF6, 0x31, 0x06, 0xF8, 0xAE, 0x99} } +#define UEFI_BOOT_VAR_GUID \ + { 0x8be4df61, 0x93ca, 0x11d2, {0xaa, 0x0d, 0x00, 0xe0, 0x98, 0x03, 0x2b, 0x8c} } #endif Modified: user/jeff/numa/stand/libsa/net.h ============================================================================== --- user/jeff/numa/stand/libsa/net.h Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/stand/libsa/net.h Fri Jan 12 23:38:15 2018 (r327902) @@ -128,6 +128,4 @@ char *inet_ntoa(struct in_addr); char *intoa(n_long); /* similar to inet_ntoa */ n_long inet_addr(char *); -/* Machine-dependent functions: */ -time_t getsecs(void); #endif /* ! _STAND_NET_H */ Modified: user/jeff/numa/stand/libsa/stand.h ============================================================================== --- user/jeff/numa/stand/libsa/stand.h Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/stand/libsa/stand.h Fri Jan 12 23:38:15 2018 (r327902) @@ -394,6 +394,7 @@ extern void putchar(int); extern int devopen(struct open_file *, const char *, const char **); extern int devclose(struct open_file *f); extern void panic(const char *, ...) __dead2 __printflike(1, 2); +extern time_t getsecs(void); extern struct fs_ops *file_system[]; extern struct fs_ops *exclusive_file_system; extern struct devsw *devsw[]; Modified: user/jeff/numa/sys/amd64/amd64/cpu_switch.S ============================================================================== --- user/jeff/numa/sys/amd64/amd64/cpu_switch.S Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/sys/amd64/amd64/cpu_switch.S Fri Jan 12 23:38:15 2018 (r327902) @@ -215,7 +215,7 @@ done_tss: movq %r8,PCPU(RSP0) movq %r8,PCPU(CURPCB) /* Update the TSS_RSP0 pointer for the next interrupt */ - movq %r8,COMMON_TSS_RSP0(%rdx) + movq %r8,TSS_RSP0(%rdx) movq %r12,PCPU(CURTHREAD) /* into next thread */ /* Test if debug registers should be restored. */ Modified: user/jeff/numa/sys/amd64/amd64/exception.S ============================================================================== --- user/jeff/numa/sys/amd64/amd64/exception.S Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/sys/amd64/amd64/exception.S Fri Jan 12 23:38:15 2018 (r327902) @@ -410,7 +410,6 @@ IDTVEC(fast_syscall) movq %r14,TF_R14(%rsp) /* C preserved */ movq %r15,TF_R15(%rsp) /* C preserved */ movl $TF_HASSEGS,TF_FLAGS(%rsp) - cld FAKE_MCOUNT(TF_RIP(%rsp)) movq PCPU(CURTHREAD),%rdi movq %rsp,TD_FRAME(%rdi) Modified: user/jeff/numa/sys/amd64/amd64/genassym.c ============================================================================== --- user/jeff/numa/sys/amd64/amd64/genassym.c Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/sys/amd64/amd64/genassym.c Fri Jan 12 23:38:15 2018 (r327902) @@ -153,7 +153,7 @@ ASSYM(PCB_FULL_IRET, PCB_FULL_IRET); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); -ASSYM(COMMON_TSS_RSP0, offsetof(struct amd64tss, tss_rsp0)); +ASSYM(TSS_RSP0, offsetof(struct amd64tss, tss_rsp0)); ASSYM(TF_R15, offsetof(struct trapframe, tf_r15)); ASSYM(TF_R14, offsetof(struct trapframe, tf_r14)); Modified: user/jeff/numa/sys/amd64/amd64/machdep.c ============================================================================== --- user/jeff/numa/sys/amd64/amd64/machdep.c Fri Jan 12 23:34:16 2018 (r327901) +++ user/jeff/numa/sys/amd64/amd64/machdep.c Fri Jan 12 23:38:15 2018 (r327902) @@ -1512,6 +1512,22 @@ amd64_kdb_init(void) #endif } +/* Set up the fast syscall stuff */ +void +amd64_conf_fast_syscall(void) +{ + uint64_t msr; + + msr = rdmsr(MSR_EFER) | EFER_SCE; + wrmsr(MSR_EFER, msr); *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***