Go to file
Daniel Verkamp 8d424e6e71 nvme: simplify logic for whether to call callback
No change in behavior, just a simplification.

We already have a check for retry, so pull the cb_fn check out and put
it under the !retry branch.

This makes it clearer that requests that are going to be retried will
not get their callbacks called.

Change-Id: I70c7067e550c7fca78b0441b5474833f73863315
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2015-09-24 14:53:42 -07:00
doc doc: remove reference to nonexistent images dir 2015-09-24 11:24:16 -07:00
examples SPDK: Initial check-in 2015-09-21 08:52:41 -07:00
include/spdk SPDK: Initial check-in 2015-09-21 08:52:41 -07:00
lib nvme: simplify logic for whether to call callback 2015-09-24 14:53:42 -07:00
mk nvme/test: build unit tests using common CFLAGS 2015-09-24 10:48:46 -07:00
scripts build: check formatting with astyle 2015-09-23 09:05:51 -07:00
test nvme/test: simplify struct zero initializations 2015-09-24 10:48:46 -07:00
.astylerc build: check formatting with astyle 2015-09-23 09:05:51 -07:00
.gitignore README.md: add more detailed quick start instructions 2015-09-24 09:59:56 -07:00
autobuild.sh build: check formatting with astyle 2015-09-23 09:05:51 -07:00
autopackage.sh build: add automated build infrastructure 2015-09-21 15:53:09 -07:00
autotest.sh build: add automated build infrastructure 2015-09-21 15:53:09 -07:00
CONFIG SPDK: Initial check-in 2015-09-21 08:52:41 -07:00
LICENSE SPDK: Initial check-in 2015-09-21 08:52:41 -07:00
Makefile SPDK: Initial check-in 2015-09-21 08:52:41 -07:00
README.md README.md: add more detailed quick start instructions 2015-09-24 09:59:56 -07:00

Storage Performance Development Kit

SPDK on 01.org

The Storage Performance Development Kit (SPDK) provides a set of tools and libraries for writing high performance, scalable, user-mode storage applications. It achieves high performance by moving all of the necessary drivers into userspace and operating in a polled mode instead of relying on interrupts, which avoids kernel context switches and eliminates interrupt handling overhead.

Prerequisites

To build SPDK, some dependencies must be installed.

Fedora/CentOS:

  • gcc
  • libpciaccess-devel
  • CUnit-devel

Ubuntu/Debian:

  • gcc
  • libpciaccess-dev
  • make
  • libcunit1-dev

Additionally, DPDK is required.

1) cd /path/to/spdk
2) wget http://dpdk.org/browse/dpdk/snapshot/dpdk-2.1.0.tar.gz
3) tar xfz dpdk-2.1.0.tar.gz
4) cd dpdk-2.1.0
5) make install T=x86_64-native-linuxapp-gcc

Building

Once the prerequisites are installed, run 'make' within the SPDK directory to build the SPDK libraries and examples.

make DPDK_DIR=/path/to/dpdk

If you followed the instructions above for building DPDK:

make DPDK_DIR=`pwd`/dpdk-2.1.0/x86_64-native-linuxapp-gcc