summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMansoor Aftab <maftab@codeaurora.org>2013-09-05 16:53:58 -0700
committerAli B <abittin@gmail.com>2018-06-17 19:16:30 +0300
commitb658646d3bb36c51d55b3b35f8624de2c35a07f3 (patch)
treeedd26068dc449d258cff0c0972fe8d0f2f0a3436
parentb57eb29dbb7d8c4233fb5e5e024aa31271849a1f (diff)
Camera3: Name HAL threads
Name the HAL threads to make debugging easier Bug: 10609699 Change-Id: Ic953947eca7e4fde7c87bd7c890d1811cc3ff2fb
-rw-r--r--[-rwxr-xr-x]camera/QCamera2/HAL3/QCamera3PostProc.cpp1
-rwxr-xr-xcamera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h1
-rwxr-xr-xcamera/QCamera2/stack/mm-camera-interface/src/mm_camera.c1
-rw-r--r--camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c2
-rwxr-xr-xcamera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c1
-rw-r--r--[-rwxr-xr-x]camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c11
-rw-r--r--camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c2
-rw-r--r--camera/QCamera2/util/QCameraCmdThread.cpp20
-rw-r--r--camera/QCamera2/util/QCameraCmdThread.h1
9 files changed, 40 insertions, 0 deletions
diff --git a/camera/QCamera2/HAL3/QCamera3PostProc.cpp b/camera/QCamera2/HAL3/QCamera3PostProc.cpp
index a69257d..fab9f08 100755..100644
--- a/camera/QCamera2/HAL3/QCamera3PostProc.cpp
+++ b/camera/QCamera2/HAL3/QCamera3PostProc.cpp
@@ -997,6 +997,7 @@ void *QCamera3PostProcessor::dataProcessRoutine(void *data)
ALOGV("%s: E", __func__);
QCamera3PostProcessor *pme = (QCamera3PostProcessor *)data;
QCameraCmdThread *cmdThread = &pme->m_dataProcTh;
+ cmdThread->setName("cam_data_proc");
do {
do {
diff --git a/camera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h b/camera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h
index 7f0a837..d139ed4 100755
--- a/camera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h
+++ b/camera/QCamera2/stack/mm-camera-interface/inc/mm_camera.h
@@ -573,6 +573,7 @@ extern int32_t mm_camera_cmd_thread_launch(
mm_camera_cmd_thread_t * cmd_thread,
mm_camera_cmd_cb_t cb,
void* user_data);
+extern int32_t mm_camera_cmd_thread_name(const char* name);
extern int32_t mm_camera_cmd_thread_release(mm_camera_cmd_thread_t * cmd_thread);
#endif /* __MM_CAMERA_H__ */
diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c
index 06daf2e..258240d 100755
--- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c
+++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c
@@ -119,6 +119,7 @@ uint8_t mm_camera_util_chip_is_a_family(void)
static void mm_camera_dispatch_app_event(mm_camera_cmdcb_t *cmd_cb,
void* user_data)
{
+ mm_camera_cmd_thread_name("mm_cam_event");
int i;
mm_camera_event_t *event = &cmd_cb->u.evt;
mm_camera_obj_t * my_obj = (mm_camera_obj_t *)user_data;
diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c
index 9aa117a..9a6b3f5 100644
--- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c
+++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c
@@ -153,6 +153,7 @@ mm_stream_t * mm_channel_util_get_stream_by_handler(
static void mm_channel_dispatch_super_buf(mm_camera_cmdcb_t *cmd_cb,
void* user_data)
{
+ mm_camera_cmd_thread_name("mm_cam_cb");
mm_channel_t * my_obj = (mm_channel_t *)user_data;
if (NULL == my_obj) {
@@ -188,6 +189,7 @@ static void mm_channel_dispatch_super_buf(mm_camera_cmdcb_t *cmd_cb,
static void mm_channel_process_stream_buf(mm_camera_cmdcb_t * cmd_cb,
void *user_data)
{
+ mm_camera_cmd_thread_name("mm_cam_cmd");
mm_camera_super_buf_notify_mode_t notify_mode;
mm_channel_queue_node_t *node = NULL;
mm_channel_t *ch_obj = (mm_channel_t *)user_data;
diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c
index ad407b4..228970d 100755
--- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c
+++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c
@@ -262,6 +262,7 @@ static void mm_stream_dispatch_app_data(mm_camera_cmdcb_t *cmd_cb,
mm_stream_t * my_obj = (mm_stream_t *)user_data;
mm_camera_buf_info_t* buf_info = NULL;
mm_camera_super_buf_t super_buf;
+ mm_camera_cmd_thread_name("mm_cam_stream");
if (NULL == my_obj) {
return;
diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c
index 8596fc9..9f0dfe7 100755..100644
--- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c
+++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c
@@ -32,6 +32,7 @@
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/prctl.h>
#include <fcntl.h>
#include <poll.h>
#include <cam_semaphore.h>
@@ -334,6 +335,7 @@ static void *mm_camera_poll_fn(mm_camera_poll_thread_t *poll_cb)
*==========================================================================*/
static void *mm_camera_poll_thread(void *data)
{
+ prctl(PR_SET_NAME, (unsigned long)"mm_cam_poll_th", 0, 0, 0);
mm_camera_poll_thread_t *poll_cb = (mm_camera_poll_thread_t *)data;
/* add pipe read fd into poll first */
@@ -620,6 +622,15 @@ int32_t mm_camera_cmd_thread_launch(mm_camera_cmd_thread_t * cmd_thread,
return rc;
}
+int32_t mm_camera_cmd_thread_name(const char* name)
+{
+ int32_t rc = 0;
+ /* name the thread */
+ prctl(PR_SET_NAME, (unsigned long)name, 0, 0, 0);
+ return rc;
+}
+
+
int32_t mm_camera_cmd_thread_stop(mm_camera_cmd_thread_t * cmd_thread)
{
int32_t rc = 0;
diff --git a/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c b/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c
index 79fefc1..e74b4dd 100644
--- a/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c
+++ b/camera/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg.c
@@ -32,6 +32,7 @@
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/prctl.h>
#include <fcntl.h>
#include <poll.h>
@@ -1524,6 +1525,7 @@ static void *mm_jpeg_jobmgr_thread(void *data)
mm_jpeg_obj *my_obj = (mm_jpeg_obj*)data;
mm_jpeg_job_cmd_thread_t *cmd_thread = &my_obj->job_mgr;
mm_jpeg_job_q_node_t* node = NULL;
+ prctl(PR_SET_NAME, (unsigned long)"mm_jpeg_thread", 0, 0, 0);
do {
do {
diff --git a/camera/QCamera2/util/QCameraCmdThread.cpp b/camera/QCamera2/util/QCameraCmdThread.cpp
index d1061e5..4b24649 100644
--- a/camera/QCamera2/util/QCameraCmdThread.cpp
+++ b/camera/QCamera2/util/QCameraCmdThread.cpp
@@ -30,6 +30,7 @@
#include <utils/Errors.h>
#include <utils/Log.h>
#include <malloc.h>
+#include <sys/prctl.h>
#include "QCameraCmdThread.h"
using namespace android;
@@ -93,6 +94,25 @@ int32_t QCameraCmdThread::launch(void *(*start_routine)(void *),
}
/*===========================================================================
+ * FUNCTION : setName
+ *
+ * DESCRIPTION: name the cmd thread
+ *
+ * PARAMETERS :
+ * @name : desired name for the thread
+ *
+ * RETURN : int32_t type of status
+ * NO_ERROR -- success
+ * none-zero failure code
+ *==========================================================================*/
+int32_t QCameraCmdThread::setName(const char* name)
+{
+ /* name the thread */
+ prctl(PR_SET_NAME, (unsigned long)name, 0, 0, 0);
+ return NO_ERROR;
+}
+
+/*===========================================================================
* FUNCTION : sendCmd
*
* DESCRIPTION: send a command to the Cmd Thread
diff --git a/camera/QCamera2/util/QCameraCmdThread.h b/camera/QCamera2/util/QCameraCmdThread.h
index 803dfd6..a9511dc 100644
--- a/camera/QCamera2/util/QCameraCmdThread.h
+++ b/camera/QCamera2/util/QCameraCmdThread.h
@@ -58,6 +58,7 @@ public:
~QCameraCmdThread();
int32_t launch(void *(*start_routine)(void *), void* user_data);
+ int32_t setName(const char* name);
int32_t exit();
int32_t sendCmd(camera_cmd_type_t cmd, uint8_t sync_cmd, uint8_t priority);
camera_cmd_type_t getCmd();