Spdk/lib/nvme
Jonathan Richardson e5cfae172d nvme: Remove calls to getpid() when submitting nvme requests
As of glibc version 2.3.4 onwards getpid() is no longer cached. SPDK
makes calls to it in nvme_allocate_request() which is called for each
nvme request received. This results in a system calls up to millions of
times per second which slows down nvme submissions. Since the pid never
changes, it only needs to be called once in initialization per process.
This improves the performance of nvme_allocate_request() signficantly.

Backported from master commit ce70f29662

Change-Id: I81b3d8d7f298db25c3f6c3e237e5f9d290c1f126
Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-on: https://review.gerrithub.io/407599
Reviewed-by: Scott Branden <sbranden@gmail.com>
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>
Reviewed-on: https://review.gerrithub.io/408406
2018-04-20 13:28:47 -04:00
..
Makefile build: remove $(ENV_CFLAGS) where not necessary 2018-01-03 12:05:59 -05:00
nvme_ctrlr_cmd.c astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
nvme_ctrlr.c nvme: return specific value of register when the device hot removed. 2017-12-19 13:07:20 -05:00
nvme_internal.h nvme: add doorbell buffer config support 2017-12-06 17:25:54 -05:00
nvme_ns_cmd.c astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
nvme_ns.c log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
nvme_pcie.c nvme/pcie: limit max completions based on queue size 2018-01-05 12:45:28 -05:00
nvme_qpair.c astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
nvme_quirks.c nvme: add quirks for Intel NVMe P4600 SSD 2017-12-21 10:45:05 -05:00
nvme_rdma.c util: add spdk_strerror() wrapper with TLS support 2018-01-04 15:00:09 -05:00
nvme_transport.c nvme: add new spdk_nvme_connect() API to directly attach the ctrlr 2017-10-09 12:31:12 -04:00
nvme_uevent.c util: add spdk_strerror() wrapper with TLS support 2018-01-04 15:00:09 -05:00
nvme_uevent.h nvme: Add support of hotplug for vfio-attached devices. 2017-12-06 17:04:49 -05:00
nvme.c nvme: Remove calls to getpid() when submitting nvme requests 2018-04-20 13:28:47 -04:00