aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@yahooinc.com>2023-02-22 09:18:36 +0000
committerHåvard Pettersen <havardpe@yahooinc.com>2023-02-22 10:43:14 +0000
commited321ca9a3d53acf088cd88d19e6ccf107bd0e76 (patch)
treee65b39fe9a8ff9852c78219b43d275650b28ebaf /searchcore
parent6c4c2f2a432896ee5ae2f6f8320342627840dab8 (diff)
stop using FastOS_ThreadId
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp15
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/executor_thread_service.cpp24
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h10
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp8
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp6
5 files changed, 24 insertions, 39 deletions
diff --git a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
index 0234d5fbedf..6f034161ac4 100644
--- a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
@@ -82,9 +82,9 @@ namespace {
VESPA_THREAD_STACK_TAG(my_executor_init);
void
-sampleThreadId(FastOS_ThreadId *threadId)
+sampleThreadId(std::thread::id *threadId)
{
- *threadId = FastOS_Thread::GetCurrentThreadId();
+ *threadId = std::this_thread::get_id();
}
} // namespace
@@ -207,12 +207,12 @@ class MyFeedHandler : public IDocumentMoveHandler,
public IHeartBeatHandler,
public IOperationStorer
{
- FastOS_ThreadId _executorThreadId;
+ std::thread::id _executorThreadId;
std::vector<MyDocumentSubDB *> _subDBs;
SerialNum _serialNum;
std::atomic<uint32_t> _heartBeats;
public:
- explicit MyFeedHandler(FastOS_ThreadId &executorThreadId);
+ explicit MyFeedHandler(std::thread::id executorThreadId);
~MyFeedHandler() override;
@@ -241,7 +241,7 @@ public:
class MyExecutor : public vespalib::ThreadStackExecutorBase
{
public:
- FastOS_ThreadId _threadId;
+ std::thread::id _threadId;
MyExecutor();
bool acceptNewTask(unique_lock &, std::condition_variable &) override {
@@ -604,7 +604,7 @@ MyDocumentSubDB::getNumUsedLids() const
}
-MyFeedHandler::MyFeedHandler(FastOS_ThreadId &executorThreadId)
+MyFeedHandler::MyFeedHandler(std::thread::id executorThreadId)
: IDocumentMoveHandler(),
IPruneRemovedDocumentsHandler(),
IHeartBeatHandler(),
@@ -622,8 +622,7 @@ MyFeedHandler::~MyFeedHandler() = default;
bool
MyFeedHandler::isExecutorThread() const
{
- FastOS_ThreadId threadId(FastOS_Thread::GetCurrentThreadId());
- return FastOS_Thread::CompareThreadIds(_executorThreadId, threadId);
+ return (_executorThreadId == std::this_thread::get_id());
}
diff --git a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.cpp b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.cpp
index 74f6a622661..27650b27c77 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.cpp
@@ -3,7 +3,6 @@
#include "executor_thread_service.h"
#include <vespa/vespalib/util/lambdatask.h>
#include <vespa/vespalib/util/gate.h>
-#include <vespa/fastos/thread.h>
using vespalib::makeLambdaTask;
using vespalib::Executor;
@@ -14,27 +13,20 @@ using vespalib::SyncableThreadExecutor;
namespace proton {
-namespace internal {
-
-struct ThreadId {
- FastOS_ThreadId _id;
-};
-}
-
namespace {
void
-sampleThreadId(FastOS_ThreadId *threadId)
+sampleThreadId(std::thread::id *threadId)
{
- *threadId = FastOS_Thread::GetCurrentThreadId();
+ *threadId = std::this_thread::get_id();
}
-std::unique_ptr<internal::ThreadId>
+std::thread::id
getThreadId(ThreadExecutor &executor)
{
- std::unique_ptr<internal::ThreadId> id = std::make_unique<internal::ThreadId>();
+ std::thread::id id;
vespalib::Gate gate;
- executor.execute(makeLambdaTask([threadId=&id->_id, &gate] {
+ executor.execute(makeLambdaTask([threadId = &id, &gate] {
sampleThreadId(threadId);
gate.countDown();
}));
@@ -74,8 +66,7 @@ ExecutorThreadService::run(Runnable &runnable)
bool
ExecutorThreadService::isCurrentThread() const
{
- FastOS_ThreadId currentThreadId = FastOS_Thread::GetCurrentThreadId();
- return FastOS_Thread::CompareThreadIds(_threadId->_id, currentThreadId);
+ return (_threadId == std::this_thread::get_id());
}
vespalib::ExecutorStats ExecutorThreadService::getStats() {
@@ -118,8 +109,7 @@ SyncableExecutorThreadService::run(Runnable &runnable)
bool
SyncableExecutorThreadService::isCurrentThread() const
{
- FastOS_ThreadId currentThreadId = FastOS_Thread::GetCurrentThreadId();
- return FastOS_Thread::CompareThreadIds(_threadId->_id, currentThreadId);
+ return (_threadId == std::this_thread::get_id());
}
vespalib::ExecutorStats
diff --git a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h
index 7298b81611a..48b8d8be9b9 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h
+++ b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h
@@ -3,10 +3,10 @@
#include <vespa/searchcorespi/index/i_thread_service.h>
#include <vespa/vespalib/util/threadexecutor.h>
+#include <thread>
namespace proton {
-namespace internal { struct ThreadId; }
/**
* Implementation of IThreadService using an underlying thread stack executor
* with a single thread.
@@ -15,7 +15,7 @@ class ExecutorThreadService : public searchcorespi::index::IThreadService
{
private:
vespalib::ThreadExecutor &_executor;
- std::unique_ptr<internal::ThreadId> _threadId;
+ std::thread::id _threadId;
public:
ExecutorThreadService(vespalib::ThreadExecutor &executor);
@@ -39,8 +39,8 @@ public:
class SyncableExecutorThreadService : public searchcorespi::index::ISyncableThreadService
{
private:
- vespalib::SyncableThreadExecutor &_executor;
- std::unique_ptr<internal::ThreadId> _threadId;
+ vespalib::SyncableThreadExecutor &_executor;
+ std::thread::id _threadId;
public:
SyncableExecutorThreadService(vespalib::SyncableThreadExecutor &executor);
@@ -66,5 +66,3 @@ public:
};
} // namespace proton
-
-
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
index c86019005dc..fa8b86416d0 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
@@ -6,8 +6,7 @@
#include <vespa/searchcorespi/index/i_thread_service.h>
#include <vespa/searchcore/proton/common/scheduledexecutor.h>
#include <vespa/vespalib/util/lambdatask.h>
-#include <vespa/fastos/thread.h>
-#include <thread>
+#include <vespa/vespalib/util/thread.h>
#include <vespa/log/log.h>
LOG_SETUP(".proton.server.maintenancecontroller");
@@ -16,6 +15,7 @@ using document::BucketId;
using vespalib::Executor;
using vespalib::MonitoredRefCount;
using vespalib::makeLambdaTask;
+using vespalib::thread::as_zu;
namespace proton {
@@ -69,7 +69,7 @@ MaintenanceController::killJobs()
}
// Called by master write thread
assert(_masterThread.isCurrentThread());
- LOG(debug, "killJobs(): threadId=%zu", (size_t)FastOS_Thread::GetCurrentThreadId());
+ LOG(debug, "killJobs(): threadId=%zu", as_zu(std::this_thread::get_id()));
_periodicTaskHandles.clear();
// No need to take _jobsLock as modification of _jobs also happens in master write thread.
for (auto &job : _jobs) {
@@ -99,7 +99,7 @@ void
MaintenanceController::performHoldJobs(JobList jobs)
{
// Called by master write thread
- LOG(debug, "performHoldJobs(): threadId=%zu", (size_t)FastOS_Thread::GetCurrentThreadId());
+ LOG(debug, "performHoldJobs(): threadId=%zu", as_zu(std::this_thread::get_id()));
(void) jobs;
}
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp
index 5e6cee94292..e580066ec17 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "maintenancejobrunner.h"
-#include <vespa/fastos/thread.h>
#include <vespa/vespalib/util/cpu_usage.h>
#include <vespa/vespalib/util/lambdatask.h>
@@ -54,10 +53,9 @@ MaintenanceJobRunner::runJobInExecutor()
}
bool finished = _job->run();
if (LOG_WOULD_LOG(debug)) {
- FastOS_ThreadId threadId = FastOS_Thread::GetCurrentThreadId();
LOG(debug,
- "runJobInExecutor(): job='%s', task='%p', threadId=%" PRIu64 "",
- _job->getName().c_str(), this, (uint64_t)threadId);
+ "runJobInExecutor(): job='%s', task='%p'",
+ _job->getName().c_str(), this);
}
if (!finished) {
addExecutorTask();