LINUX.ORG.RU

Наконец-то, безопасный real-time на десктопе

 ,


0

0

Леннарт Поеттринг из RedHat Inc., мейнтейнер Pulse Audio, подробно рассказал про патчи от Инго Молнара, включающие безопасный режим реального времени для userspace-процессов, которые были включены в ядро 2.6.25. Изначально режим реального времени требовал привилегий суперпользователя, так как с его помощью можно было легко завесить ядро. Теперь rt-патч добавляет так называемые cgroups, внутри которых исполняются процессы. Интересно, что они не могут выйти за пределы своих cgroups обычным форком, поэтому, установив пределы в /etc/limits.conf, можно легко обезопасить машину от lock-up'а. Далее приводится пример использования нового режима в виде утилиты rtwatch, которая создает cgroups и контролирует выделение процессорного времени для них.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Блин, вот это уже хорошо. А RT это когда мне необходимо из системы с многозадачной архитектуры сделать несколько однозадачных с гарантированным количеством операций в секунду на задачу.

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

> Раньше на ЛОРе была популярной мысль, что RT нафиг не нужен, что qnx тормоз.

Про RT - это 4.2, а QNX таки тормоз.

> Этот патч не станет тормозить сверхбыстрое монолитное ядрышко?

Этот - не станет. Ветка -rt станет (да и давно уже тормозит) некоторые нагрузки.

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

> А мужики то и не знают, что в Windows XP real-time для пользовательских процессов присутствует уже несколько лет...

Какой рилтайм? Пусть шедулер сначала сделают O(1)

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

>А мужики то и не знают, что в Windows XP real-time для пользовательских процессов присутствует уже несколько лет...

Срочно бригаду мед.братьев в химзащите к больному!!! Уровень метана зашкаливает...

/me выполз из под стола

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

Хватит метанировать! Речи о real-time ядре не идет(тогда при чем здесь QNX?)!!! Имеется ввиду всего-лишь назначение RT приоритета для пользовательских приложений(именно такую функциональность предоставляют патчи от Инго Молнара). И именно подобная функциональность в Windows присутствует давно.

http://img149.imageshack.us/img149/7835/rtug0.png

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

Какой толстый тролль ей-богу. Ну назначь этот приоритет, скажем, фл-студии или ulead studio во время рендеринга. Такой риалтайм в линуксе давно уже сделали - смотри -rt ветку. Смысл этого пачта - контролируемый риалтайм, который гарантирует что ядро не завесится, чего бы ты не пускал. Винда молча попердывает в сторонке со своим бексонтролным риалтаймом.

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

> Хватит метанировать! Речи о real-time ядре не идет(тогда при чем здесь QNX?)!!! Имеется ввиду всего-лишь назначение RT приоритета для пользовательских приложений(именно такую функциональность предоставляют патчи от Инго Молнара). И именно подобная функциональность в Windows присутствует давно.

Мой безликий друг, вы хоть знаете, о чём говорите? rt-priority (наряду с nice) в линуксовом ядре существует уже очень давно. Для всех процессов. Если не осиливаете посмотреть в исходниках, то почитайте какую-нибудь популярную мурзилку, где объясняется доходчивым языком, например, книжку Р.Лава "Разработка ядра Linux". И если уж доберётесь до чтения, то, заодно, посмотрите, что же это Молнар делает.

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

> Такой риалтайм в линуксе давно уже сделали - смотри -rt ветку

Все rt-наработки от того же редхата идут в основную ветку ядра - смотрите логи в коммитах. Так что любая новая федора/убунта/мандрива в этом плане будет не (сильно) хуже, чем rhel5-rt. Линукс вообще все, кроме микрософта любят, поэтому столько интересных возможностей в ядре и есть.

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

у меня на 2.6.24 работает.
2 VOID: RT имеет отношение к звукозаписи тоже, и очерь даже непосредственное,без него никак.так что не надо про метан..

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

на десктопе до мгновенного отклика мне кажется еще далековато
с дисками еще толком разобраться не могут

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

>>>..без него никак.так что не надо про метан...

Мдэ ? 8) Могу заменить метан на пропан или бутан. Амбрэ от этого только усилится... Решайте сами. Но сначала подумайте хорошенько. RT приоритет имеет весьма опосредствованное отношение к RT как понятию. Подозреваю, что именно это и омрачает неокрепшие умы...

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

> Могу заменить метан на пропан или бутан. Амбрэ от этого только усилится...

Метан пропан и бутан запаха не имеют. Метанируем потихоньку?

> RT приоритет имеет весьма опосредствованное отношение к RT как понятию.

И ты бы почитал, о чём мы тут вообще говорим, о неокрепший.

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

> Мгновенный отклик GUI на действия пользователя. Это в теории...

http://en.wikipedia.org/wiki/Real-time_computing

"A real time system may be one where its application can be considered (within context) to be mission critical. The anti-lock brakes on a car are a simple example of a real-time computing system — the real-time constraint in this system is the short time in which the brakes must be released to prevent the wheel from locking. Real-time computations can be said to have failed if they are not completed before their deadline, where their deadline is relative to an event. A real-time deadline must be met, regardless of system load."

Ну, если GUI станет mission critical ;)

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

>>http://en.wikipedia.org/wiki/Real-time_computing

>"A real time system may be one where its application can be considered (within context) to be mission critical.

>Ну, если GUI станет mission critical ;)

Ты не заметил слов "may be" и "within context"? Видео- и аудиоплейеры - классический пример soft realtime задач. Работы по hard realtime в ядре начались именно с аудио.

tailgunner ★★★★★
()

Я понимаю данный RT позволяет выделить какой-нибудь группе процессов скажем 30% процессорного времени и гарантировать что при любой сторонней активности RT -группа процессов не провалит дедлайны если она правильно их расчитала, так чтоли? Или там еще есть какое-то API по расчету выполнимости и прочие шедюлеры?

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

> Ты не заметил слов "may be" и "within context"? Видео- и аудиоплейеры - классический пример soft realtime задач.

Я умею читать.

> Работы по hard realtime в ядре начались именно с аудио.

Возможно. Однако Вы не заметили, на что свои комментарии постил:

>> Мгновенный отклик GUI на действия пользователя. Это в теории...

Если GUI-события становятся приоритетными.... :)

Andy_ua
()
Ответ на: комментарий от V0ID

> RT приоритет имеет весьма опосредствованное отношение к RT как понятию.

IMHO, и да и нет. Если мы с Вами имеем в виду назначение приоритета "realtime" процессу, на примере оффтопика, то да, никакого realtime здесь не будет, просто ресурсы этот процесс получит маскимальные в данной конфигурации, но если мы говорим об однозначной, например, 6 ms, латентности обслуживания прерывания, например, порта RS232 на котором находится контроллер какого-нибудь сварочного аппарата на поточной линии, то мы так же, выделяем приоритет задаче за счет всех остальных процессов в данной конфигурации. Так вот, RT будут являться именно те 6 ms на обслуживание.

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

>> В 8-й федоре абсолютно всё работает под пульсом. Даже 2-й редалерт через wine.

> У меня не работают audacity (совсем) и totem (этот теоретически должен, но видимо что-то сломалось..).

а у меня в f8 и asp12 работают и amarok, и kaffeine, и mplayer (только внутренние звуки кед отключины)

видать у Вас какая-то кривая сборка

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

>видать у Вас какая-то кривая сборка

Они сначала воткнули пульс, а потом целый месяц судорожно слали к нему апдейты. Тогда же и свалил прошлый руководитель Федоры с объяснением что он хочет наконец повалять дурака, съездить в горы, погулять по лесу и пр. Допускаю, что если ты перешел на федору 8 через два-три месяца после релиза, то у тебя все срослось.

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

> http://img149.imageshack.us/img149/7835/rtug0.png

на заборе написано слово из 3 букв, а лежат там -- дрова.

в линуксе что-то ни кто не захотел nice 0 называть приоритетом реального времени, а вот в M$ -- не постеснялись

для проверки можете запустить в фоне компиляцию, а на все граф.приложения выставить этот приоритет "реального времени". Лаги в реакции всё равно будут, только чуть меньше за счёт повышения приоритета.

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

> линуксе что-то ни кто не захотел nice 0 называть приоритетом реального времени, а вот в M$ -- не постеснялись

не 0 :) -20..-15 примерно :)

sstass
()
Ответ на: комментарий от Aceler

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

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

А что тут объяснять ? Думаю что дальнейший разбор полётов в треде прояснит ситуацию 8) Хорошо бы народ подтянулся толковый и не ленящийся топтать клаву.

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

>В IRIX (SGI) были процессы hard-realtime с гарантированным bit-rate как раз именно для этих целей. Все уже забыли про IRIX, а это было сделано лет 10 тому назад.

В DOS-е тоже RT и про него тоже уже все забыли.

Rodegast ★★★★★
()

Никто не сталкивался с проблемой - после установки rt патчей на предыдущих ядрах и теперь на новом, не работает тв-тюнер? Выскакивает ошибка модуля v4l и после закрытия звук остается.

banzai
()
Ответ на: комментарий от mv

> Какой рилтайм? Пусть шедулер сначала сделают O(1)

Сначала O(1), а потом отказаться от него в пользу O(log n) - в CFS.

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

> И именно подобная функциональность в Windows присутствует давно.

Это красивое название для высокого приоритета. В msdn.

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

Мне вот не понятно, как дрова железа могут конфликтовать с rt? Ентож бред...

yantux

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

> Тем что теперь не надо писать sudo для запуска,

Сто лет в обед не надо. man setrlimit на предмет RLIMIT_RTPRIO

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

Хорошая, но немножко беременная (C)

> Смысл этого пачта - контролируемый риалтайм, который гарантирует что ядро не
> завесится, чего бы ты не пускал.

Если ядро за здорово живешь вытесняет якобы RT поток -- никакой это не RT, это
именно что красивое название.

> Винда молча попердывает в сторонке со своим бексонтролным риалтаймом.

RT -- он по определению "бесконтрольный".

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

> Они сначала воткнули пульс, а потом целый месяц судорожно слали к нему апдейты

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

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

firsttimeuser ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.