Проснись спящего процессора для sched_setaffinity на Android - PullRequest
0 голосов
/ 21 января 2019

Я работаю над приложением, которое запускает несколько потоков, один из которых является наиболее важным и должен работать на самом мощном процессоре.Я успешно прикрепил этот поток к выбранному процессору с помощью функции c ++ sched_setaffinity.

syscallres = syscall(__NR_sched_setaffinity, pid, sizeof(cpu_set), &cpu_set);

На моем андроид устройстве первый процессор самый сильный, 3 других слабее и 4 последних энергосберегают.Первый - самый сильный и всегда включен, однако, основываясь на документах, процессор может спать и должен проснуться, прежде чем я присоединю поток к процессору, и действительно, основываясь на сообщениях здесь о stackoverflow, люди не могли прикрепить поток к процессору, пока он спал.Я не могу смоделировать это на своем устройстве, я всегда успешно присоединяю поток к выбранному процессору, возможно, это зависит от ОС.Итак, мой вопрос: как правильно включить процессор, прежде чем я вызову sched_setaffinity?

...