Планета Calculate

Облако тэгов

звуковые карты wi-fi udev news полезное работа mail swap abi_x86_32 KDE5 xsel серые листы winbind tracker ДНК cld cp1251 live-flash valve syslog QupZilla kvm cairo-dock автологин настройка цветов принтера freerdp mpg123 форматирование текста профиль пользователя bonding book dwm NetworkManager apvlv CLDG qemu rtorrent uptime rutorrent ati autologin ccze asus n10j press радио mailman BINHOST builder persistence icons bash CSS клавиатура kde5 cldg strategy benchmark форум lm_sensors screenshot alpha пресса feh tun slim maillist lighttpd шаблоны домашний сервер Gnome3 hdmi CSC remoteapp zswap networking flashplayer atom n270 Книги foto тема pam power KDE dhcpcd android textile bond Tor elogv многопоточная закачка asus revision tint browser ati-drivers asterisk lirc vaio games desktop ups ускорение Xorg windows MultiTail BugTracker cpu family mplayer реестр PowerTOP su ПО RT mencoder package unmasking установка net cl-builder vulnerability blog tint2 программист LXC qrencode сайт утилитки на Icon EFI ControlMaster помощь день рождение LXD рассылка man LTE фидонет pre qupzilla db Calculate E17 wiki umd persistence-mode mirrorselect aufs xfce оптимизация AMD bootchart cryptsetup pxe birthday obmenu доступ rdp emerge radeon pf-kernel udisks ntfs-3g xen grub openbox midori кодировка CP1251 настройка цветов сканера beta keyboard systemd-udevd Calculate package sound gcc handbook ini.env grc MATE kernel pwkl cds командная строка firefox mate make.conf XZ kernek win7 acl jabber recordmydesktop windows 7 tweaks autounmask ext4 minicom двойная загрузка #calculatelinux linux tbn bug виртуализация benchmarking raid Firefox hibernate calculate2 w2k3 маршрутизатор gnome vpn support calculate-install-gui calculate utilities glx-dock CLC 4G calculate utils otter features profile Windows 7 Huawei new tools CDS dns dhcp настройка цветов фотоаппарата Calculate Linux Enlightenment сглаживание udisks-glue reader цветовой профиль icc фидо перенесено костыли распространение pdf cmc dropbox kde xfce pastebin twitter ssh шрифт authentication cls канал wget uksm LVM world мышка день программиста Midnight Commander sudo kde nano calculate-sources templates temperature pitivi calculate 2.2 portage CMC xchat ПДУ howto theme звук dvcs meta djvu cl-update-profile X linuxdcpp 1C postgresql apache fontconfig lcdfilter fonts шрифты DPI atheros9285 ratigan монитор экран разрешение sony smplayer описание tuxonice flags optimization fonts bluetooth uefi VirtualBox nm-applet weechat 11.6 backdor qr-code alsa torrent tail forum интервью Audio utilities donation сеты monitoring распространение программ systemd Office security загрузчик dhcp binhost Скоростной алгоритм сжатия LZ4 TV GSC canto браузер CL14 xxkb участие USE samba screensaver MyRuLib lto distro xbmc keyexec python3 Снобизм stage luks UTF-8 оптимизация linux lautre дизайн energy saving plan репозиторий Summer Camp 3G курсор мыши install Calculate Utilities Библиотека shorewall gnome3 GPT steam производительность gentoo vlc p2p mp3 Plasma plugn ldap screencast icon w2k8 mc lvm Compose установка Icon в Calculate nexus repo git team CLDC Atheros XFCE cldm сборка из исходников openssh pulseaudio pgo помощь проекту CLDM liveusb ppp0 tap mouse vim перемещаемые профили cl-kernel iptables mirror android kde mtp livecd Gnome cpp livedvd установка linux e4rat calculate3 начало update caffeine binary code dns calculate linux antivirus free documentation calculate-install dmidecode kde и многопоточный звук codelite euse CLSK rip grub2 интернет unclutter freshplayerplugin hdd most openrc container release Либрусек acoola новости SSD bsa font iphone dconf btrfs E17 nut настройка цветов монитора план RSS безопасность ebuild ядро gnome 2 github ncurses почта удаленная сеть qutim разработка xorg packages openldap udisks template calculate postfix ffmpeg ubuntu clementine глобальное меню загрузка CL17 CLSL EAPI 2 CLS обмен опытом E17 Calculate telegram chromium OpenRC Timeless overlay libvirt создание подсветки синтаксиса bittorrent АТС nouveau network calculate-utils developers вакансия ParaType facebook locale Desktop eudev DNA irc оптимизация ядра CDS настройка linux atheros calculate linux obconf automagic pptp MidnightCommander cl-console-bg cl CLDX linux CLDL internet history objecticon видео blueman firewall layout Zen softraid CLD подсветка синтаксиса video python dmix debian localepurge google talk-plugin smart блог bash-completion кеширование proxy Icon Calculate USB Creator Calculate Linux Spamassassin брелок programming сервер Cinnamon unicode

Установка кастомного ядра 3.6.2-pf на ноутбук HP 635 (AMD E-450 APU)

Добавил(а) Николай Ка около 5 лет назад

Ядро с точки зрения разработчиков

Универсальные ядра хороши своей универсальностью, как ни банально это звучит. Поставил на что угодно - заработало. Однако это неоспоримое преимущество может стать и недостатком. Как в моём случае - являясь счастливым обладателем не самого быстрого процессора вкупе с интегрированной графикой, и имея при этом порочную тягу к красивому рабочему столу, чтобы оно не тормозило, приходится прилагать дополнительные усилия. Иногда довольно значительные.

Собственно, претензии к стоковому ядру следующие:
  • неудовлетворительная работа стандартных планировщиков. Не в курсе, как там оно на 4096 процессорах, но на моих двух все имеющиеся в стоке планировщики работают в диапазоне от плохо до отвратительно, что с ними ни делай. Это касается как процессорного планировщика, так и планировщика в/в. Бился с iowait-ами долго и упорно, безусловная победа осталась за ними. При интенсивной работе с диском (проигрывание тяжёлого видео + торренты + раздача интернета) - iowait до 85-87% на процессор. Не знаю, что они там намудрили, но там, где ядра 2.4 бодро справлялись, 2.6 и последующие сливают безоговорочно. Шаманство с ionice и параметрами планировщика ситуацию улучшило незначительно. Помогло бы включение threadirqs, но при включении оного через полдня отпадает одна сетевая карта с руганью IRQ 18 - nobody cares. Подискутировал этот вопрос с Аланом - nobody cares, включая Алана. Пришлось, скрепя сердце, вырубить.
  • неизвестно откуда берущиеся огромные тормоза при работе с сетью и флешками. Начинает бодро, а под конец - как через модем. После записи нескольких Гб на SD карточку отмонтируется последняя до минуты. WTF???
  • мой радеон активно пилят. Драйверы, особенно в области 3D, развиваются очень интенсивно. На пороге OpenCL, что тоже довольно интересно - по работе приходится обрабатывать изображения. А проц не самый быстрый - GPU просто просится. (кстати, если кому-нибудь взбредёт в голову тот же iptables перевести на OpenCL - будет просто здорово. Однако, в ближайшем будущем это не светит - как минимум надо, чтобы ядро компилировалось llvm. Проект такой есть, но готового к употреблению продукта пока нет). Короче, чем новее ядро/драйверы/mesa, тем мне интереснее.
  • и, в последнюю очередь, но всё же... Явная избыточность - включена не только поддержка отсутствующего у меня железа, но и огромного количества ненужных мне на ноутбуке функций. Плюс оптимизация "для всего" явно хуже оптимизации под конкретную задачу.

Итак... Неохота, но придётся лезть в ядро.
Выбор пал на pf-kernel, как на максимально подходящее, для которого есть живой (и свежий!) ебилд. У zen набор патчей похожий, но с версиями неразбериха (= я так и не разобрался), а патчить каждый раз ручками влом. По крайней мере, пока.

Как основа были взяты конфиги текущего 3.3.3-calculate и Kernel Seed для сравнения (http://www.kernel-seeds.org/). На том же сайте недописанные, к сожалению, инструкции по конфигурированию. Плюс всезнающий гугл, разумеется. Весь процесс занял больше месяца долгими зимними вечерами.

ГРАБЛИ.

Свежесобранное без initrd ядро при запуске, разумеется, запаниковало, высыпав на экран разноцветный мусор (а кто бы сомневался?)
После нескольких дней интенсивного гугления оказалось, что:
  1. Нужно включать в ядро не только родные прошивки (сиречь radeon/PALM*), но также и весь родственный набор. Нелогично, но иначе не работает. Баг, однако. Не у одного меня так.
  2. Нужно выключить нафиг всё, связанное с фреймбуфером. Вообще всё. Сам фреймбуфер конфигуратор выключить не даёт, и этого достаточно, чтобы лицезреть процесс загрузки в высоком разрешении.
  3. Нужно убрать из параметров запуска ядра всё, связанное с видео и фреймбуфером и вписать туда video=1366x768-32@60 radeon.modeset=1 Казалось бы, есть специальный параметр CONFIG_DRM_RADEON_KMS=y, ан нет. Без этого паникует.
  4. 4. Без initrd никаких UUID. Явное указание раздела спасёт отца русской демократии.

После этого ядро наконец запустилось и заработало. Но без OpenCL. Виной была "повышающая производительность" опция ColorTiling2D в xorg.conf, добавленная "впрок", т.к. на 3.3.3 никакой разницы замечено не было. А тут вот появилась... Закомментировал - и всё встало на свои места.

Уже пару дней работает (тьфу, тьфу, тьфу) стабильно.

ЗАМЕЧЕННЫЕ ПРОБЛЕМЫ.
1. Не работает autofs. Каталоги видит, но при попытке зайти выдает

[kanyck: /usr/src/linux]$ cd /net/deb/export
[kanyck: /net/deb/export]$ ll
ls: невозможно получить доступ к movies: Устройство или ресурс занято
ls: невозможно получить доступ к Music: Устройство или ресурс занято
ls: невозможно получить доступ к Audio: Устройство или ресурс занято
ls: невозможно получить доступ к Downloads: Устройство или ресурс занято
ls: невозможно получить доступ к Hotplug: Устройство или ресурс занято
ls: невозможно получить доступ к stuff: Устройство или ресурс занято
итого 0
?????????? ? ? ? ? ? Audio
?????????? ? ? ? ? ? Downloads
?????????? ? ? ? ? ? Hotplug
?????????? ? ? ? ? ? movies
?????????? ? ? ? ? ? Music
?????????? ? ? ? ? ? stuff
[kanyck: /net/deb/export]$

И что самое неприятное, после такого эксперимента shutdown виснет на попытке localmount отмонтировать корень.... а ручками NFS монтируется нормально....

Что-то явно забыл включить в ядре, но вот что??? (Точно не AUTOFS4_FS. Это включено)))

2. Мелочь, не неудобно. При отключении кнопкой вайфая диодик не меняет цвет. Перерыл весь конфиг - какая опция за это отвечает - не нашёл. В кальковском работало.

А в остальном - впечатления исключительно положительные пока. Помимо на глаз заметной лучшей отзывчивости, особенно под нагрузкой (за что и боролись), в качестве бонуса выросла и производительность по сравнению с 3.3.3-calculate, несмотря на 1000Hz + NO_HZ - вероятно в т.ч. за счёт уменьшения паразитных задержек (сиречь бессмысленных iowait-ов, привет 12309). Полностью исчезли фризы при отмонтировании флешек, графика ускорилась процентов на 20. На очереди покорение mesa 9.0. У меня не заработала (точнее, заработала, но с 5FPS)))

supported_features.png - Ядро с точки зрения разработчиков (18,29 КБ)

bench-calc-3.3.3-vs-pf-3.6.2.out - Сравнение производительности (7,49 КБ)

config-3.6.2-pf-2 - Конфиг на настоящий момент (75,51 КБ)


Комментарии

Comment

Добавил(а) Николай Ка почти 5 года назад

UPD: в связи с багом в autofs пришлось откатиться на pf-3.4.6. Сижу на нём уже почти месяц. Работает хорошо, хотя периодически ядро умирает после suspend-a, но стандартное 3.3.3 делало то же самое. Зато напрочь перестал отваливаться тачпад после сильных перегрузок (вероятно, до этого доходило дело, когда включался двухэтажный swap плюс загрузка по 5-6 задач в очереди на процессор и комп тупил настолько, что начинали теряться события, отчего у тачпада сносило крышу).

Mesa 9.0 заработала после отключения MLAA, сдуру мною включённого. Ну кто же знал, что фраза "0 to disable, 8 to default quality" на практике означает "включать индивидуально, только для игр в случае крайней необходимости, а default таки 0"? Спасибо разработчикам за разъяснения. Хотя сам виноват: "default quality" вовсе не означает "defaul mode", как мне вначале показалось.

И да, в xf86-video-ati 7.0.0 + Mesa 9.0 ColorTiling2D нормально заработал. С ним действительно побыстрее.

Теперь осталось дождаться, пока починят autofs...

Спасибо!