测试PCIe_replay (pcie-mtr-no-dump-replay)

一:打开串口log机器192.168.199.193 !!!注意一定是串口机器

首先搞清楚,机器log(即 host log)<通过九插针的读取>;; 扩展卡log(即 mcu log)<通过USB线读取>

1 . 1 查看ccdcomx对应的ttyUSBx,ccdcom对应固定的机器,而ttyUSBx与之ccdcomx对应关系会变化。

sdv5->ccdcom0;;sdv3->ccdcom1;;sdv8->ccdcom2

ll /dev/
[root@cicada-serial-port ~]# ll /dev/
total 0
crw-------  1 root root     10, 235 Mar 26 01:50 autofs
drwxr-xr-x  2 root root         160 Mar 26 01:50 block
drwxr-xr-x  2 root root          60 Mar 26 01:50 bsg
crw-------  1 root root     10, 234 Mar 26 01:50 btrfs-control
drwxr-xr-x  3 root root          60 Mar 26 01:50 bus
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom0 -> ttyUSB1
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom1 -> ttyUSB0
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom10 -> ttyUSB7
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom11 -> ttyUSB5
lrwxrwxrwx  1 root root           8 Mar 26 01:50 ccdcom12 -> ttyUSB11
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom13 -> ttyUSB9
lrwxrwxrwx  1 root root           8 Mar 26 01:50 ccdcom14 -> ttyUSB14
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom2 -> ttyUSB4
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom3 -> ttyUSB2
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom4 -> ttyUSB8
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom5 -> ttyUSB6
lrwxrwxrwx  1 root root           8 Mar 26 01:50 ccdcom6 -> ttyUSB12
lrwxrwxrwx  1 root root           8 Mar 26 01:50 ccdcom7 -> ttyUSB10
lrwxrwxrwx  1 root root           7 Mar 26 01:50 ccdcom8 -> ttyUSB3
lrwxrwxrwx  1 root root           8 Mar 26 01:50 ccdcom9 -> ttyUSB13

1 . 2 知道机器对应的ttyUSBx,所抓的log是机器log(host log)

假设通过ll /dev/ 查询出来知道ccdcom0对应的是ttyUSB3

minicom -D /dev/ttyUSB3 -b 115200 -C 2017-12-19-pcie-host.log

1 . 3 通过拔插扩展卡上的USB,可以知道对应的扩展卡log(mcu log)对应的ttyUSBx

ls /dev/ttyUSB* 看看缺少了哪个,就可以确定了比如说是USB5

minicom -D /dev/ttyUSB5 -b 9600 -C 2017-12-19-pcie-mcu.log

二:修改Kernel Cmdline

2 . 1 开机,进入i_lab,执行以下命令:

su root

2 . 2 修改grub

vim  /boot/efi/EFI/redhat/grub.cfg

2 . 3 进行修改

 在 linuxefi /vmlinuz 的后面修改配置。

三:安装rpm包

3 . 1 查看已安装的rpm包

rpm -qa | grep kvm 

3 . 2 如果上一步有已有的rpm包,就删除已有的

rpm -e kvm-3.10.0-f68c1e4c_3c4269a6_20171109.x86_64 

3 . 3 获取了最新的rpm包

wget http://cicada-master.sh.intel.com/kvm-3.10.0-ff907d18_3c4269a6_20171114.x86_64.rpm 《注意更换新地址》

3 . 4 安装最新的rpm包

rpm -ivh kvm-3.10.0-ff907d18_3c4269a6_20171114-weekly-release.x86_64.rpm 《换地址》

3 . 5 .如果报错的话请安装

yum install ***

四:隐藏网卡

4 . 1 执行如下命令,查看设备信息的BDF号:

lspci | grep Eth

4 . 2 在自己的当前目录下生成一个.qcow文件

qemu-img create -b  /share/xvs/img/ia32e_rhel7u3_kvm.img -f qcow2 ia32e_rhel7u3_pcm.qcow

4 . 3 在/root目录下拷贝一个vfio-pci.sh到当前目录下

scp /root/vfio-pci.sh .

4 . 4 当前目录下存在ia32e_rhel7u3_pcm.qcow与 vfio-pci.sh两个文件,执行如下命令,隐藏BDF号,之后在当前端口就看不到这个BDF号。

!!!注意如果网卡是710、550就必须隐藏两个。!!!

./vfio-pci.sh -h 88:00.0
./vfio-pci.sh -h 88:00.1

五:起Guest

5 . 1 起guest,输入以下命令

qemu-system-x86_64 -enable-kvm -m 4096 -smp 1 -device vfio-pci,host=88:00.0  -cpu Broadwell,-avx,-avx2 -M q35 -hda  ia32e_rhel7u3_workload.qcow  -monitor stdio   

5 . 2 如果guest起来成功,在i_lab中输入

vncviewer :5900

5 . 3 在起来的guest(vncviewer :5900)中获取IP

dhclient

5 . 4 运行netserver

如果没有netserver,可以从43机器上拷贝/usr/local/bin/netserver
!!! 必须把43机器上的/usr/local/bin/netperf也拷贝过来!!!

./netserver

六 : 在Xmoban开启一个终端,连接到host

6 . 1 直接ls,查看里面是否有auto_netperf,如果有打开查看,如果没有,进行新建,里面代码如下:

	set -x
	IP=$1
	while [ 1 ]
	do
	#echo jl
	for b in 32 64 128 256 512 1024 1460 2048 4096 8192  9000 16384 32768  65495 65507
	
	do ./netperf -t TCP_STREAM -f m -H $IP -P 0 -l 10 -- -m $b
	
	done
	
	for b in 32 64 128 256 512 1024 1460 2048 4096 8192  9000 16384 32768  65495 65507
	
	do ./netperf -t UDP_STREAM -f m -H $IP -P 0 -l 10 -- -m $b
	
	done
	
	sleep 10
	done

6 . 2 然后执行脚本,开始测试

./auto_netperf 192.168.199.7

192.168.199.7的地址是起来的guest里面的IP地址

七 : 如何查看cmdline

 cat /proc/cmdline