From 868b64ef3fd64e4f52d76f9933308791a915b6de Mon Sep 17 00:00:00 2001 From: Yadu Date: Wed, 8 May 2024 09:59:40 -0500 Subject: [PATCH] Sync past tokio bump and drop thread restriction (#134) * Sync past tokio bump and drop thread restriction Signed-off-by: Yadunund * Bump zenoh-c to eclipse-zenoh/zenoh-c#307 * Updated zenoh-c to latest commit (#164) * updated zenoh-c to latest commit * updated zenoh-c commit comment * Updated comment in cmake --------- Signed-off-by: Yadunund Co-authored-by: Julien Enoch Co-authored-by: Steven Palma --- .../DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 | 9 +------ .../DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 | 9 +------ zenoh_c_vendor/CMakeLists.txt | 9 ++----- zenoh_c_vendor/patches/pr_301.patch | 24 ------------------- 4 files changed, 4 insertions(+), 47 deletions(-) delete mode 100644 zenoh_c_vendor/patches/pr_301.patch diff --git a/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 b/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 index c08213e6..3ba55dfa 100644 --- a/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 +++ b/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 @@ -189,14 +189,7 @@ }, // Number of threads dedicated to transmission // By default, the number of threads is calculated as follows: 1 + ((#cores - 1) / 4) - // We limit the number of threads that the zenoh session can spin to 1. - // Without this limit, applications with multiple zenoh sessions can - // encounter system resource errors when trying to create new threads. - // Once zenoh migrates to relying on tokio for its async runtime, - // see https://github.com/eclipse-zenoh/zenoh/pull/566, we can consider - // removing these flags since with tokio, zenoh can better manage the threads it spins - // with the help of thread pools. - threads: 1, + // threads: 1, }, /// Configure the zenoh RX parameters of a link rx: { diff --git a/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 b/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 index df48b032..55415a13 100644 --- a/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 +++ b/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 @@ -189,14 +189,7 @@ }, // Number of threads dedicated to transmission // By default, the number of threads is calculated as follows: 1 + ((#cores - 1) / 4) - // We limit the number of threads that the zenoh session can spin to 1. - // Without this limit, applications with multiple zenoh sessions can - // encounter system resource errors when trying to create new threads. - // Once zenoh migrates to relying on tokio for its async runtime, - // see https://github.com/eclipse-zenoh/zenoh/pull/566, we can consider - // removing these flags since with tokio, zenoh can better manage the threads it spins - // with the help of thread pools. - threads: 1, + // threads: 1, }, /// Configure the zenoh RX parameters of a link rx: { diff --git a/zenoh_c_vendor/CMakeLists.txt b/zenoh_c_vendor/CMakeLists.txt index da56c50a..a3ee866e 100644 --- a/zenoh_c_vendor/CMakeLists.txt +++ b/zenoh_c_vendor/CMakeLists.txt @@ -24,16 +24,12 @@ find_package(ament_cmake_vendor_package REQUIRED) # when expanded. set(ZENOHC_CARGO_FLAGS "--no-default-features$--features=zenoh/transport_tcp zenoh/shared-memory") -# Set VCS_VERSION to include changes from https://github.com/eclipse-zenoh/zenoh/pull/802 -# which was synced to zenoh-c in https://github.com/eclipse-zenoh/zenoh-c/pull/272. -# Apply patches: -# - https://github.com/eclipse-zenoh/zenoh-c/pull/301 +# Set VCS_VERSION to include latest changes from zenoh-c https://github.com/eclipse-zenoh/zenoh-c/pull/340. ament_vendor(zenoh_c_vendor VCS_URL https://github.com/eclipse-zenoh/zenoh-c.git - VCS_VERSION 10176b911096cb92b8ee46bc491b78079ee26c20 + VCS_VERSION 68ab0c1faa2c3521680352778e618d95f15e2e95 CMAKE_ARGS "-DZENOHC_CARGO_FLAGS=${ZENOHC_CARGO_FLAGS}" - PATCHES patches ) # set(INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-prefix/install") @@ -42,5 +38,4 @@ ament_vendor(zenoh_c_vendor # DESTINATION "lib/${PROJECT_NAME}" # USE_SOURCE_PERMISSIONS # ) - ament_package() diff --git a/zenoh_c_vendor/patches/pr_301.patch b/zenoh_c_vendor/patches/pr_301.patch deleted file mode 100644 index 68008fd9..00000000 --- a/zenoh_c_vendor/patches/pr_301.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 00aa5ca..d236e99 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -27,7 +27,7 @@ declare_cache_var_true_if_vscode(ZENOHC_BUILD_IN_SOURCE_TREE "Do build inside so - declare_cache_var(ZENOHC_BUILD_WITH_LOGGER_AUTOINIT TRUE BOOL "Enable logger-autoinit zenoh-c feature") - declare_cache_var(ZENOHC_BUILD_WITH_SHARED_MEMORY TRUE BOOL "Enable shared-memory zenoh-c feature") - declare_cache_var(ZENOHC_CUSTOM_TARGET "" STRING "Rust target for cross compilation, 'aarch64-unknown-linux-gnu' for example") --declare_cache_var(ZENOHC_CARGO_CHANNEL "stable" STRING "Cargo channel selected: stable or nightly") -+declare_cache_var(ZENOHC_CARGO_CHANNEL "" STRING "Cargo channel parameter. Should be '+stable', '+nightly' or empty value") - declare_cache_var(ZENOHC_CARGO_FLAGS "" STRING "Additional cargo flags") - declare_cache_var(ZENOHC_LIB_STATIC FALSE BOOL "Alias zenohc::lib target to zenohc::static if TRUE, to zenohc::shared if FALSE") - -@@ -198,8 +198,8 @@ file(GLOB_RECURSE rust_sources "Cargo.toml.in" "src/*.rs" "build.rs" "splitguide - add_custom_command( - OUTPUT ${libs} - COMMAND ${CMAKE_COMMAND} -E echo \"RUSTFLAGS = $$RUSTFLAGS\" -- COMMAND ${CMAKE_COMMAND} -E echo \"cargo +${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}\" -- COMMAND cargo +${ZENOHC_CARGO_CHANNEL} build ${cargo_flags} -+ COMMAND ${CMAKE_COMMAND} -E echo \"cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}\" -+ COMMAND cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags} - VERBATIM - COMMAND_EXPAND_LISTS - DEPENDS "${rust_sources}"