numam-spdk/include/spdk
Jim Harris 70a0bc3096 bdev: add bdev_io optimizations
First, improve packing of spdk_bdev_io.  Move any
fields which must be zeroed into the first cacheline.
Also change type and status from enums (needing 4 bytes)
to int16_t which is still a far bigger range than
needed.

Next, modify spdk_bdev_get_io to only zero the
first cacheline (actually a bit less).

SPDK_BDEV_IO_TYPE_INVALID is also added, making it
explicit that 0 is an invalid value for the IO type.
Previously this was somewhat inferred.

There are still additional improvements that can
be made to this area - primarily combining
spdk_bdev_get_io() and spdk_bdev_io_init() into
a single function.

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

Reviewed-on: https://review.gerrithub.io/377799
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-09-12 11:16:50 -04:00
..
assert.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
barrier.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
bdev.h bdev: add bdev_io optimizations 2017-09-12 11:16:50 -04:00
bit_array.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
blob_bdev.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
blob.h blob: add readv/writev support 2017-08-22 18:19:00 -04:00
blobfs.h io_channel: Remove per-channel priority 2017-05-26 13:42:19 -04:00
conf.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
copy_engine.h copy: Move asynchronous module init to event_copy 2017-06-20 13:46:37 -04:00
crc32.h util: add CRC32 utility functions 2017-08-02 19:47:35 -04:00
endian.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
env.h env: Add a default value for mempool cache size 2017-08-17 16:55:55 -04:00
event.h reactor: add context_switch_monitor RPC 2017-09-01 12:46:18 -04:00
fd.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
gpt_spec.h bdev/gpt: dump partition name 2017-07-12 18:12:52 -04:00
histogram_data.h histogram: move nvme/perf histogram code to a common header 2017-06-14 14:20:03 -04:00
io_channel.h io_channel: allow user to provide a thread name 2017-08-29 13:11:08 -04:00
ioat_spec.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
ioat.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
iscsi_spec.h iscsi: change iscsi_bhs_scsi_req variable names. 2017-07-18 13:14:16 -04:00
json.h json: add function to write UTF-16LE strings 2017-07-12 18:12:52 -04:00
jsonrpc.h jsonrpc: modify API to pass request to handler 2017-07-06 13:48:12 -04:00
likely.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
log.h log: add new parm to spdk_trace_dump() 2017-09-06 17:33:03 -04:00
mmio.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
nbd.h nbd: allow exporting more than one NBD at once 2017-08-07 17:56:21 -04:00
net.h net: Move module initialization into event_net 2017-06-20 13:46:37 -04:00
nvme_intel.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
nvme_spec.h nvme_spec: update Identify Controller SGLS field 2017-08-29 15:05:09 -04:00
nvme.h nvme/rdma: add option to specify source address 2017-09-05 13:02:28 -04:00
nvmf_spec.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
nvmf.h nvmf: add AllowAnyHost option to subsystems 2017-09-05 13:03:09 -04:00
pci_ids.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
queue_extras.h Break out queue.h code pulled from FreeBSD into a separate file. 2015-09-25 12:45:04 -07:00
queue.h Add extern "C" wrapper to all public headers 2016-02-12 07:52:35 -07:00
rpc.h jsonrpc: modify API to pass request to handler 2017-07-06 13:48:12 -04:00
scsi_spec.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
scsi.h scsi: increase max lun name length 2017-09-06 16:26:30 -04:00
stdinc.h build: Automatically detect use of POSIX includes 2017-05-08 13:20:37 -07:00
string.h lib: replace strerror with strerror_r 2017-08-15 16:47:01 -04:00
trace.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
util.h util: add spdk_u32_is_pow2() function 2017-08-11 19:36:30 -04:00
version.h version: add "v" to version string 2017-09-01 12:45:50 -04:00
vhost.h vhost: added API to call external spdk_events on vdev reactor 2017-09-07 14:34:01 -04:00