LINUX.ORG.RU

ARM готов для серверов. Энтерпрайз будущего на марше

 , , , ,


3

4

Не так давно в ядре linux (стараниями проекта openvirtualization) появилась поддержка аппаратной виртуализации на процессорах ARM Cortex A15 и A7. К сожалению, в момент запила этого веселья достать девайс с A15 было очень сложно, но как только он у меня появился - я решил запустить на нём KVM.

Что мы здесь видим?

  • Процессор TI OMAP5432, 2 ядра A15 по 1.6ггц (у меня включено одно, выключал для теста и забыл включить)
  • QEMU использует KVM, эмулирует плату Versatile Express A15
  • Две виртуалки с андроидом
  • При том, что две виртуалки и видео через fbdev без DRM, и одно ядро - загрузка 40% без всяких оптимизаций.

Из сложностей - по умолчанию процессор грузится в режим SVC, а для запуска гипервизора требуется режим HYP, поэтому пришлось запилить в u-boot хак (http://paste.debian.net/41329/), который перезапускал ядра процессора (по очереди) в нужный режим. Подобный патч раньше был в рассылке uboot, но на финальной версии процессора он не работает. А разгадка одна. Над гипервизором есть ещё один уровень - монитор TrustZone. Так вот в нём и крутится «безопасная» ОС, у которой надо попросить нужные привилегии при помощи окода smc. Для любителей швабодки - да, на всех армах крутится проприетарщина с привилегиями выше, чем linux. И кроме как на Freescale I.MX нет даже документации, как залить в TZ свой код.

>>> Просмотр (1920x1080, 306 Kb)



Проверено: JB ()

А для Freescale I.MX где можно глянуть документацию о том, как залить в TZ свой код? И насчет всех армов. На Exynos крутится, факт, даже написано, где он лежит в бинарном виде. А вот, например, на Allwiner? И что-то я так и не понял. Хак таки запилил в u-boot, и гипервизор заработал, чему доказательством скрин. Так? Но «на финальной версии процессора он не работает». Так работает, или нет?

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

Поддерживаю. Хоть какие то тесты для сравнения, только какие-нибудь жизненные, а не синтетические, вроде вычисления Пи.

ivanlex ★★★★★
()

ARM готов для серверов. Энтерпрайз будущего на марше

Где тут энтерпрайз и сервера?

Mr_Alone ★★★★★
()

Прекрасный скриншот! Побольше б таких!

plm ★★★★★
()

Поддерживаю вопрос о производительности. Даже в HP Moonshot планировались ARM процессоры, но сейчас я вижу только Atom. Либо это лобби intel, либо рынку не нужен ARM на серверах.

jekader ★★★★★
()

А лектричества оно сколько кушает в таком режиме?

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

Он просто пока еще слаб. Думаю, А57 начнут впиливать по-маленьку в качестве эксперимента.

pekmop1024 ★★★★★
()

Увидел «швабодка», /root/builds/qemu/шняга, /usr/lib/systemd/шняга, и сделал на пользователе пометку «почти дешевый тролль».

tailgunner ★★★★★
()

За какое время загружается виртуалка с Android?

Я помню, как запускал qemu-system-arm с образом для Versatile Express на обычной машине. Грузился примерно минут 15.

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

В рассылке был патч для прототипа omap5. Потом фикс к нему, чтобы работало на финальном (том, что продаётся). Ни один из них у меня не завелся. Препдолагаю, там ошибкой было загружать в регистр адрес PC - видимо, перед релизом патча пару инструкций добавили, и PC стал указывать не на код, который находится после инструкции SMC, а куда-то раньше. Сейчас всё работает, конечно же

Про I.MX - есть публичный документ, что-то типа secure boot on i.mx6 and i.mx53. Про настройку регионов памяти мельком написано в мануале. Сам документ «i.mx6 security reference manual» под NDA, я его не видел. Впрочем, в Genode есть реализация TZ под I.MX, можно глянуть код там. Ну и вот ещё https://github.com/decaprox/articles/blob/master/trustzone-rus/trustzone.tex

Про Allwinner не знаю, может и нет. В конце концов, его не используют «солидные» фирмы типа google/apple, которым надо «защищать» контент от пользователя. Суть в том, что TZ есть почти везде, и повлиять на него никак нельзя.

Собственно, почему я и сказал про «швабодность» - к сожалению, многие и не догадываются о таких вещах, как скрытый гипервизор. На фоне этого разговоры о том, чтобы очистить дистрибутив от бинарных фирмварей смотрятся глупо (впрочем, я не считаю, что бинарь, загружаемая линуксом в девайс, хуже, чем просто в EEPROM. вопрос ведь в том, имеет ли девайс DMA или нет). Важно, чтобы больше разработчиков знало про устройство технологий DRM типа TrustZone.

alexst
() автор топика
Ответ на: комментарий от tlx

Секунд 20-30, как обычный андроид. Это же не интерпретатор ARM кода, а аппаратный режим гипервизора, как на X86

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

к сожалению, многие и не догадываются о таких вещах, как скрытый гипервизор

Ребята жрут rPI, в которой здоровенный блоб управляет всем.

devl547 ★★★★★
()

красава. только девайс дорогой адово

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

Круто. Но я, пожалуй, подожду полгодика и возьму что-нибудь на Cortex A57.

tlx ★★★★★
()

TI конечно годный производитель, но за 300 с лишним долларов можно купить железо и получше, на которое к тому же привычный софт встанет без танцев с бубном.

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

что вы все к цене-то прицепились? это же девкит, они всегда дорогие (ну да, pandaboard был дешевле, его TI спонсировали). если бы их выпускали сотнями тысяч и не разводили абсолютно все интерфейсы из SoC - стоило бы раза в 3 поменьше.

мне кажется, виртуализация на арме пригодится не для серверов, а для эмуляции legacy software (всякий софт под windows mobile, например) или для «dual-persona» смартфонов.

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

если бы их выпускали сотнями тысяч и не разводили абсолютно все интерфейсы из SoC - стоило бы раза в 3 поменьше.

Если б это было кому нибудь нужно, то конечно выпускали бы, и конечно стоили бы раза в 3 поменьше. А пока что для эмуляции да, было бы полезно разработчикам.

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

и не разводили абсолютно все интерфейсы из SoC - стоило бы раза в 3 поменьше

Ну так в ARM это же чуть ли не основная фишка, что ARM это SoC с кучей нестандартной хренотени, которую легко потом развести по мобиле или планшету. Кому он нужен без этого?

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

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

ну и вообще, я думаю, надо подождать пару лет и посмотреть на цены. расширения виртуализации в арме появились 3 года назад на бумаге, и полгода назад в железе.

alexst
() автор топика

ARM готов для серверов. Энтерпрайз будущего на марше

Не хочу такое будущее.

cipher ★★★★★
()

богомипсы впечатляют

snaf ★★★★★
()

Для любителей швабодки - да, на всех армах крутится проприетарщина с привилегиями выше, чем linux.

т.е. имеется 100%ая инфа, что соответствующая аппаратура есть во всех SoC и задействована?

AptGet ★★★
()
Последнее исправление: AptGet (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

вроде же написано, что KVM (aka QEMU). не особо тормозит - также, как если запустить на железе без драйверов opengl, всё упирается в графику (впрочем, для QEMU же пилят VirtualGL).

alexst
() автор топика

Насколько тупит графика в виртуалках?

invokercd ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.