LINUX.ORG.RU

Linux 2.6: CONFIG_PREEMPT - «y» или «n»?


0

0
При использовании CONFIG_PREEMPT="y" в ядре 2.6.4 было обнаружено падение производительности.
Andrea Arcangeli (разработчик VM подсистемы ядра ветки 2.4) рекомендует не использовать PREEMPT, в то время как ответственный за ветку 2.6 Andrew Morton говорит что preemption сам по себе тут не при чем, т.к. оно всего лишь указывает на появление других ошибок в коде ядра.

>>> Обсуждение проблемы

★★★

Проверено: maxcom
> на появление других ошибок в коде ядра.

На тех, которые только еще появятся?

А действительно, странно когда объявляют о баге, даже не зная в чем он заключается.

anonymous
()
Ответ на: комментарий от anonymous
Ошибки шедулера - они не вызовут kernel panic, просто будут влиять на производительность. что и наблюдается..
anonymous
()
Блин, ну неужели и kernel hackers путают производительность и время отклика!

Все ж правильно. Улучшается (становится меньше) время отклика. Но никто ж не сказал, что производительность при этом останется прежней.

Dselect ★★★
()
Ответ на: комментарий от Dselect
Ну дык и коню ясно: меньшее время отклика - ниже пропускная способность. Принцип Гейзенберга! и никуда не дется.
anonymous
()
есть предложение: CONFIG_PREEMPT - "m"
anonymous
()
Ответ на: комментарий от anonymous
да ну её производительность, я лично когда первый раз поставил priemtible, у меня глаза на лоб полезли. Такого изиенения времени отклика я не видел даже когда поменял Duron 1100 на Athlon XP 2400+ десктоп просто летает, а лично _мне_ другого и не нужно. IMNSHO, больше-бы таких "багов" было.
sga ★
()
Ответ на: комментарий от sga

каждому свое.

> десктоп просто летает, а лично _мне_ другого и не нужно

Как и было задумано... А пЫонеры, собирающие для сервера ядро с CONFIG_PREEMPT=y, идут лесом.

Dselect ★★★
()
Ответ на: комментарий от sga
Это потому, что он у тебя не загружен. На загруженной машине производительность чувствуется сильнее времени отклика.
Zulu ★★☆☆
()
Ответ на: комментарий от Zulu
>Это потому, что он у тебя не загружен

есть такое дело, не спорю компилировал вчера одновременно 2 ядра (2.4.22 и 2.4.24) и кодировал видео. Все это одновременно, под KDE 3.1, и с 256 Mb озу

И это никак не мешало мне смотреть при этом лицензионный mpeg4

sga ★
()
Ответ на: комментарий от sga
> И это никак не мешало мне смотреть при этом лицензионный mpeg4

А как изменилось время компиляции и кодирования?

anonymous
()
Ответ на: комментарий от anonymous
есть предложение: CONFIG_PREEMPT - "m"
это невозможно - вчитайся в entry.S, весь граф
sysenter'a меняется ! Или ты так, провокатор?
anonymous
()
Ответ на: комментарий от sga
>И это никак не мешало мне смотреть при этом лицензионный mpeg4 Да, а что это такое - "лицензионный mpeg4"? Или ты про DVD? Так они жрут меньше проца, только на шину нагрузка валится.
anonymous
()
Ответ на: комментарий от anonymous
вообще самые гамерские ядра это 2.2/2.4 с патчами для
увеличения скорости отклика на интеррапты и оттюненными параметрами
include/asm/param.h, рекомендуемое значение HZ=CPU_FREQ/2+100.
UT2003 с дровами нвидиа на 2-10 фпса дают больше чем в винде 2000,
но наверное меньше чем в 98.
anonymous
()
Ответ на: комментарий от anonymous
"лицензионный mpeg4" - я в том смысле, что там bitrate и frame довольно приличные
sga ★
()
Ответ на: комментарий от chucha

CONFIG_PREEMPT и игровой сервер

> CONFIG_PREEMPT очень помогает на игровых серверах.

Вряд ли; может быть, что даже наооборот -- мешает.

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

Dselect ★★★
()
Ответ на: комментарий от anonymous
>А как изменилось время компиляции и кодирования?

вот этого извиняй, не могу сказать, раньше никогда жизнь не заставляла такими вешчами заниматься хотя подозреваю, (точнее уверен) что будь ядро без priemptible компиляция прошла бы быстрее Но я же говорю, я в это время не медитировал перед монитором повторяя мантры типа "Компилься ты быстрее, зараза!", я фильм смотрел...

sga ★
()
Ответ на: CONFIG_PREEMPT и игровой сервер от Dselect
дяди, хелп. 1)если процесс забирает 99 процентов это гуд или шлехт ? 2)если с тем же процессом параллельно бежит ещё несколько, не теряя производительности это гуд или шлехт ? 3)значит процесс есть гуд, но тогда вопрос: а как сделать так, чтоб система не давала 99% спу тайма на один процесс ?
anonymous
()
Ответ на: каждому свое. от Dselect
>Как и было задумано... А пЫонеры, собирающие для сервера ядро с CONFIG_PREEMPT=y, идут лесом.

Дык "сервер" это понятие ну о-о-о-очень широкое ...

Как ты думаешь, что требуется от UT dedicated server-а ? ;)

sS ★★★★★
()
Ответ на: комментарий от anonymous
>есть предложение: CONFIG_PREEMPT - "m"

;))))))))))))))))))))))))))))))))))))))))))

То есть вместо preempt_disable() поставить заглушку и дергать ее в любом случае ?

Это только не считая специфичного для CONFIG_PREEMPT кода для кучи драйверов - который тоже придется подлючать через заглушки.

sS ★★★★★
()
Ответ на: CONFIG_PREEMPT и игровой сервер от Dselect
1. У меня запущено несколько процессов на разных портах (counter-strike).

2. fps на сервере увеличивается и в случае одного процесса. Вообще эта тема для counter-strike серверов уже давно обсосана. К примеру под виндой для увеличения fps параллельно с сервером нужно запускать media player (винда при этом как раз и увеличивает отзывивость ;)

chucha ★★★☆
()
Ответ на: комментарий от Dselect
>Примерно то же, что и от числодробилки. :)

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

sS ★★★★★
()
Ответ на: комментарий от anonymous
>дяди, хелп. 1)если процесс забирает 99 процентов это гуд или >шлехт ? 2)если с тем же процессом параллельно бежит ещё несколько, >не теряя производительности это гуд или шлехт ? 3)значит процесс >есть гуд, но тогда вопрос: а как сделать так, чтоб система не >давала 99% спу тайма на один процесс ?

1) если этот процее vi, то труба, а если копиляция ядра - нормуль 2) ето рулезь 3) а на кой? если как я понял он ничему не мешает, то пусть дает, проц должен работать!

sga ★
()
Ответ на: комментарий от anonymous
> 1)если процесс забирает 99 процентов это гуд или шлехт ?

Дык это к Вам вопрос...

> 3)значит процесс есть гуд, но тогда вопрос: а как сделать так, чтоб система не давала 99% спу тайма на один процесс ?

Почти никак... Если охота рискнуть, можете попробовать batch scheduling patch от ck. НО: 1) он есть только для 2.6, 2) в зависимости от фазы Луны могут быть Oops'-ы.

http://ck.kolivas.org/patches/2.6/2.6.4/

Dselect ★★★
()
Ответ на: комментарий от anonymous
>вообще самые гамерские ядра это 2.2/2.4 с патчами для увеличения скорости отклика на интеррапты и оттюненными параметрами include/asm/param.h, рекомендуемое значение HZ=CPU_FREQ/2+100. UT2003 с дровами нвидиа на 2-10 фпса дают больше чем в винде 2000, но наверное меньше чем в 98.

насчет 2003 не в курсе а вот на простом UT на совсем нетолстой мвашине (Cel300/768Mb+Voodo2/800x600x16) 2.2.25 рвет W98 как бобик грелку А вот 2.4.24-ck1 уже примерно вровень с W98 (причем линух таскает еще на себе openmcu+ohphone)

sS ★★★★★
()
Ответ на: комментарий от sS
все назад на 2.2.25.
ах, ipchains, libc 2.2.5, gcc 2.95.3, apache 1.3.14,
ностальгия ...
anonymous
()
блин да вы хоть читади обсуждение ? и что Andrew Morton сказал ?
Или все тут и так лучще все знают ?
У парня который ныл какие то проблемы с его машиной или у драйверов
проблемы с preempt .
Сто раз проверяли preempt vs no-preemt, и впервом случае io-performance,
kernel compile даже лучше при лучшей latency.
Так что нечего поднимать шум , проверьте сами на своих pc.

Uman
anonymous
()
Ответ на: комментарий от sga
> И это никак не мешало мне смотреть при этом лицензионный mpeg4

И не могло помешать даже в теории... Ибо лицензионных mpeg4 не
существует в природе ;)
anonymous
()
Ответ на: комментарий от Dselect
Я про что и говорю - пользовательские приложения работают хуже. И чем медленнее машина, тем сильнее вылезает это "хуже",

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

А тут что-то никак.
jackill ★★★★★
()
Ответ на: комментарий от anonymous
Возможно. Тогда вопрос - почему появляются лаги при переключении из одного приложения в другое?
jackill ★★★★★
()
И как проверить? как и что у меня работает... и вообще кто посоветует тесты для линуха... кто и что и как тестирует?
anonymous
()
Ответ на: комментарий от sS
насчет 2003 не в курсе а вот на простом UT на совсем нетолстой мвашине (Cel300/768Mb+Voodo2/800x600x16) 2.2.25 рвет W98 как бобик грелку А вот 2.4.24-ck1 уже примерно вровень с W98 (причем линух таскает еще на себе openmcu+ohphone)

Хорошо что не gnugk :)

GHhost

anonymous
()
Ответ на: комментарий от anonymous
что исправять?
читайте новости в оригинале и думайте .
Нечего собственно исправлять .
Uman.
p.s. один запостил все вдруг запаниковали...
anonymous
()
Ответ на: комментарий от anonymous
Uman - проблема действительно существует. Такого быть не должно. Т.е. preempt не выполняет обещенного, а только повышает задержки, и тормозит систему в целом, хотя для конечного юзверя результат должен быть не таким.
Я конечно не спорю, что и не стоит паниковать, т.к. те кто не пользует preempt в ядре, для того этой проблемы и нету.

А вообще хз сколько они это фиксить будут.

М.
FreeBSD ★★★
() автор топика
Ответ на: комментарий от anonymous
2GHhost

>> (причем линух таскает еще на себе openmcu+ohphone)

>Хорошо что не gnugk :)

Ну в локалке gk не нужен нафиг а mcu исключительно для объмена ненормативной лексикой в real time ;)

sS ★★★★★
()
Ответ на: комментарий от sga
>да ну её производительность, я лично когда первый раз поставил priemtible, у меня глаза на лоб полезли.

При этом правда другие процессы (например gs) работают раза в два медленнее.

pandrey ★★
()
Ответ на: CONFIG_PREEMPT и игровой сервер от Dselect
> Там у Вас работает почти все время один процесс, который и создает загрузку, никуда переключаться не надо.

Хм... Это вряд ли. Хотя, конечно, есть убожества типа sphere (эмулятор УО), но один процесс - это отсутствие масштабируемости. Кроме того, игровой сервер, как правило - система реального времени...

CybOrc ★
()
они уже достали козлы, когда они уже начнут тестировать свои ядра???
или даёшь каждый день по новому ядру?
уж лучше меньша, намного меньше, но чтоб работало, а то сделают и релизят, не попробывав наверно даже загрузиться
anonymous
()
Ответ на: комментарий от anonymous
>они уже достали козлы, когда они уже начнут тестировать свои ядра???
>или даёшь каждый день по новому ядру?
>уж лучше меньша, намного меньше, но чтоб работало, а то сделают и
>релизят, не попробывав наверно даже загрузиться

не нравится - не ешь!! :)

что тебе мешает пользовать ветки 2.0., 2.2. и 2.4. ?? они тоже развиваются..
Spherix ★
()
Ответ на: комментарий от anonymous
> они уже достали козлы
> anonymous (*) (26.03.2004 9:22:22)
Ты сам козел анонимный; типичный придурок, который ни хрена ни в чем не разбирается и вые..ется.
szh ★★★★
()
Ответ на: комментарий от szh
szh, я смотрю ты сильно разбираешся... а ничё что как только ядро зарелизят, сразу начинают находить кучу дыр и глюков? вот нет бы сначала с полгодика погоняли как pre и rc, а потом релизили, чтоб была хоть какая-то уверенность...

ПС: козлами начинают называть, когда больше ничё по теме сказать не могут :)

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