blob: 10410048a0592f592603e0fceed228eeaecbed81 [file] [log] [blame]
diff --git a/src/bthread/task_group.cpp b/src/bthread/task_group.cpp
index b8ead163..94ce5eb7 100644
--- a/src/bthread/task_group.cpp
+++ b/src/bthread/task_group.cpp
@@ -248,6 +248,9 @@ int TaskGroup::init(size_t runqueue_capacity) {
return 0;
}
+#if defined(__linux__) && defined(__aarch64__) && defined(__clang__)
+ __attribute__((optnone))
+#endif
void TaskGroup::task_runner(intptr_t skip_remained) {
// NOTE: tls_task_group is volatile since tasks are moved around
// different groups.
@@ -567,6 +570,9 @@ void TaskGroup::sched(TaskGroup** pg) {
sched_to(pg, next_tid);
}
+#if defined(__linux__) && defined(__aarch64__) && defined(__clang__)
+ __attribute__((optnone))
+#endif
void TaskGroup::sched_to(TaskGroup** pg, TaskMeta* next_meta) {
TaskGroup* g = *pg;
#ifndef NDEBUG