From 067c2fa9547d1bda3c38ff9649d76621e1a75953 Mon Sep 17 00:00:00 2001 From: fanzhaonan Date: Thu, 27 Nov 2025 22:52:16 +0800 Subject: [PATCH 1/4] support eid_idx parameter --- src/ubsocket/brpc/brpc_context.h | 1 + src/ubsocket/configure_settings.cpp | 1 + src/ubsocket/configure_settings.h | 15 +++++++++++++++ 3 files changed, 17 insertions(+) diff --git a/src/ubsocket/brpc/brpc_context.h b/src/ubsocket/brpc/brpc_context.h index fdf9c4e..cb4192c 100644 --- a/src/ubsocket/brpc/brpc_context.h +++ b/src/ubsocket/brpc/brpc_context.h @@ -158,6 +158,7 @@ class Context : public Brpc::ConfigSettings { SetSocketFdTransMode(SOCKET_FD_TRANS_MODE_TCP); return; } + umq_config.eid_idx = GetEidIdx(); } ret = umq_init(&umq_config); diff --git a/src/ubsocket/configure_settings.cpp b/src/ubsocket/configure_settings.cpp index ed4dc5f..0dd3b59 100644 --- a/src/ubsocket/configure_settings.cpp +++ b/src/ubsocket/configure_settings.cpp @@ -106,6 +106,7 @@ int ConfigSettings::ParseEnvVars() return -1; } + RPC_ADPT_VLOG_INFO("%s: %d\n", ENV_VAR_EID_IDX, m_eid_idx); RPC_ADPT_VLOG_INFO("%s: %d\n", ENV_VAR_TX_DEPTH, m_tx_depth); RPC_ADPT_VLOG_INFO("%s: %d\n", ENV_VAR_RX_DEPTH, m_rx_depth); diff --git a/src/ubsocket/configure_settings.h b/src/ubsocket/configure_settings.h index b8f707c..1521384 100644 --- a/src/ubsocket/configure_settings.h +++ b/src/ubsocket/configure_settings.h @@ -26,6 +26,7 @@ #define TRANS_MODE_STR_LEN_MAX (64) #define BLOCK_TYPE_STR_LEN_MAX (64) #define BOOL_STR_LEN_MAX (8) +#define DEFAULT_EID_IDX (0) #define DEFAULT_TX_DEPTH (128) #define DEFAULT_RX_DEPTH (128) #define DEFAULT_IO_TOTAL_SIZE (1024) // MB @@ -35,6 +36,7 @@ #define ENV_VAR_TRANS_MODE "RPC_ADPT_TRANS_MODE" #define ENV_VAR_DEV_IP "RPC_ADPT_DEV_IP" #define ENV_VAR_DEV_DEV_NAME "RPC_ADPT_DEV_NAME" +#define ENV_VAR_DEV_EID_IDX "RPC_ADPT_EID_IDX" #define ENV_VAR_TX_DEPTH "RPC_ADPT_TX_DEPTH" #define ENV_VAR_RX_DEPTH "RPC_ADPT_RX_DEPTH" #define ENV_VAR_STATS "RPC_ADPT_STATS" @@ -132,6 +134,11 @@ public: return m_tx_depth; } + uint32_t GetDevIdx() + { + return m_eid_idx; + } + uint32_t GetRxDepth() { return m_rx_depth; @@ -220,6 +227,13 @@ protected: ReadEnvVar(env_ptr,m_dev_name_str,sizeof(m_dev_name_str)); } + if((env_ptr = getenv(ENV_VAR_EID_IDX))!=NULL){ + /* atoi return 0 means (1) failed to transfer input to int; (2) user set 0; + both of them use default value directly*/ + uint32_t input_eid_idx = static_cast(atoi(env_ptr)); + m_eid_idx = input_eid_idx == 0 ? DEFAULT_EID_IDX : input_eid_idx; + } + if((env_ptr = getenv(ENV_VAR_TX_DEPTH))!=NULL){ /* atoi return 0 means (1) failed to transfer input to int; (2) user set 0; both of them use default value directly*/ @@ -272,6 +286,7 @@ protected: char m_dev_name_str[DEV_NAME_STR_LEN_MAX] = ""; char m_stats_str[BOOL_STR_LEN_MAX] = ""; char m_block_type_str[BLOCK_TYPE_STR_LEN_MAX] = ""; + uint32_t m_eid_idx = DEFAULT_EID_IDX; uint32_t m_tx_depth = DEFAULT_TX_DEPTH; uint32_t m_rx_depth = DEFAULT_RX_DEPTH; uint64_t m_io_total_size = DEFAULT_IO_TOTAL_SIZE; -- Gitee From d19f1e5482da0f797a978e95a33c62433d3546d7 Mon Sep 17 00:00:00 2001 From: fanzhaonan Date: Fri, 28 Nov 2025 18:25:37 +0800 Subject: [PATCH 2/4] bugfix --- src/ubsocket/configure_settings.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ubsocket/configure_settings.h b/src/ubsocket/configure_settings.h index 1521384..4b0e713 100644 --- a/src/ubsocket/configure_settings.h +++ b/src/ubsocket/configure_settings.h @@ -134,7 +134,7 @@ public: return m_tx_depth; } - uint32_t GetDevIdx() + uint32_t GetEidIdx() { return m_eid_idx; } -- Gitee From 2f7562a2ebd3f1a2f310bb44df4f6f269aa67b69 Mon Sep 17 00:00:00 2001 From: fanzhaonan Date: Fri, 28 Nov 2025 19:44:57 +0800 Subject: [PATCH 3/4] cmake support UMQ_INCLUDE and UMQ_LIB --- src/ubsocket/CMakeLists.txt | 12 +++++++++++- src/ubsocket/brpc/CMakeLists.txt | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ubsocket/CMakeLists.txt b/src/ubsocket/CMakeLists.txt index e8316fa..e7ddc62 100644 --- a/src/ubsocket/CMakeLists.txt +++ b/src/ubsocket/CMakeLists.txt @@ -19,7 +19,17 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_FLAGS_PUBILC} ${CMAKE_FLAGS_x86_64} -std=c++11") endif() -include_directories(/usr/include/ub/umdk/urpc/umq/) +if (NOT DEFINE UMQ_INCLUDE OR UMQ_INCLUDE STREQUAL "") + set(UMQ_INCLUDE "/usr/include/ub/umdk/urpc/umq/") +endif() +if (NOT DEFINE UMQ_LIB OR UMQ_LIB STREQUAL "") + set(UMQ_LIB "/usr/lib64/libumq.so") +endif() + +message(status "UMQ_INCLUDE: ${UMQ_INCLUDE}") +message(status "UMQ_LIB: ${UMQ_LIB}") + +include_directories(${UMQ_INCLUDE}) aux_source_directory(${CMAKE_CURRENT_LIST_DIR} COMMON_RPC_ADPT_SRC) add_subdirectory(brpc) diff --git a/src/ubsocket/brpc/CMakeLists.txt b/src/ubsocket/brpc/CMakeLists.txt index fae8533..2f79270 100644 --- a/src/ubsocket/brpc/CMakeLists.txt +++ b/src/ubsocket/brpc/CMakeLists.txt @@ -4,6 +4,6 @@ aux_source_directory(${CMAKE_CURRENT_LIST_DIR} BRPC_ADPT_SRC) add_library(rpc_adapter_brpc SHARED ${COMMON_RPC_ADPT_SRC} ${BRPC_ADPT_SRC}) set_property(TARGET rpc_adapter_brpc PROPERTY CMAKE_CXX_STANDARD 11) -target_link_libraries(rpc_adapter_brpc PUBLIC dl boundscheck PRIVATE umq) +target_link_libraries(rpc_adapter_brpc PUBLIC dl boundscheck PRIVATE ${UMQ_LIB}) install(TARGETS rpc_adapter_brpc DESTINATION /usr/lib64/) \ No newline at end of file -- Gitee From 09acf635a4b59641101f23e37c028bc707fccb70 Mon Sep 17 00:00:00 2001 From: fanzhaonan Date: Fri, 28 Nov 2025 20:09:34 +0800 Subject: [PATCH 4/4] eid_idx bugfix --- src/ubsocket/CMakeLists.txt | 5 +++-- src/ubsocket/configure_settings.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ubsocket/CMakeLists.txt b/src/ubsocket/CMakeLists.txt index e7ddc62..68d4d78 100644 --- a/src/ubsocket/CMakeLists.txt +++ b/src/ubsocket/CMakeLists.txt @@ -19,10 +19,11 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_FLAGS_PUBILC} ${CMAKE_FLAGS_x86_64} -std=c++11") endif() -if (NOT DEFINE UMQ_INCLUDE OR UMQ_INCLUDE STREQUAL "") +if (NOT DEFINED UMQ_INCLUDE OR UMQ_INCLUDE STREQUAL "") set(UMQ_INCLUDE "/usr/include/ub/umdk/urpc/umq/") endif() -if (NOT DEFINE UMQ_LIB OR UMQ_LIB STREQUAL "") + +if (NOT DEFINED UMQ_LIB OR UMQ_LIB STREQUAL "") set(UMQ_LIB "/usr/lib64/libumq.so") endif() diff --git a/src/ubsocket/configure_settings.h b/src/ubsocket/configure_settings.h index 4b0e713..9f660ab 100644 --- a/src/ubsocket/configure_settings.h +++ b/src/ubsocket/configure_settings.h @@ -36,7 +36,7 @@ #define ENV_VAR_TRANS_MODE "RPC_ADPT_TRANS_MODE" #define ENV_VAR_DEV_IP "RPC_ADPT_DEV_IP" #define ENV_VAR_DEV_DEV_NAME "RPC_ADPT_DEV_NAME" -#define ENV_VAR_DEV_EID_IDX "RPC_ADPT_EID_IDX" +#define ENV_VAR_EID_IDX "RPC_ADPT_EID_IDX" #define ENV_VAR_TX_DEPTH "RPC_ADPT_TX_DEPTH" #define ENV_VAR_RX_DEPTH "RPC_ADPT_RX_DEPTH" #define ENV_VAR_STATS "RPC_ADPT_STATS" -- Gitee