LINUX.ORG.RU

Второй подход к «особому» ядру Ubuntu

 , , , ,


3

5

Всем привет.

В связи с событиями, которые никому на лоре не интересны и не обсуждаются, возникла потребность совершить второй подход к попытке свалить с Ubuntu на одном из ноутов. Суть такова:

  • Есть (теперь уже) санкционочка Latitude 5520 с пылу с жару до подскока цен;
  • На нем была Windows. Стала Ubuntu. В Ubuntu все работает и никаких проблем нет, кроме того, что это Ubuntu.

Проблема во всех других дистрибутивах, что я пробовал запустить на нем: openSUSE, Debian, Fedora. Ноут сильно греется даже в простое. Если смотреть powertop, то это выгялдит в Ubuntu так:

Pkg(HW)

C2 (pc2)   33,5%
C3 (pc3)    1,7%
C6 (pc6)    0,0%
C7 (pc7)    1,0%
C8 (pc8)   26,7%
C9 (pc9)    0,0%
C10 (pc10) 30,7%

И это нормально, т.е. переходит в состояние pc10. А вот во всех других дистрибутивах всегда pc2 и дальше никак.

Обнаружил, что ноут греется из-за nvme накопителя. В ubuntu его температура 28 градусов. А в указанных выше дистрибутивах примерно 63. Все в простое.

Autonomous Power State Transition Enable (APSTE): Enabled

Во всех дистрибутивах одинаково - включено.

Пробовал собрать ядро debian с конфигом из ubuntu - все равно в debian все греется и пыхтит.

Как можно понять, что же такого наколдовали в ubuntu? Уж очень у них хорошая поддержка ноута. Хочется также, но в привычном дистрибутиве иметь.

★★★★★

Последнее исправление: gutaper (всего исправлений: 3)

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

Делал наоборот - ставил в ubuntu ванильное ядро. И получал «обычный дистрибутив». Поэтому копировать ядро ubuntu в другой дистр смысла нет - уже понятно, что дело в нем.

Если ты предлагаешь это как вариант использования «привычного дистра» - это несколько экстравагантный способ быть не таким как все :)

У меня цель найти, что же они напатчили в нем эдакого. В LTS убунте ядро старое и там тоже греется. Вот дело за малым. Найти, где же они сделали хорошо

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

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

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

Нет, только что проверил в 22.04. Даже не установлено

targitaj ★★★★★
()

Кстати, а насколько сейчас вообще актуально tlp?

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

Какой ты проницательный. Ты же видел diff тот да?

Покажи мне, какой патч делает ноуту хорошо? Не буду же я весь патчсет постоянно накатывать.

Расскажи лучше, как побыстрее найти нужный. Явного по описаниям я там не нашел

gutaper ★★★★★
() автор топика
Ответ на: комментарий от ya-betmen

Да, выше про бисекцию уже писали. Времени не было этой нудятиной заняться

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

Какой ты проницательный. Ты же видел diff тот да?

Я-то как раз не видел, хотя и догадываюсь.

Расскажи лучше, как побыстрее найти нужный.

Не могу сказать именно за ядро, но обычно программы опакечиваются следущим образом:

  • есть репа разрабов, которые про деб ничего знать не знают
  • есть форк репы для дебианщиков, где они добавляют control и т.п. для опакечивания
  • есть форк дебановского форка для убунты, где они добавляют пару ментейнеров и всякую мелочь

Если ты говоришь, что в дебиане не работает, а в убунте работает, то нужно смотреть только убунтовские коммиты, а не весь патчсет. (Это при условии, что ты проверял в дебиане ту же версию).

LTS убунте ядро старое и там тоже греется

Если LTS ядро и твоё текущее в одной репе, то можно применить git bisect. Сможешь вычислить коммит, в котором сделали хорошо. Остаётся надеяться что соответствующий дифф будет небольшим и красноречивым. Ну, это если ты готов компильнуть ведро дюжину раз. В принципе, можешь сделать мануальный бисект, устанавливая более старые пакеты из репозиория.

dsxl
()
Последнее исправление: dsxl (всего исправлений: 1)

Отпишусь о промежуточном результате. Может кто попоиску наткнется в будущем.

Причину, почему в убунте nvme не греется, а других популярных дистрах греется нашел. Дело таки в ASPM, а точнее в том, что nvme не переходит в L1 и L1.2 состояния.

По поиску можно найти свой девайс:

/sys/devices/pci0000:00/0000:00:0e.0/pci10000:e0/10000:e0:1d.0/10000:e1:00.0/link/l1_2_aspm
/sys/devices/pci0000:00/0000:00:0e.0/pci10000:e0/10000:e0:1d.0/10000:e1:00.0/link/l1_aspm

И видим, что в убунте там 1, а в минимальной установке debian - 0. Т.е. просто выключено.

В /sys/module/pcie_aspm/parameters/policy видим, что в debian и ubuntu одинаково - default. Вот только default разный у них. Если в debian выбрать powersupersave, то температура nvme падает с 65 до 49 градусов.

Хоть что-то. Хотя в ubuntu 34. Но в убунте ядро посвежее. Еще выяснить надо, как в других дистрах добиться перехода Pkg(HW) до PC10, как в ubuntu (в них всегда PC2)

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

Еще выяснить надо, как в других дистрах добиться перехода Pkg(HW) до PC10, как в ubuntu (в них всегда PC2)

Не то?

https://docs.fedoraproject.org/en-US/Fedora/18/html/Power_Management_Guide/ASPM.html

ASPM policies are set in /sys/module/pcie_aspm/parameters/policy, but can also be specified at boot time with the pcie_aspm kernel parameter, where pcie_aspm=off disables ASPM and pcie_aspm=force enables ASPM, even on devices that do not support ASPM.

Im_not_a_robot ★★★★★
()

1. Вроде, ubuntu пользователей не ограничивает пока. Только платных клиентов.
2. Попробуй calculate, который должен собираться под железо.

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

Это я как-раз сделал, чтобы nvme греться перестал, о чем был мой пост :)

Но при этом PC2 так и осталось, дальше не хочет.

У тебя, полагаю, Fedora? Как дела обстоят с переходом в PC10? Может это в live режиме только молотит. В powertop глянуть можно

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 2)
Ответ на: комментарий от novus

Пост создан давно, так что причины попыток вернуться в родную гавань (другой дистр) не связаны с текущими танцами.

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

У тебя, полагаю, Fedora? Как дела обстоят с переходом в PC10? Может это в live режиме только молотит. В powertop глянуть можно

У меня на десктопе Ryzen 5 4560G и такого режима вообще нет в powertop.

https://imgur.com/0XUNZDA

Температура NVME от Самсунг держится на уровне 39 градусов. Бывает, что она резко подскакивает до максимума 84 градуса, вроде бы без нагрузки даже. Но я полагаю, что это просто глюки датчика. Довольно редко бывает.

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

Что это мне даст в контексте топика?

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

Интересно, зависит от производителя ли это и KIOXIA просто особенная такая?

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

Fedora

Что-то тут не так. На другом ноуте (thinkpad) на TigerLake rhel со стандартным ядром (4.18) в простое падает в pc10 > 60%.

Видимо, это какое-то сочетание faulty firmware и специфических патчей Ubuntu. Кстати, ваш ноут формально сертифицирован Canonical?

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

Это dell latitude 5520, не знаю сертифицирован ли, но под ubuntu с ним проблем не встретил вовсе (кроме того, что это убунта)

Вряд ли. Скорее где-то снова умолчальные настройки типа performance в debian. А Live cd в этом, конечно, не может дать реальной картины (каждый дистр не ставил, гонял с флешки)

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 1)

У меня обратная проблема. На ядре Ubuntu включается APST, но работает неправильно, из-за чего примерно раз в сутки I/O отваливается с зависанием всего.

Однажды повезло и SSD с /home отвалился до того, как система успела его смонтировать при загрузке и я смог наконец почитать логи.

Баг тут.

Собрал ванильное ядро с kernel.org, оно бесхитростно мне говорит, что «nvme nvme0: failed to set APST feature (2)», при этом держит температуру такую же, как и убунтушное, и пока что ни одного зависания.

Зато. На убунтушном ядре можно было запустить что-нибудь тяжёлое типа экспорта из Darktable и спокойно параллельно пользоваться браузером, на ванильном всё дёргается и притормаживает, вот и сейчас, извините за неровный почерк.

Aceler ★★★★★
()
Последнее исправление: Aceler (всего исправлений: 1)
Ответ на: комментарий от gutaper

не знаю сертифицирован ли,

Я посмотрел за вас. Да, сертифицирован. 5520 поставляется с убунту, но со специальным, модифицированным образрм и специальным пропатченным ядром(5.6.0-1032-oem).

el8.5 пока вообще не поддерживает power profiles за полным отсутствием юзерспейсной части, дело не в этом.

А Live cd

Это да. Я не понял из поста, что все это тестировалось с помощью Live cd.

Можно было бы разобраться, и даже понятно, как, если бы проблема воспроизводилась.

i586 ★★★★★
()
Последнее исправление: i586 (всего исправлений: 1)
Ответ на: комментарий от i586

Можно было бы разобраться, и даже понятно, как, если бы проблема воспроизводилась.

У меня она воспроизводится стабильно :)

Вчера поставил Федору 35. Дефолтный дефолт. Тоже только PC2 состояние.

Нашел статью (сейчас с телефона, ссылку не покажу), где описываются проблемы с переходом в состояние s0ix. Согласно описанным методам проверки, состояние системой поддерживается. в этой же статье и про pc10.

Но почему у меня лишь состояние pc2 не ясно.

@i586, если есть идеи - набросай, проверю.

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 1)
Ответ на: комментарий от tz4678

Температура короны 1,5 млн, а ядра 15 млн.
// просто для справки.

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

Проверил на F35 и F36beta, дефолт. Не воспроизводится. Machine type – 20WM. Поэтому все равно склоняюсь к версии о faulty firmware. 5520 сертифицирован Ubuntu, только с ней прошивка и работает нормально, 20WM сертифицирован RH, поэтому с ним тоже все ок.

Дебажить это дело дистанционно мне слабО. С этим thinkpad на rhel8, на самом деле, тоже были две проблемы, и обе с сетью. Одна с I219 и решилась с помощью саппрота, другая – с AX201 и решилась через одно место.

i586 ★★★★★
()
Последнее исправление: i586 (всего исправлений: 1)
28 мая 2022 г.

Для истории:

Отсутствие перехода в PC3-PC10 состояния связано с багом. Подробнее тут https://bugzilla.kernel.org/show_bug.cgi?id=215467

Вроде был какой-то патч от интела уже и, вероятно, убунта его накладывает. Пока не починят в апстриме, для перехода дальше PC2 достаточно в биосе переключиться на AHCI\NVME.

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

Мда… банальная невнимательность, еще 2 месяца назад можно было догадаться, в чем дело:

/sys/devices/pci0000:00/0000:00:0e.0/pci10000:e0/10000:e0:1d.0/10000:e1:00.0
i586 ★★★★★
()
18 июля 2022 г.
Ответ на: комментарий от gutaper

Если вдруг решишься играть с Ubuntu: там у дсктопного образа есть minimal установка без свистелок. +бесячий snapd можно сразу выпилить. «Всегда так делаю» :)

И, к слову, есть и плюсы. Под Ubuntu есть бинарные сборки всего, что может в голову прийти. Возможность просто скачать нужный софт без плясок - это удобство.

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

есть форк дебановского форка для убунты, где они добавляют пару ментейнеров и всякую мелочь

Вот я убунтой пол-года всего пользуюсь, и насчёт LTS ядер... Там ещё HWE есть... Выглядит так, что они вплоть до бэкпорта фич из пятого ядра в четвёртое делали. Т.е. по ядру в Ubuntu очень серьёзная доработка.

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

установка без свистелок бесячий snapd можно сразу выпилить

Где-то тут противоречение… А потом еще и FireFox с сайта стивать. Вот уже мечта-дистрибутив.

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.