Skip to content
Snippets Groups Projects
Commit a05a498c authored by Ugo Yu's avatar Ugo Yu
Browse files

Rename and reset the proirity of HID host thread

* Rename the HH event polling thread to bt_hh_thread
* HH event polling thread is created by bt_main_thread
  with RT priority. Lower the thread priority since the
  tasks in this thread is not timing critical

Bug: 131787936
Test: Connect to a HID device
      Run "adb shell ps -A -T -Z -O rtprio"
Change-Id: Ibd983e96bc339393842d4c2e2aa226534095e225
Merged-In: Ibd983e96bc339393842d4c2e2aa226534095e225
parent cb0de39d
No related branches found
No related tags found
No related merge requests found
......@@ -43,6 +43,8 @@ const char* dev_path = "/dev/uhid";
static tBTA_HH_RPT_CACHE_ENTRY sReportCache[BTA_HH_NV_LOAD_MAX];
#endif
#define GET_RPT_RSP_OFFSET 9
#define THREAD_NORMAL_PRIORITY 0
#define BT_HH_THREAD "bt_hh_thread"
void uhid_set_non_blocking(int fd) {
int opts = fcntl(fd, F_GETFL);
......@@ -208,6 +210,17 @@ static void* btif_hh_poll_event_thread(void* arg) {
APPL_TRACE_DEBUG("%s: Thread created fd = %d", __func__, p_dev->fd);
struct pollfd pfds[1];
// This thread is created by bt_main_thread with RT priority. Lower the thread
// priority here since the tasks in this thread is not timing critical.
struct sched_param sched_params;
sched_params.sched_priority = THREAD_NORMAL_PRIORITY;
if (sched_setscheduler(gettid(), SCHED_OTHER, &sched_params)) {
APPL_TRACE_ERROR("%s: Failed to set thread priority to normal", __func__);
p_dev->hh_poll_thread_id = -1;
return 0;
}
pthread_setname_np(pthread_self(), BT_HH_THREAD);
pfds[0].fd = p_dev->fd;
pfds[0].events = POLLIN;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment