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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.