Commit Graph

2037 Commits

Author SHA1 Message Date
Ben Walker
7f7c03a935 env: Remove all use of RTE_LCORE_FOREACH
Replace with an env abstraction.

Change-Id: I706374d265a270890e1f3ca920a10a0dc09624b0
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-05 11:16:37 -07:00
Ben Walker
c80454a283 event: Eliminate reactor mask
The DPDK mask and the reactor mask are always the same.

Change-Id: I83d3ab87cdfb405574f6472cfc222d3f311abdb1
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-05 11:16:29 -07:00
Ben Walker
84230409fd examples: Simplify register_workers algorithm
Several examples have a function to associate workers
with threads. Simplify that algorithm.

This seems to just shift some of the complexity
from register_workers down to main, but in the long
run the DPDK threading will get abstracted into
env as well and greatly simplify that part.

Change-Id: Ic106dde58fa5351a1ce0a058161b08062e121d3b
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-05 11:13:52 -07:00
Ben Walker
16ae587966 env: Move lcore functions into env layer.
They were previously in the event library.

Change-Id: I24ffd8f771e895ccf5395c8120423cd114893139
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-04 09:19:01 -07:00
Jim Harris
9ee30b87b7 fio_plugin: enforce thread=1
The SPDK fio plugin only supports jobs as threads, not separate
processes.  So log an error and bail if --thread=1 is not
specified.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I318f924e0b7fbb76f11427a447dd7c5fc0ebc221
2017-04-04 09:12:41 -07:00
Prashanth Nayak
b512e01a50 nvmf: Move the nvmf_tgt app init and start functions out of main().
Added a new function spdk_nvmf_tgt_start() that initializes and
starts the nvmf app. The main function now only parses the command
line args and calls into spdk_nvmf_tgt_start().

Change-Id: I886a4021762a11c3c1f6ebfff5ed72adc409a34e
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-03 17:23:39 -07:00
Jim Harris
0b56a5b4cf configure: add output indicating creation of CONFIG.local
This is primarily to make it clear to the user that configure
was successful and can now proceed to "make".

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I2f1b7e3edd1987efb970becc518488162a0f2de2
2017-04-03 14:01:12 -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
Dariusz Stojaczyk
86840974dc iscsi: dont create portal group from partially invalid portal list
Changed spdk_iscsi_portal_grp_create_from_portal_list so that it fails
if any given portal is invalid.

Change-Id: I708621a538a52abfed4dce01668d26602a5ada59
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
2017-04-03 13:28:42 -07:00
Ben Walker
cf90e4de16 bdev/nvme: Simplify logic in remove_cb
This was doing an extra loop iteration.

Change-Id: Iaf1a1e4d5faaa3100d3c0fca6c7c3a8d1cd77101
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-03 13:26:07 -07:00
Prashanth Nayak
1e4920b261 nvme: remove unused rte_* includes
Change-Id: I9a1e6fab58af3a4b7ba5d408c393a00fc177d3a6
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-03 12:31:12 -07:00
Ben Walker
36a793ad63 nvme: Add a quirk to delay before enabling
It has been discovered that some devices require
a very small delay before writing CC.EN to 1 after
CSTS.RDY goes to 0.

Change-Id: I73d31726d17ebf5bbec7ee528e2f98fcd05234dd
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-03 11:18:15 -07:00
Ben Walker
652d48d5f5 nvme: Fix up long lines in nvme_quirks.c
This isn't the indentation pattern I would have chosen, but
it's a complicated negotiation between what I want and what
astyle will let me get away with.

Change-Id: I4909587823931842ac3f227134e1d05e7d80da74
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-03 11:18:15 -07:00
Ben Walker
f190418231 nvme: Simplify latency page quirk
Any Intel device reporting device ID 0x0953 needs this quirk.

Change-Id: I690b01ecf05105df00ec8cf6f2da7f7c0a601aa8
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-03 11:18:15 -07:00
Ben Walker
2efe9aa7bf nvme: Add all known DIDs for striping quirk
Update the list to include all new DIDs.

Change-Id: Ib00da939587010d44c097da07ec0625890e4c8cc
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-04-03 11:18:15 -07:00
Daniel Verkamp
7f957f56c1 bdev/nvme: add HotplugEnable option
Change-Id: I53fb7c3b469d5d5bb5b86c095bf1efc914299ec7
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-03 11:17:47 -07:00
Daniel Verkamp
edbca2a676 conf: add Boolean value helper function
Change-Id: Ie86745fe397167416aee356dc773a1bf8387b492
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-03 11:17:47 -07:00
Daniel Verkamp
f390a2aad6 bdev/nvme: unregister hotplug poller at shutdown
Change-Id: Ic6a51f5e61ffd2d57e561fd1d3019b5a69a09048
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-03 11:17:47 -07:00
Daniel Verkamp
d55c3b8f8a bdev/nvme: convert probe messages to TRACELOGs
Also add a message when a controller is attached and assigned a name.

Change-Id: I54f2d711d55ba7ae99913fdfea652770b1f8931d
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-03 11:17:47 -07:00
Tomasz Zawadzki
7254f2b639 test: removed superflous comments in test config files
This patch removes comments within configuration files for tests
that are not relevant to the test itself.
It reduces the need to update comments in test config files with each update.
As well it makes those same as other test configuration files.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I48116613435fadf0738b5a948d32f458c7ce06be
2017-04-03 11:05:49 -07:00
Jim Harris
5490f17328 test/blobfs: fix a couple of unit test memory leaks
In the cache_append_no_cache test case, we need to
sync the file first, before calling cache_free_buffers().
Otherwise the buffers do not really get freed since they
contain dirty data.

This fixes a couple of memory leak bugs detected with
CONFIG_ASAN=y.

Reported-by: John Meneghini <john.meneghini@netapp.com>
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: If1ff6ed7d9e7a6dc67af0a2baf3b2555ace610ee
2017-04-03 10:10:12 -07:00
Pawel Wodkowski
5109f56ea5 vhost: add info that using VFIO with vhost is not supported
As VFIO does not work with vhost library print warning during vhost
initialization

Change-Id: Iaa31808c7007f1840a6a441e2591f0a3986b0c29
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
2017-03-30 10:45:36 -07:00
Jim Harris
cc9b53ec25 test/scsi: initialize blocklen parameter for bdev
This parameter is not actually used by the unit
tests using the bdev, but setting it to a non-zero
value silences a couple of static analysis errors.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Id53a17bcd1f4ec51f35a954ec0f6e6ea9803086e
2017-03-30 10:05:13 -07:00
Piotr Pelplinski
425b902bc0 scsi: use SOFT reset when reseting bdev
This fixes multiple SCSI reset issue.
This patch does not remove sleep in iSCSI tests.

Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com>
Change-Id: I5e9f3705e5dc34004b9d1b9e40fbdcb04a3bee4e
2017-03-30 16:09:33 +02:00
Daniel Verkamp
509fedf011 doc: link to vhost docs from readme and changelog
Change-Id: Ia12de190c5b6c42d1a52dafc5fbab9de93913037
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 21:40:11 -07:00
Ben Walker
2e82b58684 nvme: Release lock before calling remove_cb
This prevents a deadlock if the user immediately
calls spdk_nvme_detach.

Change-Id: I79f28abe163cbbf184bea907692c44aa4e1c8893
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-29 21:07:21 -07:00
Jim Harris
913257cba5 Revert "scsi: use SOFT reset when reseting bdev"
Some intermittent issues still observed with multiple
resets in quick succession.  Reverting for now while the
issue is more fully root caused.

This reverts commit 7fa7f91ee3.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I493b564e8a110bbfb7a6cc47107d53d6eca40053
2017-03-29 15:42:11 -07:00
Daniel Verkamp
f00d22bb29 test/iscsi: fix conf leak in target_node_ut
Change-Id: Iac2ba5dd033682e62d2e32a84e77bbf9585c5235
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 15:27:50 -07:00
Daniel Verkamp
df009d7323 test/iscsi: move iSCSI unit tests to unittest.sh
Change-Id: I19f3f5485bfbf3dec275acddbc45786f76cd4198
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 15:27:50 -07:00
Daniel Verkamp
14cc383fb0 test/iscsi: build iSCSI unit tests on FreeBSD
Change-Id: Ie640069b831eba4eada9ff0955dca41af852d3a5
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 15:27:50 -07:00
Jim Harris
6b1046f780 test/blobfs: use default cache size
Automated test scripts now set up 4096 huge pages by default,
so we can now safely allocate the default 4GB for blobfs cache.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I8aea322068a5df79ca75737c43a4e0e80e7d2be4
2017-03-29 14:13:22 -07:00
Piotr Pelplinski
dfdb6edd3f vhost: Getting Started for SPDK vhost
This patch adds getting started guide for SPDK vhost.
This document describes how to build and run vhost application.

Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com>
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Icab3ad75f1ebf4d53153fb7070151a7244f1dfa9
2017-03-29 13:09:57 -07:00
Daniel Verkamp
342587932a autotest: set valgrind for unittest.sh
Change-Id: Ic176953e150e50039edf4416fcba9fb64e8947ef
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 11:57:07 -07:00
Daniel Verkamp
f5f1f24a1f test/scsi_bdev_ut: zero-initialize bdev structures
The bdev product_name field is used in the Inquiry command translation
and was previously uninitialized.

Change-Id: Ie9d056ddaddfbb60ce5c3444ed87f852c00a296d
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 11:56:54 -07:00
Daniel Verkamp
06e4124b24 changelog: add blobstore and vhost
Change-Id: Ie07c165e6a3d6c231e3703d25303e67a1ba7fb5e
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 11:25:16 -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
Jim Harris
f325e71c9d vhost: defer setting up new mem table
First step is do not destroy an existing device in
vhost_user_set_mem_table().  This is because we may
still be processing I/O via INT13 while QEMU is setting
up the mem tables for OS boot.

The primary part of this patch though is to defer
using the new mem table until after we receive the
first SET_VRING_ADDR message.  SET_VRING_ADDR will be
sent by QEMU when guest OS virtio-scsi driver starts
initialization.  At this point it is safe to invalidate
the old mem tables because there will be no more
INT13 I/O at this point.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I45fb5910f45e7fd2cf4a325341ad105a57d8ea40
2017-03-29 09:43:36 -07:00
Pawel Wodkowski
7fa7f91ee3 scsi: use SOFT reset when reseting bdev
This fixes multiple SCSI reset issue.

Change-Id: Ie62e0c1850faff17d383bcea00071d63d6bfa7f4
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
2017-03-29 09:17:26 -07:00
Daniel Verkamp
c09faf35d9 test/blobfs/cache_ut: remove unused g_sem variable
Change-Id: Iee668de1f7253273f88d1468739c9dcb16101546
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 09:17:18 -07:00
Cunyin Chang
321d28ef02 bdev/nvme: Shorten the name of hot inserted NVMe device.
Make sure the name will not exceed the length of SPDK_BDEV_MAX_NAME_LENGTH.

Change-Id: I33a3f10c836e650fdcb578c7d9e58169d9bb766a
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2017-03-29 09:17:08 -07:00
GangCao
e5a3193b80 blob: remove duplicate call to _spdk_blob_free
Change-Id: Iecb7f28474861043e6d4971c78ed5764b60181af
Signed-off-by: GangCao <gang.cao@intel.com>
2017-03-29 09:16:45 -07:00
Daniel Verkamp
d7cca6ca16 test/nvme_ns_cmd: free request in md test
Change-Id: Id29425cc96e0e05c6cf3fc45463b5f2053edce47
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 09:16:01 -07:00
Daniel Verkamp
10f7c9159f unittest.sh: don't run cache_ut under valgrind
The cache_ut test uses multiple threads in a way that hangs under
valgrind; disable valgrind for that test for now.

Change-Id: Ia372806204459c8f2a5eef261416386641b6a1f8
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 09:16:01 -07:00
Jim Harris
ab5511c754 test/scsi: free configs in scsi/init unit tests
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ic629639e3b4b71760d515234dc1c7ca684d47429
2017-03-29 09:07:46 -07:00
Ben Walker
57e6e0c8be blob: Initialize new metadata pages after allocation
The descriptor type must be 0 to break out of the loop,
so we need to initialize this.

Change-Id: I5fdb24dcfece01332c487364d5694c4fb8412e1b
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-28 16:51:29 -07:00
Ben Walker
9cdb51d693 blob: Free blob memory on error
Change-Id: I67d3c359b7d432fa06660175a4d533115236d640
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-28 16:20:09 -07:00
Ben Walker
97b3efa349 blob: Verify parsing does not run off end of page
Change-Id: I2663e0518705ffd23afbb69c7ae5bf5aff001c85
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-28 16:17:54 -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