Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
5718e73c11
!168 scripts: Do msr existence check only on x86_64 machines
From: @cenhuilin 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2024-07-19 07:03:01 +00:00
cenhuilin
e3797ecafa scripts: Do msr existence check only on x86_64 machines 2024-07-08 10:54:54 +08:00
openeuler-ci-bot
633433eeec
!167 Add ctrlr_lock for cuse register and unregister
From: @kouwq 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2024-07-05 02:43:52 +00:00
Kou Wenqi
38dd77bbd5 Add ctrlr_lock for cuse register and unregister 2024-07-05 09:38:03 +08:00
openeuler-ci-bot
69b6d513e4
!128 Fix build warning for GCC 10.X
From: @tjwangxm 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2024-03-15 09:25:18 +00:00
wangxiaomeng
e412bdf321 Fix build warning for GCC 10.X 2024-03-14 07:02:17 +08:00
openeuler-ci-bot
25e7855b1b
!97 Fix build check rpath error
From: @Zht-Try 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2023-11-25 19:34:23 +00:00
Hongtao Zhang
ee7fe5ed58 Fix build check rpaths error 2023-11-25 17:59:10 +08:00
openeuler-ci-bot
41882f213a
!96 回退到21.01-6版本
From: @lyn1001 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2023-11-03 08:52:13 +00:00
lyn1001
f9f03bd354 Roll back to version 21.01-6 2023-11-03 09:53:32 +08:00
6 changed files with 365 additions and 87 deletions

View File

@ -0,0 +1,129 @@
From b6dfc64f484328e503b8be76d6a7c401f75be931 Mon Sep 17 00:00:00 2001
From: wangxiaomeng <wangxiaomeng@kylinos.cn>
Date: Thu, 14 Mar 2024 17:19:12 +0800
Subject: [PATCH] Fix build warning
---
app/spdk_top/spdk_top.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/app/spdk_top/spdk_top.c b/app/spdk_top/spdk_top.c
index 3c0a889..d72c26f 100644
--- a/app/spdk_top/spdk_top.c
+++ b/app/spdk_top/spdk_top.c
@@ -674,7 +674,7 @@ print_max_len(WINDOW *win, int row, uint16_t col, uint16_t max_len, enum str_ali
snprintf(&tmp_str[max_str - DOTS_STR_LEN - 2], DOTS_STR_LEN, "%s", dots);
}
- mvwprintw(win, row, col, tmp_str);
+ mvwprintw(win, row, col, "%s", tmp_str);
refresh();
wrefresh(win);
@@ -1937,19 +1937,19 @@ display_thread(struct rpc_thread_info *thread_info)
print_left(thread_win, 3, THREAD_WIN_FIRST_COL, THREAD_WIN_WIDTH,
"Core: Idle [us]: Busy [us]:", COLOR_PAIR(5));
- mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 6, "%" PRIu64,
+ mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 6, "%d",
thread_info->core_num);
if (g_interval_data) {
get_time_str(g_thread_history[thread_info->id].idle, idle_time);
- mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 32, idle_time);
+ mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 32, "%s", idle_time);
get_time_str(g_thread_history[thread_info->id].busy, busy_time);
- mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 54, busy_time);
+ mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 54, "%s", busy_time);
} else {
get_time_str(thread_info->idle, idle_time);
- mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 32, idle_time);
+ mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 32, "%s", idle_time);
get_time_str(thread_info->busy, busy_time);
- mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 54, busy_time);
+ mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 54, "%s", busy_time);
}
print_left(thread_win, 4, THREAD_WIN_FIRST_COL, THREAD_WIN_WIDTH,
@@ -1979,7 +1979,7 @@ display_thread(struct rpc_thread_info *thread_info)
mvwprintw(thread_win, current_row, THREAD_WIN_FIRST_COL, "%s", poller->name);
mvwprintw(thread_win, current_row, THREAD_WIN_FIRST_COL + 33, "Active");
snprintf(run_count, MAX_POLLER_COUNT_STR_LEN, "%" PRIu64, poller->run_count);
- mvwprintw(thread_win, current_row, THREAD_WIN_FIRST_COL + 41, run_count);
+ mvwprintw(thread_win, current_row, THREAD_WIN_FIRST_COL + 41, "%s", run_count);
current_row++;
}
pollers = &thread->timed_pollers;
@@ -2108,20 +2108,20 @@ show_core(uint8_t current_page)
get_time_str(core_info[core_number]->idle, idle_time);
get_time_str(core_info[core_number]->busy, busy_time);
}
- mvwprintw(core_win, 3, CORE_WIN_FIRST_COL + 20, idle_time);
+ mvwprintw(core_win, 3, CORE_WIN_FIRST_COL + 20, "%s", idle_time);
print_left(core_win, 5, 1, CORE_WIN_WIDTH, "Poller count: Busy time:", COLOR_PAIR(5));
mvwprintw(core_win, 5, CORE_WIN_FIRST_COL, "%" PRIu64,
g_cores_history[core_number].pollers_count);
- mvwprintw(core_win, 5, CORE_WIN_FIRST_COL + 20, busy_time);
+ mvwprintw(core_win, 5, CORE_WIN_FIRST_COL + 20, "%s", busy_time);
mvwhline(core_win, 4, 1, ACS_HLINE, CORE_WIN_WIDTH - 2);
mvwhline(core_win, 6, 1, ACS_HLINE, CORE_WIN_WIDTH - 2);
print_left(core_win, 7, 1, CORE_WIN_WIDTH, "Threads on this core", COLOR_PAIR(5));
for (j = 0; j < core_info[core_number]->threads.threads_count; j++) {
- mvwprintw(core_win, j + 8, 1, core_info[core_number]->threads.thread[j].name);
+ mvwprintw(core_win, j + 8, 1, "%s", core_info[core_number]->threads.thread[j].name);
}
refresh();
@@ -2132,7 +2132,7 @@ show_core(uint8_t current_page)
while (!stop_loop) {
for (j = 0; j < core_info[core_number]->threads.threads_count; j++) {
if (j != current_threads_row) {
- mvwprintw(core_win, j + 8, 1, core_info[core_number]->threads.thread[j].name);
+ mvwprintw(core_win, j + 8, 1, "%s", core_info[core_number]->threads.thread[j].name);
} else {
print_left(core_win, j + 8, 1, CORE_WIN_WIDTH - 2,
core_info[core_number]->threads.thread[j].name, COLOR_PAIR(2));
@@ -2204,9 +2204,9 @@ show_poller(uint8_t current_page)
mvwaddch(poller_win, 2, POLLER_WIN_WIDTH, ACS_RTEE);
print_left(poller_win, 3, 2, POLLER_WIN_WIDTH, "Type: On thread:", COLOR_PAIR(5));
- mvwprintw(poller_win, 3, POLLER_WIN_FIRST_COL,
+ mvwprintw(poller_win, 3, POLLER_WIN_FIRST_COL, "%s",
poller_type_str[pollers[poller_number]->type]);
- mvwprintw(poller_win, 3, POLLER_WIN_FIRST_COL + 23, pollers[poller_number]->thread_name);
+ mvwprintw(poller_win, 3, POLLER_WIN_FIRST_COL + 23, "%s", pollers[poller_number]->thread_name);
print_left(poller_win, 4, 2, POLLER_WIN_WIDTH, "Run count:", COLOR_PAIR(5));
@@ -2221,7 +2221,7 @@ show_poller(uint8_t current_page)
if (pollers[poller_number]->period_ticks != 0) {
print_left(poller_win, 4, 28, POLLER_WIN_WIDTH, "Period:", COLOR_PAIR(5));
get_time_str(g_pollers_history[poller_number].period_ticks, poller_period);
- mvwprintw(poller_win, 4, POLLER_WIN_FIRST_COL + 23, poller_period);
+ mvwprintw(poller_win, 4, POLLER_WIN_FIRST_COL + 23, "%s", poller_period);
}
mvwhline(poller_win, 5, 1, ACS_HLINE, POLLER_WIN_WIDTH - 2);
print_in_middle(poller_win, 6, 1, POLLER_WIN_WIDTH - 7, "Status:", COLOR_PAIR(5));
@@ -2374,13 +2374,13 @@ show_stats(void)
time_last = time_now.tv_sec;
rc = get_data();
if (rc) {
- mvprintw(g_max_row - 1, g_max_col - strlen(refresh_error) - 2, refresh_error);
+ mvprintw(g_max_row - 1, g_max_col - strlen(refresh_error) - 2, "%s", refresh_error);
}
max_pages = refresh_tab(active_tab, current_page);
snprintf(current_page_str, CURRENT_PAGE_STR_LEN - 1, "Page: %d/%d", current_page + 1, max_pages);
- mvprintw(g_max_row - 1, 1, current_page_str);
+ mvprintw(g_max_row - 1, 1, "%s", current_page_str);
free_data();
--
2.27.0

View File

@ -1,80 +0,0 @@
From f72cab94dd35d7b45ec5a4f35967adf3184ca616 Mon Sep 17 00:00:00 2001
From: Alexey Marchuk <alexeymar@mellanox.com>
Date: Mon, 15 Nov 2021 11:01:14 +0300
Subject: [PATCH] lib/vhost: Fix compilation with dpdk 21.11
Structure vhost_device_ops was renamed to
rte_vhost_device_ops
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: Ie9601099d47465536500aa37fc113aeae03a8254
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10223
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: John Kariuki <John.K.Kariuki@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
---
lib/vhost/rte_vhost_compat.c | 5 +++++
test/unit/lib/vhost/vhost.c/vhost_ut.c | 7 +++++++
2 files changed, 12 insertions(+)
diff --git a/lib/vhost/rte_vhost_compat.c b/lib/vhost/rte_vhost_compat.c
index 3c9f691883a..08574cfad07 100644
--- a/lib/vhost/rte_vhost_compat.c
+++ b/lib/vhost/rte_vhost_compat.c
@@ -3,6 +3,7 @@
*
* Copyright (c) Intel Corporation.
* All rights reserved.
+ * Copyright (c) 2021 Mellanox Technologies LTD. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -134,7 +135,11 @@ destroy_connection(int vid)
vhost_destroy_connection_cb(vid);
}
+#if RTE_VERSION >= RTE_VERSION_NUM(21, 11, 0, 0)
+static const struct rte_vhost_device_ops g_spdk_vhost_ops = {
+#else
static const struct vhost_device_ops g_spdk_vhost_ops = {
+#endif
.new_device = start_device,
.destroy_device = stop_device,
.new_connection = new_connection,
diff --git a/test/unit/lib/vhost/vhost.c/vhost_ut.c b/test/unit/lib/vhost/vhost.c/vhost_ut.c
index df1c32d28e6..e62da334688 100644
--- a/test/unit/lib/vhost/vhost.c/vhost_ut.c
+++ b/test/unit/lib/vhost/vhost.c/vhost_ut.c
@@ -3,6 +3,7 @@
*
* Copyright (c) Intel Corporation.
* All rights reserved.
+ * Copyright (c) 2021 Mellanox Technologies LTD. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -41,6 +42,7 @@
#include "unit/lib/json_mock.c"
#include "vhost/vhost.c"
+#include <rte_version.h>
DEFINE_STUB(rte_vhost_set_vring_base, int, (int vid, uint16_t queue_id,
uint16_t last_avail_idx, uint16_t last_used_idx), 0);
@@ -65,8 +67,13 @@ DEFINE_STUB(rte_vhost_enable_guest_notification, int,
(int vid, uint16_t queue_id, int enable), 0);
DEFINE_STUB(rte_vhost_get_ifname, int, (int vid, char *buf, size_t len), 0);
DEFINE_STUB(rte_vhost_driver_start, int, (const char *name), 0);
+#if RTE_VERSION >= RTE_VERSION_NUM(21, 11, 0, 0)
+DEFINE_STUB(rte_vhost_driver_callback_register, int,
+ (const char *path, struct rte_vhost_device_ops const *const ops), 0);
+#else
DEFINE_STUB(rte_vhost_driver_callback_register, int,
(const char *path, struct vhost_device_ops const *const ops), 0);
+#endif
DEFINE_STUB(rte_vhost_driver_disable_features, int, (const char *path, uint64_t features), 0);
DEFINE_STUB(rte_vhost_driver_set_features, int, (const char *path, uint64_t features), 0);
DEFINE_STUB(rte_vhost_driver_register, int, (const char *path, uint64_t flags), 0);

View File

@ -0,0 +1,94 @@
From e0fcf99b6021e98fb5f6580fba89d5fb4276946a Mon Sep 17 00:00:00 2001
From: Alexey Marchuk <alexeymar@mellanox.com>
Date: Wed, 14 Apr 2021 11:27:38 +0300
Subject: [PATCH] ut/rdma: Fix GCC 10.2.0 warning
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
rdma_ut.c: In function test_spdk_nvmf_rdma_request_parse_sgl_with_md:
rdma_ut.c:1152:54: warning: array subscript 10 is outside array bounds of struct spdk_nvmf_rdma_request_data[1] [-Warray-bounds]
1152 | aligned_buffer = (void *)((uintptr_t)((char *)&data + NVMF_DATA_BUFFER_MASK) &
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
rdma_ut.c:834:37: note: while referencing data
834 | struct spdk_nvmf_rdma_request_data data;
| ^~~~
The fix is to use array instead of spdk_nvmf_rdma_request_data
structure
Change-Id: I81bd311d26037dcb9340d85abcb4ea45b20a5171
Reported-by: G.Balaji <gbalajieie@gmail.com>
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7365
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
---
test/unit/lib/nvmf/rdma.c/rdma_ut.c | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/test/unit/lib/nvmf/rdma.c/rdma_ut.c b/test/unit/lib/nvmf/rdma.c/rdma_ut.c
index 8674f52..eb46a4c 100644
--- a/test/unit/lib/nvmf/rdma.c/rdma_ut.c
+++ b/test/unit/lib/nvmf/rdma.c/rdma_ut.c
@@ -836,7 +836,8 @@ test_spdk_nvmf_rdma_request_parse_sgl_with_md(void)
union nvmf_h2c_msg cmd;
struct spdk_nvme_sgl_descriptor *sgl;
struct spdk_nvme_sgl_descriptor sgl_desc[SPDK_NVMF_MAX_SGL_ENTRIES] = {{0}};
- struct spdk_nvmf_rdma_request_data data;
+ char data_buffer[8192];
+ struct spdk_nvmf_rdma_request_data *data = (struct spdk_nvmf_rdma_request_data *)data_buffer;
char data2_buffer[8192];
struct spdk_nvmf_rdma_request_data *data2 = (struct spdk_nvmf_rdma_request_data *)data2_buffer;
const uint32_t data_bs = 512;
@@ -844,7 +845,7 @@ test_spdk_nvmf_rdma_request_parse_sgl_with_md(void)
int rc, i;
void *aligned_buffer;
- data.wr.sg_list = data.sgl;
+ data->wr.sg_list = data->sgl;
STAILQ_INIT(&group.group.buf_cache);
group.group.buf_cache_size = 0;
group.group.buf_cache_count = 0;
@@ -1153,8 +1154,8 @@ test_spdk_nvmf_rdma_request_parse_sgl_with_md(void)
sgl->unkeyed.subtype = SPDK_NVME_SGL_SUBTYPE_OFFSET;
sgl->address = 0;
rdma_req.recv->buf = (void *)&sgl_desc;
- MOCK_SET(spdk_mempool_get, &data);
- aligned_buffer = (void *)((uintptr_t)((char *)&data + NVMF_DATA_BUFFER_MASK) &
+ MOCK_SET(spdk_mempool_get, data_buffer);
+ aligned_buffer = (void *)((uintptr_t)(data_buffer + NVMF_DATA_BUFFER_MASK) &
~NVMF_DATA_BUFFER_MASK);
/* part 1: 2 segments each with 1 wr. io_unit_size is aligned with data_bs + md_size */
@@ -1190,17 +1191,17 @@ test_spdk_nvmf_rdma_request_parse_sgl_with_md(void)
CU_ASSERT(rdma_req.data.wr.wr.rdma.rkey == 0x44);
CU_ASSERT(rdma_req.data.wr.wr.rdma.remote_addr == 0x4000);
- CU_ASSERT(rdma_req.data.wr.next == &data.wr);
- CU_ASSERT(data.wr.wr.rdma.rkey == 0x44);
- CU_ASSERT(data.wr.wr.rdma.remote_addr == 0x4000 + data_bs * 4);
- CU_ASSERT(data.wr.num_sge == 4);
+ CU_ASSERT(rdma_req.data.wr.next == &data->wr);
+ CU_ASSERT(data->wr.wr.rdma.rkey == 0x44);
+ CU_ASSERT(data->wr.wr.rdma.remote_addr == 0x4000 + data_bs * 4);
+ CU_ASSERT(data->wr.num_sge == 4);
for (i = 0; i < 4; ++i) {
- CU_ASSERT(data.wr.sg_list[i].addr == (uintptr_t)((unsigned char *)aligned_buffer) + i *
+ CU_ASSERT(data->wr.sg_list[i].addr == (uintptr_t)((unsigned char *)aligned_buffer) + i *
(data_bs + md_size));
- CU_ASSERT(data.wr.sg_list[i].length == data_bs);
+ CU_ASSERT(data->wr.sg_list[i].length == data_bs);
}
- CU_ASSERT(data.wr.next == &rdma_req.rsp.wr);
+ CU_ASSERT(data->wr.next == &rdma_req.rsp.wr);
}
int main(int argc, char **argv)
--
2.27.0

View File

@ -0,0 +1,80 @@
From 253cca4fc3a89c38e79d2e940c5a0b7bb082afcc Mon Sep 17 00:00:00 2001
From: Zhanghongtao2417 <651380626@qq.com>
Date: Fri, 26 Apr 2024 22:01:25 +0800
Subject: [PATCH] nvme/cuse: Add ctrlr_lock for cuse register and unregister
conflicts:
lib/nvme/nvme_io_msg.c nvme_io_msg_ctrlr_update
spdk_nvme_cuse_unregister and spdk_nvme_ctrlr_process_admin_completions
running at the same time, concurrently operate external_io_msgs.
So we add locks to protect.
Fixes #3353
Change-Id: Id5176975676c29a475e8e2a0d7c93e44646c00dc
Signed-off-by: Zhanghongtao2417 <651380626@qq.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22927
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
---
lib/nvme/nvme_io_msg.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/nvme/nvme_io_msg.c b/lib/nvme/nvme_io_msg.c
index fb5aec3..d74736c 100644
--- a/lib/nvme/nvme_io_msg.c
+++ b/lib/nvme/nvme_io_msg.c
@@ -130,7 +130,9 @@ nvme_io_msg_ctrlr_register(struct spdk_nvme_ctrlr *ctrlr,
return -EINVAL;
}
+ nvme_robust_mutex_lock(&ctrlr->ctrlr_lock);
if (nvme_io_msg_is_producer_registered(ctrlr, io_msg_producer)) {
+ nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
return -EEXIST;
}
@@ -148,6 +150,7 @@ nvme_io_msg_ctrlr_register(struct spdk_nvme_ctrlr *ctrlr,
ctrlr->external_io_msgs = spdk_ring_create(SPDK_RING_TYPE_MP_SC, 65536, SPDK_ENV_SOCKET_ID_ANY);
if (!ctrlr->external_io_msgs) {
SPDK_ERRLOG("Unable to allocate memory for message ring\n");
+ nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
return -ENOMEM;
}
@@ -156,10 +159,12 @@ nvme_io_msg_ctrlr_register(struct spdk_nvme_ctrlr *ctrlr,
SPDK_ERRLOG("spdk_nvme_ctrlr_alloc_io_qpair() failed\n");
spdk_ring_free(ctrlr->external_io_msgs);
ctrlr->external_io_msgs = NULL;
+ nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
return -ENOMEM;
}
STAILQ_INSERT_TAIL(&ctrlr->io_producers, io_msg_producer, link);
+ nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
return 0;
}
@@ -205,7 +210,9 @@ nvme_io_msg_ctrlr_unregister(struct spdk_nvme_ctrlr *ctrlr,
{
assert(io_msg_producer != NULL);
+ nvme_robust_mutex_lock(&ctrlr->ctrlr_lock);
if (!nvme_io_msg_is_producer_registered(ctrlr, io_msg_producer)) {
+ nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
return;
}
@@ -213,4 +220,5 @@ nvme_io_msg_ctrlr_unregister(struct spdk_nvme_ctrlr *ctrlr,
if (STAILQ_EMPTY(&ctrlr->io_producers)) {
nvme_io_msg_ctrlr_detach(ctrlr);
}
+ nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
}
--
2.27.0

View File

@ -0,0 +1,36 @@
From 686dcd88c2e4147ec5731647c569d8ef4c7064b5 Mon Sep 17 00:00:00 2001
From: Gal Hammer <gal.hammer@huawei.com>
Date: Tue, 2 Jul 2024 14:28:06 +0800
Subject: [PATCH] scripts: Do msr existence check only on x86_64 machines
aarch64 doesn't have a msr module (DPDK acquires the TSR rate elsewhere).
Signed-off-by: Gal Hammer <gal.hammer@huawei.com>
Signed-off-by: Shai Fultheim <shai.fultheim@huawei.com>
Change-Id: Ib9795141a78436959853ab5548ae49f024344b25
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12354
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
---
scripts/setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/setup.sh b/scripts/setup.sh
index 1c5024a..e753cb1 100755
--- a/scripts/setup.sh
+++ b/scripts/setup.sh
@@ -507,7 +507,7 @@ function configure_linux() {
fi
fi
- if [ ! -f /dev/cpu/0/msr ]; then
+ if [ $(uname -i) == "x86_64" ] && [ ! -e /dev/cpu/0/msr ]; then
# Some distros build msr as a module. Make sure it's loaded to ensure
# DPDK can easily figure out the TSC rate rather than relying on 100ms
# sleeps.
--
2.33.0

View File

@ -4,7 +4,7 @@
Name: spdk
Version: 21.01
Release: 7
Release: 10
Summary: Set of libraries and utilities for high performance user-mode storage
License: BSD and MIT
URL: http://spdk.io
@ -37,7 +37,10 @@ Patch25: 0025-nvmf-fix-fd-leakage-problem-in-nvmf_vfio_user_listen.patch
Patch26: 0026-posix-set-fd-to-1-after-close-fd-in-posix_sock_creat.patch
Patch27: 0027-spdk_top-check-return-value-of-strdup-in-store_last_.patch
Patch28: 0028-uring-set-fd-to-1-after-close-fd-in-uring_sock_creat.patch
Patch29: 0029-lib-vhost-Fix-compilation-with-dpdk-21.11.patch
Patch29: 0029-Fix-build-warning.patch
Patch30: 0030-ut-rdma-Fix-GCC-10.2.0-warning.patch
Patch31: 0031-backport-Add-ctrlr_lock-for-cuse-register-and-unregister.patch
Patch32: 0032-scripts-Do-msr-existence-check-only-on-x86_64-machin.patch
%define package_version %{version}-%{release}
@ -55,15 +58,21 @@ Patch29: 0029-lib-vhost-Fix-compilation-with-dpdk-21.11.patch
ExclusiveArch: x86_64 aarch64
BuildRequires: gcc gcc-c++ make
BuildRequires: dpdk-devel, numactl-devel, ncurses-devel
BuildRequires: dpdk-devel >= 19.11, numactl-devel, ncurses-devel
BuildRequires: libiscsi-devel, libaio-devel, openssl-devel, libuuid-devel
BuildRequires: libibverbs-devel, librdmacm-devel
%if %{with doc}
BuildRequires: doxygen mscgen graphviz
%endif
%ifarch aarch64
%global config arm64-armv8a-linux-gcc
%else
%global config x86_64-native-linux-gcc
%endif
# Install dependencies
Requires: dpdk >= 21.11, numactl-libs, openssl-libs
Requires: dpdk >= 19.11, numactl-libs, openssl-libs
Requires: libiscsi, libaio, libuuid
# NVMe over Fabrics
Requires: librdmacm, librdmacm
@ -120,7 +129,7 @@ BuildArch: noarch
--disable-unit-tests \
--without-crypto \
--without-isal \
--with-dpdk=/usr/lib64/dpdk/pmds-22.0 \
--with-dpdk=/usr/share/dpdk/%{config} \
--without-fio \
--with-vhost \
--without-pmdk \
@ -169,6 +178,7 @@ mkdir -p %{install_docdir}
mv doc/output/html/ %{install_docdir}
%endif
%chrpath_delete
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@ -204,8 +214,17 @@ mv doc/output/html/ %{install_docdir}
%changelog
* Mon Oct 16 2023 chenyaqiang <chengyaqiang@huawei.com> - 21.01-7
- fix build failure caused by dpdk upgrade
* Mon Jul 8 2024 cenhuilin <cenhuilin@kylinos.cn> - 21.01-10
- scripts: Do msr existence check only on x86_64 machines
* Thu Jul 4 2024 kouwenqi <kouwenqi@kylinos.cn> - 21.01-9
- Add ctrlr_lock for cuse register and unregister
* Fri Mar 15 2024 wangxiaomeng <wangxiaomeng@kylinos.cn> - 21.01-8
- Fix build warning
* Sat Nov 25 2023 Hongtao Zhang <zhanghongtao22@huawei.com> - 21.01-7
- Fix build check rpaths error
* Fri Feb 03 2023 Hongtao Zhang <zhanghongtao22@huawei.com> - 21.01-6
- Add setup.sh scripts during installation