LINUX.ORG.RU

Включить все ядра cpu

 , , ,


0

1

Подскажите, как заставить ядро на Андроиде использовать всегда все 8 ядер, а ни 4. Мне сильно мешает это ограничение, из-за него плохая производительность в одной программе, если бы я мог обойти это ограничение, то всё решилось бы. Но какие есть способы? Перекомпилировать ядро? Тогда что мне туда дописать? Нигде в интернете нет рабочего решения, и информации хотя бы про то, какой параметр добавить во время компиляции ядра. Если есть ещё какой-то способ с помощью root, подскажите, очень нужно сломать эту идиотскую систему huawei по занижению производительности

Ответ на: комментарий от gremlin_the_red

Это ограничение ядра на андроиде, решит с того что если программа задействует вместо 4-х энергосберегающих, все 8 ядер, производительность вырастет в 2 раза. Вы лучше не болтайте, а помогите

masteruser82841 ()
Ответ на: комментарий от WitcherGeralt

Ну смотри, я дам тебе ссылку на ядро для одного телефона (не моего). Его разработчик решил эту проблему. Я хочу узнать, КАК, чтобы я сам мог собрать ядро но уже для своего телефона, или каким-то другим способом отключить этот параметр, блокирующий производительность

https://forum.xda-developers.com/samsung-a-series/general/kernel-unlock-cores...

masteruser82841 ()
Ответ на: комментарий от masteruser82841

простой совет

Если бы. Там непростой коммутатор ядер.

Samsung сфейлилось на первых big.little. Запороли подключение переключателя так, что заботало только в режиме переключения между «большим» и «малым» кластерами. И то с потерей кэшей. Поздней уже нормальные выстили.

Уверен что в твоем не так же? В любом случае наверняка надо смотреть в сторону big.little или новых версий.

anonymous ()
Ответ на: комментарий от masteruser82841

Это ограничение ядра на андроиде

В первых процах с big.LITTLE, по-моему, все ядра одновременно в принципе не могли работать, не факт, что твой так может. Могу, ошибаться, конечно.

производительность вырастет в 2 раза

Только если задача параллелится.

WitcherGeralt ★★ ()
Ответ на: комментарий от masteruser82841

Это ограничение ядра на андроиде

Нет.

если программа задействует вместо 4-х энергосберегающих, все 8 ядер

Нет, если программа использует 4 именно энергосберегающих ядра, то он никогда не будет использовать все 8. Ибо если бы она могла, то планировщик давно бы её перекинул на big ядра, а, раз не перекидывает, то и больше мощи она физически использовать не может.

производительность вырастет в 2 раза

Нет, на big.LITTLE использование всех ядер никогда не даст 2х-кратного увеличения. Более того, в некоторых случаях производительность может упасть.

gremlin_the_red ★★ ()
Ответ на: комментарий от gremlin_the_red

У меня программа, адаптированная для многоядерных процессоров, я проводил тест на чужом телефоне, где ставил кастомное ядро, заставляющее телефон использовать 8 ядер, и производительность тогда выросла в 4 раза. Если все 8 ядер нельзя, скажите хотя бы КАК ИСПОЛЬЗОВАТЬ BIG ВМЕСТО LITTLE

masteruser82841 ()
Ответ на: комментарий от gremlin_the_red

у меня Huawei Honor 7C, там система тупит, и не хочет включать BIG кластер даже при высокой нагрузке. При этом я проверял спец виджетом загрузку процессора, и там было чётко видно, использовалось 3 энергоэффективных ядра, и то на половину, хотя программа работала бы быстрее, если бы я хотя бы мог принудительно запустить её на бигах.

masteruser82841 ()

Я бы посмотрел в программах типа Kernel Adiutor/EX Kernel Manager и тд. Опции включить все ядра я не увидел, но можно поиграться с планировщиками. Ну и да посмотри кастомные ядра, может ктонить собирает ядра с возможнстью разгона может там есть подобные опции

Solonix ★★ ()
Ответ на: комментарий от masteruser82841

Господи, ты бы хоть на википедию сходил. Это про модель, у которой самсунг поставил 8ми ядерный чип, но програмно отключили 4 из них. Подобных моделей в мире полторы штуки, ты уверен, что твоя из таких?

gremlin_the_red ★★ ()
Ответ на: комментарий от gremlin_the_red

Мне не важно, почему он их отключил, я хочу ПРОСТО включить обратно, а не когда телефон перегружен. Просто навсегда включить, использовать либо big, либо все сразу, не включая для энергосбережения

masteruser82841 ()

У тебя хоть в /proc/cpuinfo все эти восемь ядер видны? А то может оказаться так, что ядра у тебя только парами работают, и их никак нельзя оба из пары одновременно включить. Погугли ещё MP vs. IKS про big.LITTLE.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Ядра то видны, но всегда используется только 4, независимо от того загружен телефон или нет. К тому же я замерил разницу между big и little, и она составила всего 30%, а на том телефоне где мод на 8 ядер разница 4 раза!! 4 блин!!!! Мне не терпится найти способ превратить big.little в true octa-core

masteruser82841 ()
Ответ на: комментарий от masteruser82841

И что ты хочешь мне сказать этой ссылкой

Слишком нетерпелив ты, юный падаван, на Темную Сторону приведет это тебя.

Вот тебе еще одна ссылочка https://www.linuxsecrets.com/elinux-wiki/images/f/f0/Doing_big.LITTLE_right-_...

Nervous ★★★★ ()
Ответ на: комментарий от Nervous

Например сделать так, чтобы в обоих кластерах было не 0-3 и 4-7, а 0-7, тогда он будет думать, что у меня 16 ядер, в каждом кластере по 8, а на самом деле просто 8. Как угодно обмануть эту систему, потому что производительность отвратительная

masteruser82841 ()
Ответ на: комментарий от masteruser82841

Кстати. Некоторые ядра не совсем совместимы, даже если их объединили. Там не то, что одновременно запустить больше потоков сложно, но и следить постоянно надо на каком ядре находишься. Вроде разрабы mono писали про проблемы и крэши с некоторыми конфигурациями из-за этого.

anonymous ()
Ответ на: комментарий от gremlin_the_red

хех. один клиент у нас заказывал винсервер с 12 ядрами. я с удивлением наблюдал в мониторе нагрузку в однопоток.
после чего через месяц читал от них же гневное письмо, «у вас слабый сервер наша раззвездатая программа тормозит», емнип.

darkenshvein ★★★★★ ()
Ответ на: комментарий от anonymous

processor : 0 BogoMIPS : 38.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4

processor : 1 BogoMIPS : 38.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4

processor : 2 BogoMIPS : 38.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4

processor : 3 BogoMIPS : 38.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4

processor : 4 BogoMIPS : 38.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4

processor : 5 BogoMIPS : 38.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4

processor : 6 BogoMIPS : 38.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4

processor : 7 BogoMIPS : 38.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4

masteruser82841 ()
Ответ на: комментарий от masteruser82841

Эта PDF'ка и есть product brief, она даже называется snapdragon-450-mobile-platform-product-brief.pdf. Теперь открываем её и смотрим туда, где есть слово «CPU». Что там написано про ядра?

i-rinat ★★★★★ ()