return EINA_TRUE;
}
+static void
+_copy_thread_priority_lower()
+{
+ pthread_t self = pthread_self();
+ struct sched_param params;
+ int pol;
+ int err = pthread_getschedparam(self, &pol, ¶ms);
+ if (err != 0)
+ {
+ EHWQERR("fail to get pthread param", NULL, NULL, NULL);
+ return;
+ }
+
+ // lower the priority that was raised by 5 in ecore_thread_feedback_run
+ params.sched_priority -= 5;
+ pthread_setschedparam(self, pol, ¶ms);
+}
+
static void
_e_hwc_window_queue_copy_thread_run_cb(void *data, Ecore_Thread *thread)
{
if (!(copy_thread_data = data)) return;
if (thread)
- eina_thread_name_set(eina_thread_self(), "hwc_copy_thread");
+ {
+ eina_thread_name_set(eina_thread_self(), "hwc_copy_thread");
+ _copy_thread_priority_lower();
+ }
EHWQINF("Copy buffer tdata:%p src:%p dst:%p",
NULL,