178 Commits

Author SHA1 Message Date
Ben Walker
dbbada7645 Add common C++ file extensions to astyle check
Change-Id: Ie10edf0413c4090fa7fc49a47749014bf7239896
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/365081
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-06-13 11:38:06 -04:00
cunyinch
c15ceac1a5 bdev/error: Change the global error information to per bdev.
Change-Id: Iea492a36d23caa5d514f2c80e168486f7f616fda
Signed-off-by: cunyinch <cunyin.chang@intel.com>
Reviewed-on: https://review.gerrithub.io/363676
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-06-08 19:25:10 -04:00
Seth Howell
aabf253940 nvme.sh: add multiprocess test flag.
Change-Id: I1a129a41f76586404c6a7ef226a42163defdb612
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/364677
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-06-08 15:41:13 -04:00
Daniel Verkamp
e889c6e715 autotest: backtrace all threads of core dumps
Change-Id: I709d0d9fb674e1276124290113d52695f2679d90
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/364326
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-06-07 11:38:36 -04:00
Daniel Verkamp
1573df0f27 genconfig.py: use print() for Python 3 compat
Change-Id: I25a6374a4485829c0509b7e820f345c74bb1fda7
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/363488
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-06-02 19:46:47 -04:00
Seth Howell
60145e2cc9 autobuild.sh && autotest_common.sh: added configuration flags for valgrind and scan-build.
Change-Id: I368d0c265c588887fb0cda1bfcb9b77d919d4f8b
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/363303
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-06-01 12:14:39 -04:00
Ben Walker
be186f641e fio: Add a script to prep a system for benchmarks
Also update the example fio file

Change-Id: I2a9074d524072e95340cc0e87041e87e3bb7d4f8
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/362069
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-05-31 04:00:41 -04:00
Jim Harris
675dc02b81 test/app/stub: create sentinel file when init complete
This is more reliable than checking for the DPDK generated
/var/run/*config file, and is not DPDK dependent.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Iadaba1c715e6fe2aafd7375831961b79ae31714a

Reviewed-on: https://review.gerrithub.io/362628
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-05-26 12:14:19 -04:00
Jim Harris
a8e1295d4b test/iscsi_tgt: use stub application
The stub application will ensure that each
iSCSI test does not need to reinitialized DPDK
memory and NVMe devices.  This drastically
cuts down on the amount of time needed to run
all of the iscsi_tgt tests.

While here, add a new common ISCSI_TEST_CORE_MASK
shell variable, eliminating a bunch of copies of
the 0xFFFF core mask, and ensuring the stub application
chooses a core mask that overlaps all of the iscsi_tgt
test cases.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ifae73276923258ff64370ae42e19cf1a4a2c2212

Reviewed-on: https://review.gerrithub.io/362454
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-05-25 16:55:03 -04:00
Paul Luse
fadfd84920 vagrant: minor tweaks
Update readme files and startup scripts

Change-Id: Ia42269d04db9e9338f6adcaaae0d0d44c18e0e5c
Signed-off-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/362257
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-05-25 13:52:25 -04:00
Daniel Verkamp
58ed368569 autotest.sh: add test config flag for unittest.sh
Change-Id: I01b3e9243674b349dda42df896f7332d168f940f
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/362390
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-05-24 12:58:01 -04:00
Karol Latecki
69d3eba0f3 scripts/setup.sh: add hugepage group write permission
Adding group write permission is needed in case of using vfio
driver and using libvirtd for vm provisioning to avoid
permission errors.

Change-Id: I5348e74c65bd8639071c1a2a164f28849dde9678
Signed-off-by: Karol Latecki <karolx.latecki@intel.com>
2017-05-18 14:04:52 -07:00
Cunyin Chang
32b4ab71a2 bdev/error: Add new bdev/error to inject errors in bdev layer.
Change-Id: I3c68cb5911b3662dbb35f551dc291d5ebdd84bf6
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2017-05-18 07:56:14 -07:00
Dariusz Stojaczyk
679e2831bd vhost: added rpc commands to remove vhost controllers and devices
Added new rpc commands together with underlying vhost API and tests.

Change-Id: Ib9c6a530d0909193ea5115aaac4920c44f39613c
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
2017-05-18 01:01:46 -07:00
Jim Harris
737b1b571b build: add dpdk as a submodule
This will allow a git clone to default to an SPDK-specific
version of the DPDK repository.  Users can still override
to use a separate DPDK repository/installation with the
--with-dpdk configure script options.

While here, remove gzip option for the git-archive operations
in autopackage.sh.  We need to add a git-archive for the DPDK
submodule if we are using it, and compressing at -9 adds a lot
of unnecessary time.  Since we are not archiving these packages,
there is no need to compress them.  Also explicitly disable
coverage and ubsan for the autopackage build, since this build
is only to test compilation and is not actually used for any
test execution.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I3cf8a2ed984003a175cdece6542636ede8cb2479
2017-05-17 09:49:27 -07:00
Jim Harris
4eafea0360 bdev: add a null bdev module
Also change the discovery/nvmf.sh test to use it.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I56bce9a84bd46f13b6d4f34da81abf23413f2598
2017-05-15 14:00:37 -07:00
Jim Harris
54a5aba7ee detect_cc.sh: further fix CC_TYPE generation
FreeBSD clang prepends "FreeBSD" before clang in the
version string, so further fixes are needed.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I7bfc37322483b97443985f1103ff753d1b18a87a
2017-05-11 16:45:24 -07:00
Daniel Verkamp
4325814761 scripts/detect_cc.sh: make C vs C++ warning non-fatal
Even if we detect that $CC and $CXX are different types, we should
continue so that mk/cc.mk is still generated.

Change-Id: I551e2d9149ea982d3c9973dfc5f2557f12fbc337
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-11 13:46:46 -07:00
Jim Harris
3510268bf7 detect_cc.sh: fix CC_TYPE generation
Some compilers will emit version info with a --with-pkgversion
parameter.  So grep for "version" with -w.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I7bfc37322483b97443985f1103ff753d1b18a879
2017-05-11 10:22:08 -07:00
Daniel Verkamp
becdc9a73d scripts/detect_cc.sh: add CC_TYPE to mk/cc.mk
Change-Id: I5d627629d545c4d9fe366f638bbeb812bc3add95
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-10 13:46:08 -07:00
Daniel Verkamp
5d6509e008 scripts/detect_cc.sh: fix indentation
Use tabs consistently.

Change-Id: I4d50f553047105f0e0b4859a20e93d275494aff0
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-10 13:44:23 -07:00
Daniel Verkamp
6d6d1161c7 build: add CONFIG_LTO to enable link-time optimization
Change-Id: I9546d715b8d2ca3ebf46183bdbaa58e8aa921d95
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-05-10 13:42:11 -07:00
Jim Harris
a191eedb19 vhost: import copy of dpdk rte_vhost v17.05
This will be decoupled from the build to start.  Next
patches will modify this code to prepare it for use with
SPDK vhost-scsi.  The final patch will replace the existing
v17.02-based code with this version, and make the necessary
SPDK vhost changes to use it.

This enables to better track the differences between upstream
DPDK and our internal copy, while not breaking the build at
any point in the git history.

While here, expand the POSIX include file check to exclude
any directory starting with lib/vhost/rte_vhost (which would
include this new directory).

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Icf1202c1b7a898edff12aa226943a08b578cf962
2017-05-08 14:39:55 -07:00
Jim Harris
cac9db9949 check_format.sh: filter rte_vhost from comment checking
Only filter the type of commenting misformat that the
vhost code actually violates currently.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ia7e978fc68fd81955a0b384e30b33fefa6124ce1
2017-05-08 14:39:41 -07:00
Ben Walker
1b2764421c build: Automatically detect use of POSIX includes
Scan the source for POSIX includes outside of the
allowed locations in check_format.sh. This only
tests for POSIX headers - not Linux Standards Base.

Also, fix one bug that was caught by this addition.

Change-Id: Ib0ca93fe6ac552dc49d95b27b4803e40282027e8
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-05-08 13:20:37 -07:00
Daniel Verkamp
6f01da764c scripts/rpc.py: add -v option for verbose mode
Change-Id: I0b2e18706644b5d9bd53b07228ab3e92eba583e1
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-04 09:19:14 -07:00
Daniel Verkamp
2686067166 vagrant: fix readme code block formatting
Change-Id: I4135ffb38abfbbeb69f82641c548c7ee41a7bbb4
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-03 11:07:01 -07:00
Jim Harris
11fa540377 scripts: add a vagrant setup
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I074c779d1736733b6864dfbcab529151e01fa4b7
2017-05-02 17:51:50 -07:00
Daniel Verkamp
5a01e9678d autobuild.sh: add config flag for building doc
Change-Id: Iee4bcc24a6e99e76e44ed3b9ecf843045195f64e
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-02 17:11:46 -07:00
Daniel Verkamp
5bbac65d54 autorun: make config setup common to all scripts
Change-Id: I0e497953164012ea2887f3bf1f4d91b783d6b6e5
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-02 17:11:46 -07:00
Daniel Verkamp
fb87f80c20 scripts/check_format.sh: only check tracked files
Change-Id: Ie6370bbcbcf08cb365ac54f53e8794ecdcbdedd9
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-26 16:35:34 -07:00
Daniel Verkamp
5639b965ac scripts/check_format.sh: catch misaligned comments
Fix up the existing comment blocks misaligned in the first column.

Also add line numbers to the comment checks.

Change-Id: I9d28c365271df36e7013d74cbb02d0023ab4f581
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-26 06:39:58 -07:00
Yuliya Navrotskaya
2a0d341f98 Fix for pre-2.7 Python versions which require positional argument specifiers (#149) 2017-04-25 17:22:35 -07:00
Cunyin Chang
6562e95092 scripts/setup.sh: support systems where more than one domain is used
Change-Id: I38aab093f3d06797e0d69f75978df47c72d279f7
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2017-04-25 10:16:12 -07:00
Daniel Verkamp
6b91943209 scripts/check_format.sh: check spaces in comments
Fix up all existing spacing errors in comments and add an automated
check for patterns like /*comment*/.

Change-Id: I28f61c93612dc0f8aed66bd509da78e91ea9737e
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-24 13:37:41 -07:00
Ben Walker
9dd998cdc0 Add a configure script to generate the CONFIG file
Add a configure script in the root of the repository
that looks and feels like one that would be generated
by autotools. This script simply generates a CONFIG
file for you, which used to be done by hand.

Now to build SPDK you can do the following:

./configure --with-dpdk=path
make

Change-Id: I44ebb91f0cb1468b86da4c0033ac1406595d4967
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-03 13:30:12 -07:00
Daniel Verkamp
70c41f75b5 test/vhost: override NRHUGE to avoid extra setup
Rather than re-running setup.sh during the vhost tests, just
pre-configure NRHUGE to the necessary value for all setup.sh invocations
during autotest.

Change-Id: I1a4d9a7f7ab52082a8f626c3c64807417a493b5f
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 10:43:11 -07:00
Daniel Verkamp
0b89cff2ea scripts/setup.sh: don't fail reset if hugetlbfs is empty
Change-Id: Ib399972b82adafbab5c8437e9141a1f3083292a1
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-28 14:16:10 -07:00
Daniel Verkamp
641676ad0a scripts/setup.sh: clean up SPDK hugepages on reset
Change-Id: I272e6ccdb275fdf9663db05b9b6ff9b68c78a646
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-28 13:22:08 -07:00
Daniel Verkamp
9603193f86 scripts/setup.sh: use correct hugetlbfs mount point
If we created /mnt/huge due to no hugetlbfs mount point existing, we
should also use that path in the chown step for VFIO.

Change-Id: I11614a67b16dbda6626b9adf58d8faea10205cab
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-28 13:22:08 -07:00
Daniel Verkamp
3e8ae4674b autotest: print stacktrace and abort on UBSan errors
Change-Id: I10523ad93b5cf4dcbed3578e4ee388a65ad63b72
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-27 10:27:52 -07:00
Daniel Verkamp
48ee3eba39 autotest: look for core.* in process_core
Match the default FreeBSD core file location as well as the Linux one.

Change-Id: I4c9803d314e89dc7982682c145a83e41dc9027e4
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-23 13:53:58 -07:00
Ben Walker
6d7b6e882c bdev/aio: The user now provides the names of AIO bdevs
The user now must choose the name for each AIO bdev. This
provides consistency for names across restarts.

Change-Id: I13ced1d02bb28c51d314512d60f739499b0c7d8d
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-20 15:18:03 -07:00
Ben Walker
d326998ce7 bdev/nvme: Names are now explicitly assigned by the user
Names for the NVMe bdevs are now assigned by the user.
This means the same name will always be assigned to the
same device, even across restarts.

Change-Id: If9825ec9abcb5236b4671bc44a825e4f0d704fe3
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-15 17:42:45 -07:00
Ziye Yang
b0ad3322f0 bdev/nvme: RPC call can now specify remote NVMe-oF devices
Change-Id: Ief3cf71489f0725249d51851b8d3270cb4e034db
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2017-03-14 08:38:04 -07:00
Ben Walker
0829424e19 conf: No longer allow wildcard claiming of NVMe devices
All devices must be specified by BDF. Add support for scripts
to use lspci to grab the available NVMe device BDFs for the
current machine.

Change-Id: I4a53b335e3d516629f050ae1b2ab7aff8dd7f568
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-14 08:38:04 -07:00
Pawel Wodkowski
73c95f5476 scsi: remove delete_lun RPC call and move claimed flag
Move claimed flag to struct spdk_scsi_lun and remove RPC call that allow
SCSI LUN to be deleted by user.

Change-Id: I0fe57d33ab017816ab4799bce259807735e0c783
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
2017-03-13 11:27:22 -07:00
Daniel Verkamp
f1b0acaac2 autotest: print full backtrace of coredumps
Show local variables in the backtrace.

Change-Id: I4bb5e8a180bf18377ab6f222b582ca4e5d0d54d9
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-09 15:42:30 -07:00
Daniel Verkamp
30a10e68a4 bdev: add delete_bdev RPC
Change-Id: Iac0298d5f10c937107a70287af4586a5c37e73bf
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-08 12:36:32 -07:00
Pawel Wodkowski
731edf84d8 autotest_common.sh: fix backtrace printing
Line number regex match all numbers starting from X eg:
10 will match 100 101 102... Fix this by adding space to regex.


Change-Id: Id594550618fea74a22f50033eac101439253a371
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
2017-03-08 12:36:24 -07:00