]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os: do not configure seastar allocator for alien threads 37983/head
authorKefu Chai <kchai@redhat.com>
Mon, 9 Nov 2020 06:34:00 +0000 (14:34 +0800)
committerKefu Chai <kchai@redhat.com>
Mon, 9 Nov 2020 06:47:39 +0000 (14:47 +0800)
4cd2b00d2a703510777bd761609be221859bd790 allows us to colocate seastar
allocator used by seastar reactors and libc allocator used by alien threads,
there is no need to configure seastar allocator for alien thread
anymore.

this change partially reverts

f7715b86ef09a820adb2d43d4e82cabc9a04199f
b55919071fc872d880bebe70bc270b9d66d02ab0

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/common/Thread.cc
src/crimson/os/alienstore/alien_store.cc
src/crimson/os/alienstore/alien_store.h
src/crimson/os/alienstore/thread_pool.cc
src/os/bluestore/BlueRocksEnv.cc
src/os/bluestore/BlueRocksEnv.h
src/test/crimson/CMakeLists.txt

index ca8d7a18272de6a82a2045153144ca55560cb363..aaee01aeff31b02300a2d5a419b159e4f36c82d5 100644 (file)
@@ -84,9 +84,6 @@ void *Thread::entry_wrapper()
     _set_affinity(cpuid);
 
   ceph_pthread_setname(pthread_self(), thread_name.c_str());
-#ifdef WITH_SEASTAR
-  crimson::os::AlienStore::configure_thread_memory();
-#endif
   return entry();
 }
 
index 56bf63fb8f5c74bf1c80af3fee5544cff2a0c94a..51548d874f5bf317b142268714119c8b157fc64f 100644 (file)
@@ -5,7 +5,6 @@
 #include "alien_store.h"
 
 #include <map>
-#include <optional>
 #include <string_view>
 #include <boost/algorithm/string/trim.hpp>
 #include <fmt/format.h>
@@ -13,9 +12,7 @@
 
 #include <seastar/core/alien.hh>
 #include <seastar/core/future-util.hh>
-#include <seastar/core/memory.hh>
 #include <seastar/core/reactor.hh>
-#include <seastar/core/resource.hh>
 
 #include "common/ceph_context.h"
 #include "global/global_context.h"
@@ -570,13 +567,4 @@ int AlienStore::AlienOmapIterator::status() const
   return iter->status();
 }
 
-void AlienStore::configure_thread_memory()
-{
-  std::vector<seastar::resource::memory> layout;
-  // 1 GiB for experimenting. Perhaps we'll introduce a config option later.
-  // TODO: consider above.
-  layout.emplace_back(seastar::resource::memory{1024 * 1024 * 1024, 0});
-  seastar::memory::configure(layout, false, std::nullopt);
-}
-
 }
index 9238c4df548bdc04179afb3691fa033ab827fa72..fde0c1757bca473d955bd130157d5bc898b39d32 100644 (file)
@@ -111,7 +111,6 @@ public:
     CollectionRef ch,
     const ghobject_t& oid) final;
 
-  static void configure_thread_memory();
 private:
   constexpr static unsigned MAX_KEYS_PER_OMAP_GET_CALL = 32;
   mutable std::unique_ptr<crimson::os::ThreadPool> tp;
index 488599e27488002def0891038c5273ecaec8dad0..e127d87d524fc9cca0ee290335372a18de52a780 100644 (file)
@@ -5,7 +5,6 @@
 
 #include "include/ceph_assert.h"
 #include "crimson/common/config_proxy.h"
-#include "crimson/os/alienstore/alien_store.h"
 
 using crimson::common::local_conf;
 
@@ -23,7 +22,6 @@ ThreadPool::ThreadPool(size_t n_threads,
       if (cpu_id >= 0) {
         pin(cpu_id);
       }
-      crimson::os::AlienStore::configure_thread_memory();
       loop(queue_max_wait);
     });
   }
index 00df87a1450d0eb9609077655102f0537f3a0310..71232b3f65f1e1dd49a93c7fc076457e3b16a38e 100644 (file)
@@ -1,10 +1,6 @@
 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
 // vim: ts=8 sw=2 smarttab
 
-#ifdef WITH_SEASTAR
-#include "crimson/os/alienstore/alien_store.h"
-#endif
-
 #include "BlueRocksEnv.h"
 #include "BlueFS.h"
 #include "include/stringify.h"
@@ -591,11 +587,3 @@ rocksdb::Status BlueRocksEnv::GetTestDirectory(std::string* path)
   *path = "temp_" + stringify(++foo);
   return rocksdb::Status::OK();
 }
-
-void BlueRocksEnv::StartThread(void(*function)(void* arg), void* arg)
-{
-#ifdef WITH_SEASTAR
-  crimson::os::AlienStore::configure_thread_memory();
-#endif
-  base_t::StartThread(function, arg);
-}
index 652e90ab6d5d9a5c99377b2301d6890f3f09f171..82cffcd809bdd27d7313c38b3a6c715cdc576ec4 100644 (file)
@@ -16,8 +16,6 @@
 class BlueFS;
 
 class BlueRocksEnv : public rocksdb::EnvWrapper {
-  using base_t = EnvWrapper;
-
   void split(const std::string &fn, std::string *dir, std::string *file) {
     size_t slash = fn.rfind('/');
     *file = fn.substr(slash + 1);
@@ -158,9 +156,6 @@ public:
   rocksdb::Status GetAbsolutePath(const std::string& db_path,
       std::string* output_path) override;
 
-  // Start new thread taking care about Seastar's allocator init.
-  void StartThread(void(*function)(void* arg), void* arg) override;
-
   explicit BlueRocksEnv(BlueFS *f);
 private:
   BlueFS *fs;
index 3775fc417d92ab174e2979dd1b7b37b1a2a04fdb..86f76dee64e51c42a3edcb8fe1fbedb466f2496c 100644 (file)
@@ -36,7 +36,6 @@ add_ceph_test(unittest-seastar-alienstore-thread-pool
   unittest-seastar-alienstore-thread-pool --memory 256M --smp 1)
 target_link_libraries(unittest-seastar-alienstore-thread-pool
   crimson-os
-  crimson-alienstore
   crimson)
 
 add_executable(unittest-seastar-config