nixp.ru v3.0

5 ноября 2024,
вторник,
08:24:12 MSK

12 октября 2011, 12:23

Модуль VirtualBox к ядру Linux признан низкокачественным

Дэйв Джонс на linux.conf.au 2008
Дэйв Джонс на linux.conf.au 2008
Иллюстрация с сайта lwn.net

Дэйв Джонс (Dave Jones), занимающийся разработкой ядра Linux, вынес приговор модулю VirtualBox («vboxdrv»), добавив патч с меткой TAINT_CRAP для ядра при загрузке этого драйвера.

Модуль «vboxdrv» к ядру Linux используется для обеспечения некоторых возможностей для гостевых операционных систем при использовании системы виртуализации Oracle VirtualBox. Добавляя метку, Дэйв оставил весьма лаконичный комментарий в коде: «vbox — это мусор».

Объясняя свои действия в почтовой рассылке, он написал, что модуль для VirtualBox распространяется под лицензией GPL, однако это ещё ничего не говорит о его качестве. Метка TAINT_CRAP призвана обратить внимание заинтересованных в этом модуле на низкое качество его исполнения, которое приводит к проблемам в функционировании ядра.

Первым на данное событие отреагировал Грег Кроа-Хартман (Greg Korah-Hartman) — одна из самых заметных фигур в мире разработчиков ядра Linux. Он согласился с решением Дэйва и сообщил о намерении внести такой «патч» в ядра Linux для дистрибутива openSUSE. Франк Менхерт (Frank Mehnert), работающий в немецком подразделении Oracle и занимающийся VirtualBox, высказал противоположную позицию, отметив «хорошие взаимоотношения с Open Source-сообществом», попросив указать на проблемы в «vboxdrv» для их исправления и надеясь на получение «полезной и конструктивной критики».

Данное событие представляется довольно интересным и в контексте своеобразного противостояния компании Red Hat, в которой работает Джонс, и корпорации Oracle, стоящей за VirtualBox, на фронте виртуализации.

P.S. Дэйв Джонс работает в компании Red Hat и специализируется в поддержке ядра Linux для дистрибутива Fedora. А ещё он любит сыр.

Постоянная ссылка к новости: http://www.nixp.ru/news/11420.html. Дмитрий Шурупов по материалам phoronix.com, lkml.org.

fb twitter vk
yesint

Хз, но с точки зрения пользователя ни разу проблем со стабильностью не замечал за много лет. В функционале была куча глюков временами, но падать он никогда не падал и ядро никогда не «вешал». Так что если там говнокод, то это скорее эстетическая проблема.

Дмитрий Шурупов

Автор говорит именно о существенных проблемах: «corrupt linked lists, corrupt page tables, and just plain 'weird' crashes».

yesint

Ну мужик, имхо, лукавит. Если бы там были «weird crashes», то это давно бы заметили рядовые юзеры поскольку оно бы банально падало. А оно не падает.

В принципе любой сложный код на Си обычно содержит кучу «висячих» указателей и прочей дряни, но все это находится в «мертвых» ветвях кода, куда поток выполнения просто не доходит в 99.999% случаев.

defender

Заметили-заметили. У нас Win2003 AD под Vbox-ом работал. Не раз ловил OOps. Теперь под kvm. Там тоже не все слава богу (но в этот раз с производительностью) но работает стабильно и уж хостовое ядро ни разу не крашил.

yesint

Значит вы нарвались на те самые 0.0001% :)

defender

Ух какой я везучий :) Хоть в лотерею иди играй :D

Илья Смирнов

Я думаю, данная подначка может иметь позитивный эффект, так как, поскольку обратили внимание и стали придираться, код VirtualBox от этого только улучшится, что меня, как пользователя этой технологии, не может не радовать :)

defender

Ну будем надеяться,  но вон МС уже не одно поколение обговнякивает :D

Alexandr S.

Аналогично — за все время использования никаких серьезных сбоев замечено не было.

Причину же конфликтной ситуации, мне кажется, весьма лаконично поясняет последний абзац.

Павел В

Согласен. У меня под VirtualBox сейчас собраны и работают WinXP, Win7, Centos, FreeBSD. Последний раз падение системы (гостевой, а не хоста) было года 3 назад.

pol

После последней коллизии с кернел паникой при выключении компьютера с загруженным vboxdrv, вполне логичное решение.

https://www.virtualbox.org/ticket/9253

erev

У меня vboxdrv не желает работать с OpenSuse11.4 kernel 3-0-6.44

rgo

Да! Так ему. Ораклу этому гадкому. =)