From 1655fa48a84567d4196540552ef4f1fe77cade21 Mon Sep 17 00:00:00 2001 From: Pawel Wodkowski Date: Fri, 16 Feb 2018 16:38:32 +0100 Subject: [PATCH] vhost: always inline spdk_vhost_dev_has_feature spdk_vhost_dev_has_feature() is internal function so we can move it's declaration to header file. This remove function call overhead. Change-Id: I1704e8279cd6720177047a1ae8818f68982998db Signed-off-by: Pawel Wodkowski Reviewed-on: https://review.gerrithub.io/400241 Tested-by: SPDK Automated Test System Reviewed-by: Shuhei Matsumoto Reviewed-by: Daniel Verkamp --- lib/vhost/vhost.c | 6 ------ lib/vhost/vhost_internal.h | 7 ++++++- test/unit/lib/vhost/test_vhost.c | 2 -- test/unit/lib/vhost/vhost_scsi.c/vhost_scsi_ut.c | 2 -- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index e46bd0ae8..7265acaab 100644 --- a/lib/vhost/vhost.c +++ b/lib/vhost/vhost.c @@ -457,12 +457,6 @@ spdk_vhost_vring_desc_to_iov(struct spdk_vhost_dev *vdev, struct iovec *iov, return 0; } -bool -spdk_vhost_dev_has_feature(struct spdk_vhost_dev *vdev, unsigned feature_id) -{ - return vdev->negotiated_features & (1ULL << feature_id); -} - static struct spdk_vhost_dev * spdk_vhost_dev_find_by_id(unsigned id) { diff --git a/lib/vhost/vhost_internal.h b/lib/vhost/vhost_internal.h index 41ec1b291..9db911b24 100644 --- a/lib/vhost/vhost_internal.h +++ b/lib/vhost/vhost_internal.h @@ -238,7 +238,12 @@ bool spdk_vhost_vring_desc_is_wr(struct vring_desc *cur_desc); int spdk_vhost_vring_desc_to_iov(struct spdk_vhost_dev *vdev, struct iovec *iov, uint16_t *iov_index, const struct vring_desc *desc); -bool spdk_vhost_dev_has_feature(struct spdk_vhost_dev *vdev, unsigned feature_id); + +static inline bool __attribute__((always_inline)) +spdk_vhost_dev_has_feature(struct spdk_vhost_dev *vdev, unsigned feature_id) +{ + return vdev->negotiated_features & (1ULL << feature_id); +} int spdk_vhost_dev_register(struct spdk_vhost_dev *vdev, const char *name, const char *mask_str, const struct spdk_vhost_dev_backend *backend); diff --git a/test/unit/lib/vhost/test_vhost.c b/test/unit/lib/vhost/test_vhost.c index 9e3e2c41a..ba88688c7 100644 --- a/test/unit/lib/vhost/test_vhost.c +++ b/test/unit/lib/vhost/test_vhost.c @@ -84,8 +84,6 @@ DEFINE_STUB_V(spdk_vhost_unlock, (void)); DEFINE_STUB(spdk_env_get_current_core, uint32_t, (void), 0); DEFINE_STUB_V(spdk_vhost_call_external_event, (const char *ctrlr_name, spdk_vhost_event_fn fn, void *arg)); -DEFINE_STUB(spdk_vhost_dev_has_feature, bool, (struct spdk_vhost_dev *vdev, unsigned feature_id), - false); DEFINE_STUB(spdk_vhost_vring_desc_has_next, bool, (struct vring_desc *cur_desc), false); DEFINE_STUB_VP(spdk_vhost_gpa_to_vva, (struct spdk_vhost_dev *vdev, uint64_t addr), {0}); DEFINE_STUB(spdk_scsi_dev_get_id, int, (const struct spdk_scsi_dev *dev), {0}); diff --git a/test/unit/lib/vhost/vhost_scsi.c/vhost_scsi_ut.c b/test/unit/lib/vhost/vhost_scsi.c/vhost_scsi_ut.c index f25b9ac98..740fe80af 100644 --- a/test/unit/lib/vhost/vhost_scsi.c/vhost_scsi_ut.c +++ b/test/unit/lib/vhost/vhost_scsi.c/vhost_scsi_ut.c @@ -208,7 +208,6 @@ vhost_scsi_dev_remove_dev_test(void) svdev->vdev.lcore = 0; scsi_dev = alloc_scsi_dev(); svdev->scsi_dev[0] = scsi_dev; - MOCK_SET(spdk_vhost_dev_has_feature, bool, false); rc = spdk_vhost_scsi_dev_remove_tgt(&svdev->vdev, 0, NULL, NULL); CU_ASSERT(rc == -ENOTSUP); free(scsi_dev); @@ -231,7 +230,6 @@ vhost_scsi_dev_add_dev_test(void) svdev = alloc_svdev(); vdev = &svdev->vdev; - MOCK_SET(spdk_vhost_dev_has_feature, bool, false); /* Add device when max devices is reached */ rc = spdk_vhost_scsi_dev_add_tgt(vdev,