Server IP : 13.213.54.232 / Your IP : 216.73.217.11 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ip-172-31-17-110 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 7.1.33-67+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/modules/6.8.0-1029-aws/build/tools/testing/selftests/rcutorture/bin/ |
Upload File : |
#!/bin/sh # SPDX-License-Identifier: GPL-2.0+ # # Produce awk statements roughly depicting the system's CPU and cache # layout. If the required information is not available, produce # error messages as awk comments. Successful exit regardless. # # Usage: kvm-assign-cpus.sh /path/to/sysfs T="`mktemp -d ${TMPDIR-/tmp}/kvm-assign-cpus.sh.XXXXXX`" trap 'rm -rf $T' 0 2 sysfsdir=${1-/sys/devices/system/node} if ! cd "$sysfsdir" > $T/msg 2>&1 then sed -e 's/^/# /' < $T/msg exit 0 fi nodelist="`ls -d node*`" for i in node* do if ! test -d $i/ then echo "# Not a directory: $sysfsdir/node*" exit 0 fi for j in $i/cpu*/cache/index* do if ! test -d $j/ then echo "# Not a directory: $sysfsdir/$j" exit 0 else break fi done indexlist="`ls -d $i/cpu* | grep 'cpu[0-9][0-9]*' | head -1 | sed -e 's,^.*$,ls -d &/cache/index*,' | sh | sed -e 's,^.*/,,'`" break done for i in node*/cpu*/cache/index*/shared_cpu_list do if ! test -f $i then echo "# Not a file: $sysfsdir/$i" exit 0 else break fi done firstshared= for i in $indexlist do rm -f $T/cpulist for n in node* do f="$n/cpu*/cache/$i/shared_cpu_list" if ! cat $f > $T/msg 2>&1 then sed -e 's/^/# /' < $T/msg exit 0 fi cat $f >> $T/cpulist done if grep -q '[-,]' $T/cpulist then if test -z "$firstshared" then firstshared="$i" fi fi done if test -z "$firstshared" then splitindex="`echo $indexlist | sed -e 's/ .*$//'`" else splitindex="$firstshared" fi nodenum=0 for n in node* do cat $n/cpu*/cache/$splitindex/shared_cpu_list | sort -u -k1n | awk -v nodenum="$nodenum" ' BEGIN { idx = 0; } { nlists = split($0, cpulists, ","); for (i = 1; i <= nlists; i++) { listsize = split(cpulists[i], cpus, "-"); if (listsize == 1) cpus[2] = cpus[1]; for (j = cpus[1]; j <= cpus[2]; j++) { print "cpu[" nodenum "][" idx "] = " j ";"; idx++; } } } END { print "nodecpus[" nodenum "] = " idx ";"; }' nodenum=`expr $nodenum + 1` done echo "numnodes = $nodenum;"