From 978d5321b4a055fcc02dd72208bffd62113fde10 Mon Sep 17 00:00:00 2001 From: Stan Iliev Date: Wed, 6 Feb 2019 12:02:28 -0500 Subject: [PATCH] Fix RenderThread and worker thread names used by tools Test: collected systrace and RenderThread hwuiTask1/2 shown Change-Id: I1114ff72a7ed8c9dc86a64ebd15ca783d1b2ff08 --- core/jni/android_view_ThreadedRenderer.cpp | 4 ++-- libs/hwui/renderthread/RenderThread.cpp | 2 +- libs/hwui/renderthread/RenderThread.h | 2 +- libs/hwui/thread/TaskManager.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp index 2c058cd0d6fd8..8c7363021d3b6 100644 --- a/core/jni/android_view_ThreadedRenderer.cpp +++ b/core/jni/android_view_ThreadedRenderer.cpp @@ -1202,12 +1202,12 @@ static const JNINativeMethod gMethods[] = { static JavaVM* mJvm = nullptr; -static void attachRenderThreadToJvm() { +static void attachRenderThreadToJvm(const char* name) { LOG_ALWAYS_FATAL_IF(!mJvm, "No jvm but we set the hook??"); JavaVMAttachArgs args; args.version = JNI_VERSION_1_4; - args.name = NULL; + args.name = name; args.group = NULL; JNIEnv* env; mJvm->AttachCurrentThreadAsDaemon(&env, (void*) &args); diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp index 1f24f0e64eabe..3904ed20fd775 100644 --- a/libs/hwui/renderthread/RenderThread.cpp +++ b/libs/hwui/renderthread/RenderThread.cpp @@ -329,7 +329,7 @@ void RenderThread::requestVsync() { bool RenderThread::threadLoop() { setpriority(PRIO_PROCESS, 0, PRIORITY_DISPLAY); if (gOnStartHook) { - gOnStartHook(); + gOnStartHook("RenderThread"); } initThreadLocals(); diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h index d062dba288fc7..b18292820c6bf 100644 --- a/libs/hwui/renderthread/RenderThread.h +++ b/libs/hwui/renderthread/RenderThread.h @@ -75,7 +75,7 @@ struct VsyncSource { class DummyVsyncSource; -typedef void (*JVMAttachHook)(); +typedef void (*JVMAttachHook)(const char* name); class RenderThread : private ThreadBase { PREVENT_COPY_AND_ASSIGN(RenderThread); diff --git a/libs/hwui/thread/TaskManager.cpp b/libs/hwui/thread/TaskManager.cpp index 6493d495716e6..de10ff1824eed 100644 --- a/libs/hwui/thread/TaskManager.cpp +++ b/libs/hwui/thread/TaskManager.cpp @@ -87,7 +87,7 @@ status_t TaskManager::WorkerThread::readyToRun() { setpriority(PRIO_PROCESS, 0, PRIORITY_FOREGROUND); auto onStartHook = renderthread::RenderThread::getOnStartHook(); if (onStartHook) { - onStartHook(); + onStartHook(mName.c_str()); } return NO_ERROR;