summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHÃ¥vard Pettersen <3535158+havardpe@users.noreply.github.com>2023-02-23 16:13:48 +0100
committerGitHub <noreply@github.com>2023-02-23 16:13:48 +0100
commit316472c24ae9bb13f02f55cc512db86cba0728c1 (patch)
tree0b549f5469caee672007f300d5f76d9765a05c22
parent688a57cac9e1700d5fc557ebc64e547f65ed5f1c (diff)
parentfe0e2b8bee620b55ee04a80d00f25761d6fe1b45 (diff)
Merge pull request #26162 from vespa-engine/havardpe/avoid-fastos-thread-in-searchlib
stop using fastos thread in searchlib
-rw-r--r--searchlib/src/tests/postinglistbm/stress_runner.cpp24
-rw-r--r--searchlib/src/tests/transactionlog/translogclient_test.cpp1
-rw-r--r--searchlib/src/tests/transactionlogstress/translogstress.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp1
4 files changed, 8 insertions, 19 deletions
diff --git a/searchlib/src/tests/postinglistbm/stress_runner.cpp b/searchlib/src/tests/postinglistbm/stress_runner.cpp
index 179e4f49ef4..3e3db3701c7 100644
--- a/searchlib/src/tests/postinglistbm/stress_runner.cpp
+++ b/searchlib/src/tests/postinglistbm/stress_runner.cpp
@@ -2,7 +2,6 @@
#include "stress_runner.h"
-#include <vespa/fastos/thread.h>
#include <vespa/searchlib/test/fakedata/fake_match_loop.h>
#include <vespa/searchlib/test/fakedata/fakeposting.h>
#include <vespa/searchlib/test/fakedata/fakeword.h>
@@ -13,7 +12,7 @@
#include <condition_variable>
#include <mutex>
#include <vector>
-#include <thread>
+#include <vespa/vespalib/util/thread.h>
#include <vespa/log/log.h>
LOG_SETUP(".stress_runner");
@@ -43,7 +42,7 @@ private:
uint32_t _stride;
bool _unpack;
- FastOS_ThreadPool *_threadPool;
+ vespalib::ThreadPool _threadPool;
std::vector<StressWorkerUP> _workers;
uint32_t _workersDone;
@@ -88,7 +87,7 @@ public:
double runWorkers(const std::string &postingFormat);
};
-class StressWorker : public FastOS_Runnable {
+class StressWorker : vespalib::Runnable {
protected:
StressMaster& _master;
uint32_t _id;
@@ -102,7 +101,7 @@ public:
StressWorker(StressMaster& master, uint32_t id);
virtual ~StressWorker();
- virtual void Run(FastOS_ThreadInterface* thisThread, void* arg) override;
+ virtual void run() override;
};
class DirectStressWorker : public StressWorker {
@@ -147,7 +146,7 @@ StressMaster::StressMaster(vespalib::Rand48 &rnd,
_skipCommonPairsRate(skipCommonPairsRate),
_stride(stride),
_unpack(unpack),
- _threadPool(nullptr),
+ _threadPool(),
_workers(),
_workersDone(0),
_wordSet(wordSet),
@@ -159,17 +158,12 @@ StressMaster::StressMaster(vespalib::Rand48 &rnd,
_tasks()
{
LOG(info, "StressMaster::StressMaster()");
-
- _threadPool = new FastOS_ThreadPool(400);
}
StressMaster::~StressMaster()
{
LOG(info, "StressMaster::~StressMaster()");
-
- _threadPool->Close();
- delete _threadPool;
- _threadPool = nullptr;
+ _threadPool.join();
_workers.clear();
dropPostings();
}
@@ -329,7 +323,7 @@ StressMaster::runWorkers(const std::string &postingFormat)
}
for (auto& worker : _workers) {
- _threadPool->NewThread(worker.get());
+ _threadPool.start([obj = worker.get()](){obj->run();});
}
{
@@ -357,10 +351,8 @@ StressWorker::StressWorker(StressMaster& master, uint32_t id)
StressWorker::~StressWorker() = default;
void
-StressWorker::Run(FastOS_ThreadInterface* thisThread, void* arg)
+StressWorker::run()
{
- (void) thisThread;
- (void) arg;
LOG(debug, "StressWorker::Run(), id=%u", _id);
bool unpack = _master.getUnpack();
diff --git a/searchlib/src/tests/transactionlog/translogclient_test.cpp b/searchlib/src/tests/transactionlog/translogclient_test.cpp
index cdf157b3fa0..af277ecbc68 100644
--- a/searchlib/src/tests/transactionlog/translogclient_test.cpp
+++ b/searchlib/src/tests/transactionlog/translogclient_test.cpp
@@ -11,7 +11,6 @@
#include <vespa/vespalib/util/destructor_callbacks.h>
#include <vespa/fnet/transport.h>
#include <vespa/fastos/file.h>
-#include <vespa/fastos/thread.h>
#include <thread>
#include <vespa/log/log.h>
diff --git a/searchlib/src/tests/transactionlogstress/translogstress.cpp b/searchlib/src/tests/transactionlogstress/translogstress.cpp
index 14a66c71c18..124eb39e84b 100644
--- a/searchlib/src/tests/transactionlogstress/translogstress.cpp
+++ b/searchlib/src/tests/transactionlogstress/translogstress.cpp
@@ -12,7 +12,6 @@
#include <sstream>
#include <thread>
#include <unistd.h>
-#include <vespa/fastos/thread.h>
#include <vespa/log/log.h>
#include <vespa/vespalib/util/time.h>
diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp b/searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp
index 133fabd3e5f..17f06b189c6 100644
--- a/searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp
+++ b/searchlib/src/vespa/searchlib/transactionlog/translogclient.cpp
@@ -8,7 +8,6 @@
#include <vespa/fnet/transport.h>
#include <vespa/vespalib/util/threadstackexecutor.h>
#include <vespa/vespalib/util/size_literals.h>
-#include <vespa/fastos/thread.h>
#include <vespa/log/log.h>