Spdk/include/spdk_internal
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 the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
bdev.h bdev: add bdev_io optimizations 2017-09-12 11:16:50 -04:00
copy_engine.h io_channel: Remove per-channel priority 2017-05-26 13:42:19 -04:00
event.h event: remove spdk_app_init 2017-06-15 18:26:52 -04:00
log.h log: add new parm to spdk_trace_dump() 2017-09-06 17:33:03 -04:00
mock.h ut/nvme: add coverage for nvme_driver_init() & new mock macro 2017-08-23 13:51:36 -04:00