Ужасная производительность при работе от батареи с драйвером intel_pstate

Примечания к выпуску последней прошивки для вашей платы(Выпуск от ноября 2018 г. ), кажется, указывает, что 64-битная -версия прошивки действительно поддерживает загрузку по сети, даже с использованием HTTP/ протоколы HTTPS. Только в 32-битной -версии прошивки по-прежнему отключена поддержка сети UEFI. Возможно, обновление прошивки решит вашу проблему?

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

Если прошивка не инициализирует аппаратное обеспечение и не предоставляет соответствующий протокол UEFI для использования GRUB, драйвер efinetне будет работать... если, конечно, вы не найдете нужный сетевой драйвер UEFI на веб-страницах поддержки Intel и выполните несколько сценариев UEFI, чтобы сначала загрузить и настроить драйвер сетевой карты и стек драйверов TCP/IP с какого-либо другого носителя перед запуском grubx64.efi. Но это как бы противоречит цели загрузки по сети.

Для поддержки загрузки UEFI PXE и ​​загрузки UEFI 2.5 HTTP (S )ваш сервер DHCP должен иметь возможность обнаруживать параметр архитектуры PXE в запросе DHCP клиента и добавлять соответствующую информацию о загрузке в ответ DHCP.. Если вы используете ISC dhcpdв качестве DHCP-сервера, часть конфигурации DHCP-сервера, относящаяся к сетевой загрузке, должна быть аналогична этой:

option pxearch code 93 = unsigned integer 16;
class "pxeclients" {
    match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
    next-server ;   # bootp style option
    option tftp-server-name "";  # DHCP style option
    if option pxearch = 00:10 {
        # 0x0010 = UEFI 2.5 HTTP boot for x86_64
        filename "";
    } elsif option pxearch = 00:0f {
        # 0x000f = UEFI 2.5 HTTP boot for 32-bit x86
        filename ""
    } elsif option pxearch = 00:09 {
        # TFTP-based UEFI PXE boot for x86_64 according to original RFC 4578
        filename "/some/TFTP/path/grubx64.efi";
        option boot-size ; # size of grubx64.efi as reported by "du -B 512 grubx64.efi"
    } elsif option pxearch = 00:07 { 
        # TFTP-based UEFI PXE boot for x86_64 according to current IANA registry
        # and RFC 4578 errata
        filename "/some/TFTP/path/grubx64.efi";
        option boot-size ; # as above
    } elsif option pxearch = 00:06 {
        # TFTP-based UEFI PXE boot for 32-bit x86
        filename "/some/TFTP/path/grubia32.efi";
        option boot-size ;
    } else {
        # plain old x86 BIOS PXE boot options here
    }

    # end of PXE boot specific options
} 

Чтобы указать корневую файловую систему в GRUB, вы можете добавить параметры загрузки, такие как ip=dhcp root=/dev/nfs nfsroot=nfs.server.ip.address:/root/filesystem/share, в командную строку GRUB linuxи/или использовать команду initrdGRUB для загрузки initramfs с того же TFTP-сервера, что и исходный файл. ядра перед вводом команды boot.

Внутри initramfs вы можете включить инструменты для произвольно сложных настроек, например. подключение к хранилищу iSCSI и использование файловой системы на нем в качестве корневой файловой системы, если хотите.

2
22.05.2020, 04:15
1 ответ

Вот мое ядро ​​make"Только DESCEND" -бенчмарки (т.е. просто makeкогда нечего делать -пару секунд ).

Мне потребовалось некоторое время, прежде чем я понял опцию -jв make; и что мне не нужно перезагружаться, чтобы изменить настройки Turbo -Boost и SMT/Hyperthreading :, к ним можно получить доступ через /sys.

Мое TDP составляет 28 Вт. Это не ноут, а тоже i5 -8259U. Обычно (как сейчас )потребляет 3,5 Вт -5 Вт. Вот некоторые из результатов, которые я отметил, сосредоточившись на ваттах, которые я физически измерил.

time make -j10 -O O=../make-out/

TB+HT,mitigations=off

-j8:    4.8s    57W (max.)
-j4:   12.3s    20W (-35W)  
no-j:  21.7s    19W (max.)
-j4II:  6.4s    45W

Было бы точнее в Джоулях. Я думаю, что 57 Вт включает вентилятор. Два результата -j4показывают :, что полная энергия (Ws=Джоуль )остается более или менее постоянной.

TB no, HT yes
-j10:  7.7s  22W

И последний тест я записал:

TB 25-35-1sec "tau", HT yes, mitig.=off
-j10:  5.2s  40W

Этот параметр Turbo -Boost был взят из BIOS -, похоже, он помог ограничить «макс. 57 Вт». с первого запуска.

Но теперь, когда 75 (процентов )записаны в intel_pstate/max_perf_pctв sysfs, я нашел лучший способ получить ускорение, но только до 3,0 ГГц вместо 3,8 ГГц.

Теперь я получаю это за 5,5 с при максимальной мощности 35 Вт (. 44 Вт )по сравнению с 4,8 с при 50 Вт или около того. No Boost составляет 6,7 с при 25 Вт.


Более активные ядра и более высокая частота процессора могут привести к огромной разнице во времени и ваттах . GPU может даже добавить к этому (в вашем примере? )и вентилятор.

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

А вот с ультрабуком с бритвенным лезвием-плохой аккумулятор!

0
18.03.2021, 23:34

Теги

Похожие вопросы