LINUX.ORG.RU

Почему линукс никогда не будет десктопным

 , ,


0

3

Какого это поделие уходит в ждущий режим, если комп занимается обработкой данных? Тупые погромисты не понимают, что Idle это не только, когда мышкой возюкают, но и когда CPU load% ~100%?

Dixi.

З.Ы. Ставьте клоуна, если согласны, что линукс для десктопа не готов!



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

Я может непонятно написал, клавиатуру отключаю я сам. Ну точней KVM переключается на другой вход и клавиатуру переключает туда. Для компьютера это выглядит, как будто я вытащил из USB-порта клавиатуру.

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

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

Почему? Это же s2idle, то бишь ядро просто фризит юзерспейс, отключает оборудование, которое может отключить (видимо тут и отключается USB-контроллер) и уходит в вечный цикл, усыпляя процессор, пока не получит сигнал на пробуждение. Как такового сна процессора тут нет, поэтому проснуться можно в любой момент и вообще делать что угодно (та же винда в этом режиме делает что хочет, и почту проверяет и тд, это типа фича).

Я даже не уверен, что для этого режима в принципе нужна какая-то особая поддержка со стороны железа…

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)

На рабочем столе работает или спит работник.

Обработкой занимается рабочая станция, станок. Они не спят, их усыпляют.

anonymous
()
Ответ на: комментарий от cocucka_B_TECTE

Не нужно!

Имхо, самая адекватная тема для дестопа: в энергосбережение выводить только мониторы*. Остальное всегда включено и диски и сам комп.

* - ну процессор, видокарта само собой частоту меняют - это можно не учитывать.

А в спящий режим только по запросу пользователя чтобы уходил - идешь сам спать - посылаешь спать компьютер, всё.

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

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

Мне не нужно отключать сон навсегда, мне нужно что бы это поделие не уходило в сон, когда нагружено.

Тебе уже несколько раз написали: у тебя один критерий понятия «нагружено», а кого-то другого - другой. Вызывай по крону скрипт и зови pm-hibernate какой-нибудь по условию, как тебе надо.

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

Ещё раз повторю – для CPU осилили сделать frequency governor аж несколько штук на любой вкус, почему нельзя сделать power governor? Почему надо пердолиться с ингибиторами всякими?

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

Ничего не очевидно, не гони. Там полно разных вариантов:

GovernorDescription
performanceRun the CPU at the maximum frequency, obtained from /sys/devices/system/cpu/cpuX/cpufreq/scaling_max_freq.
powersaveRun the CPU at the minimum frequency, obtained from /sys/devices/system/cpu/cpuX/cpufreq/scaling_min_freq.
userspaceRun the CPU at user specified frequencies, configurable via /sys/devices/system/cpu/cpuX/cpufreq/scaling_setspeed.
ondemandScales the frequency dynamically according to current load. Jumps to the highest frequency and then possibly back off as the idle time increases.
conservativeScales the frequency dynamically according to current load. Scales the frequency more gradually than ondemand.
schedutilScheduler-driven CPU frequency selection [4], [5].
cocucka_B_TECTE
() автор топика
Ответ на: комментарий от anonymous

Ну т.е. пользователь может выбрать, да? Причём это сделано для «умного» энергосбережения, на ноутах там всяких и т.д. Для серверов это не актуально, они должны молотить на максималке всегда. Тогда почему не сделали умный сон с разными стратегиями? Логично жи.

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

Ещё раз повторю – для CPU осилили сделать frequency governor аж несколько штук на любой вкус, почему нельзя сделать power governor? Почему надо пердолиться с ингибиторами всякими?

Ещё раз: увеличить производительность при подходе к краю - это одно (и уменьшить соответственно). Отключить воообще по непонятному критерию - совсем другое. Не выдумывай.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от cocucka_B_TECTE
$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors 
performance powersave

Доступно разнообразие из двух вариантов. И не надо предлагать другие режимы работы cpufreq, они хуже по отзывчивости к нагрузкам.

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

anonymous
()
Ответ на: комментарий от alx777

Разве какой-то scheduling policy связали с E-ядрами? Так что, пока что в линуксе программа может сказать: «я не важная», а вот сказать: «меня выполняйте только на E-ядрах» не получится.

mky ★★★★★
()

Почему линукс никогда не будет десктопным

Потому что нельзя быть увереным в том, что банально получится напечатать обычный документ. Тут потребовалось напечатать 4 листа. Что могло пойти не так? Первые 2 листа ни в какую не хотят печататься. В итоге пришлось документ экспортировать в pdf и из просмотровщика pdf распечатать первые 2 листа.

Так что поставил тебе клоуна в знак согласия!

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

Почему?

У меня есть асусовский ноут, у которого есть usb порты, которые заявлены как работающие во время сна. И так и есть, не зависимо от ОС. То есть в каких-то случаях это контролируется железом.

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

Так что, пока что в линуксе программа может сказать: «я не важная», а вот сказать: «меня выполняйте только на E-ядрах» не получится.

Тогда можно попробовать назначить процессу CPU affinity на эти самые E-cores через, например, taskset

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

Судя по количеству костылей и спираченных твиков у моих друзей на макоси у такого видеомонтажёра или сон будет отключен, или воткнут usb эмулятор движений мыши, или куплен твик за 20$ чтобы именно при перекодировке в adobe premier / final cut pro оно не уходило в сон.

Искать долго не пришлось.

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

Планировщиков нет и интел походу свернул работу по планировщикам - последний публичный код в github на эту ему относится к ядру 6.4

Но интел выпустил забавного демона - intel_lpmd

Эту штуку можно настроить как дополнение к обычному cpufreq и работает она достаточно примитивно но тем не менее без нее печки Ultra вообще под линуксом не юзабельны.

Она тупо использует 2 критерия - загрузку систему в % и загрузку 1 ядра + гистерезис, и можно настроить так что на низкой нагрузке все задачи идут на LP ядра, нагрузке повыше - на Е, а еще повыше можно либо на все либо отключить Е-LP и все перекинуть на P. Еще она умеет перекдывать прерывания от железяк чтобы сраная мышка не будила P-ядра

При всей примитивности она очень душевно работает.

Сочетание intel_lpmd + немнго патченный драйвер графики Xe позволили на 155Н получть автономность сравнимую с 7840S. Ну совсем чуток похуже процентов на 10-20, а не в 2 с лишним раза как в стоковой конфигурации бросающей любое шевеление мышой на P-ядра и почему-то не дающей графическим ядрам снижать частоту до минимума.

Qui-Gon ★★★★★
()
Ответ на: комментарий от cocucka_B_TECTE

А комп должен дождаться, пока load average не упадёт ниже определённого threshold и уснуть потом.

Это где такое правило есть? Может какая то тулза по управлению питанием так и умеет.

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

А комп должен дождаться, пока load average не упадёт ниже определённого threshold и уснуть потом.

Это очень ненадёжный показатель. Бывают длительные процессы, вообще не нагружающие CPU, но плохо переносящие засыпание, например, закачки. В компиляции проектов бывают участки с низким параллелизмом или вообще упирающиеся в I/O. И даже в числодробилках встречаются нераспараллеленные или плохо распараллеленные участки, которые будут определяться как провал по load average.

Так что единственный рабочий вариант — использовать для длительных процессов очередь задач, например task-spooler, а в алгоритме, ответственном за сон, сначала убеждаться, что очередь пуста. Но тут возникнет загвоздка, что 95% пользователей вообще не хотят знать ничего ни о каких очередях задач, 1% хочет использовать slurm, а оставшиеся хотят, чтобы система угадывала их желания.

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

Может быть, там же нет зоопарка *-inhibit под каждое ДЕ. Там это скорее всего в SDK для background processing есть параметр.

Там просто не зоопарка DE, а остальное - следствия.

her_s_gory
()