msm: camera: core: Add delay detection support

This changes is to detect workqueue and tasklet
scheduling and execution delay.

CRs-Fixed: 2977775
Change-Id: Ia4b4845a067c22bd1f24bd63a971d103fcfc049c
Signed-off-by: Ayush Kumar <ayushkr@codeaurora.org>
This commit is contained in:
Ayush Kumar
2020-11-02 05:21:18 +05:30
parent 46d07dd8d8
commit 8554f46816
10 changed files with 103 additions and 52 deletions

View File

@@ -1,10 +1,11 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017-2018, 2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2018, 2020-2021 The Linux Foundation. All rights reserved.
*/
#include "cam_sync_util.h"
#include "cam_req_mgr_workq.h"
#include "cam_common_util.h"
int cam_sync_util_find_and_set_empty_row(struct sync_device *sync_dev,
long *idx)
@@ -295,8 +296,10 @@ void cam_sync_util_cb_dispatch(struct work_struct *cb_dispatch_work)
cb_dispatch_work);
sync_callback sync_data = cb_info->callback_func;
cam_req_mgr_thread_switch_delay_detect(CAM_SYNC_WORKQUEUE_NAME,
cb_info->workq_scheduled_ts);
cam_common_util_thread_switch_delay_detect(
"CAM-SYNC workq schedule",
cb_info->workq_scheduled_ts,
CAM_WORKQ_SCHEDULE_TIME_THRESHOLD);
sync_data(cb_info->sync_obj, cb_info->status, cb_info->cb_data);
kfree(cb_info);