FBFS ( FreeBSD BFS ) scheduler

FreeBSD и прочие в роли десктопа.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-08-29 13:12:25

Было бы совсем неплохо, если бы еще владельцы одного ядра провели данные тесты (для полноты картины) и результаты отправили мне на почту...
Я бы картинку сделал и показал тут...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-08-30 22:08:28

Красноречивые результаты тестов для 1-го ядра от @ankor!
CPU: P4 (prescott)
Изображение
На одном ядре FBFS - рвет всех в клочья! :D

Итого - не вникая в подробности, учитывая еще то, что планировщик требует доработок и оптимизаций - уже точно можно сказать, что приятнее всего на нем будут чувствовать системы на 1-м-2-х ядерном процессоре!

fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-08-30 22:18:30

Larin писал(а):на карренте не собралось.
issing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-omit-frame-pointer -mno-sse -mcmodel=kernel -mno-red-zone -mno-mmx -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -Werror /usr/src/sys/kern/sched_fbfs.c
cc1: warnings being treated as errors
/usr/src/sys/kern/sched_fbfs.c: In function 'runq_choose_bfs':
/usr/src/sys/kern/sched_fbfs.c:872: warning: statement with no effect
/usr/src/sys/kern/sched_fbfs.c:872: error: expected ';' before string constant
*** Error code 1

Stop in /mnt/xran/obj/usr/src/sys/GENERIC.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

Код: Выделить всё

laptop# uname -a
FreeBSD laptop 9.0-BETA1 FreeBSD 9.0-BETA1 #0 r224985: Fri Aug 19 01:43:43 EEST 2011     larin@laptop:/usr/obj/usr/src/sys/GENERIC  amd64
laptop# 
патч накладывал сначало от 8.2 потом по инструкции на 9-ку
По поводу НЕ сборки - действительно есть ошибка автора:
вместо

Код: Выделить всё

KASSERT(td != NULL, "runq_choose_bfs: no thread on busy queue");
нужно

Код: Выделить всё

KASSERT((td != NULL), ("runq_choose_bfs: no thread on busy queue"));
обновите патч по указанным ранее ссылкам - все исправил...

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение Larin » 2011-09-01 12:55:51

Alex Keda писал(а):2 Larin
машина скольки ядерная?

у меня на двух и остальное работает когда оно подвисает.

чтоб подвисло прям всё, на несколько секунд, бывает только в моменты обновления - когда чё-то крупное разархивируется - до диска не достучаться в этот момент.
или утром, когда логинюсь на работе и запускаю пачку приложений разом - лису, птицу, копыто, скайп - после этого секунд 5 не могу достучаться до уже запущщеного xmms (его я не выключаю) чтоб сказать что надо игать весь плейлист заново.

иногда вспоминаю об этом, и вначале включаю музыку =)

но на работе тоже двухядерник. причём оптерон, а не фуфел десктопный...
двухядерный) но celeron 1.2Mhz слаабенький ноут.

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение Larin » 2011-09-01 12:56:40

fidaj писал(а):
Larin писал(а):на карренте не собралось.
issing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-omit-frame-pointer -mno-sse -mcmodel=kernel -mno-red-zone -mno-mmx -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -Werror /usr/src/sys/kern/sched_fbfs.c
cc1: warnings being treated as errors
/usr/src/sys/kern/sched_fbfs.c: In function 'runq_choose_bfs':
/usr/src/sys/kern/sched_fbfs.c:872: warning: statement with no effect
/usr/src/sys/kern/sched_fbfs.c:872: error: expected ';' before string constant
*** Error code 1

Stop in /mnt/xran/obj/usr/src/sys/GENERIC.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

Код: Выделить всё

laptop# uname -a
FreeBSD laptop 9.0-BETA1 FreeBSD 9.0-BETA1 #0 r224985: Fri Aug 19 01:43:43 EEST 2011     larin@laptop:/usr/obj/usr/src/sys/GENERIC  amd64
laptop# 
патч накладывал сначало от 8.2 потом по инструкции на 9-ку
По поводу НЕ сборки - действительно есть ошибка автора:
вместо

Код: Выделить всё

KASSERT(td != NULL, "runq_choose_bfs: no thread on busy queue");
нужно

Код: Выделить всё

KASSERT((td != NULL), ("runq_choose_bfs: no thread on busy queue"));
обновите патч по указанным ранее ссылкам - все исправил...

отлично. сейчас попробую

fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-10-12 19:51:54

Сделал неофициальный порт FBFS (со своими дополнениями\соображениями) для CURRENT (если кто уже перешел на него)
Обновил первый пост по ссылке в первом посту(ибо тут не могу редактировать сообщения после некоторого времени)+инструкция наложения моего неофициального патча.

Что в изменениях:
-исправил некоторые ошибки в первоначальном коде;
-оптимизировал некоторые участки кода;
-добавил обработку приоритетов нитей ядра;
-перенес из sched_4bsd возможность использования PREEMPTION и FULL_PREEMPTION - теперь звук (на моей системе) не лагает как раньше - вытеснение нитей работает как и должно было быть.

тестируйте - пишите отзывы! (очень даже желательно! ;) )

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение Larin » 2011-10-13 0:41:27

fidaj писал(а):Сделал неофициальный порт FBFS (со своими дополнениями\соображениями) для CURRENT (если кто уже перешел на него)
Обновил первый пост по ссылке в первом посту(ибо тут не могу редактировать сообщения после некоторого времени)+инструкция наложения моего неофициального патча.

Что в изменениях:
-исправил некоторые ошибки в первоначальном коде;
-оптимизировал некоторые участки кода;
-добавил обработку приоритетов нитей ядра;
-перенес из sched_4bsd возможность использования PREEMPTION и FULL_PREEMPTION - теперь звук (на моей системе) не лагает как раньше - вытеснение нитей работает как и должно было быть.

тестируйте - пишите отзывы! (очень даже желательно! ;) )
на 8.2 проблемы со звуком тоже решены?

_ankor
проходил мимо

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение _ankor » 2011-10-13 13:09:36

Larin писал(а): на 8.2 проблемы со звуком тоже решены?
На FreeBSD 9.0-BETA3 i386 звук нормально заработал, попробуй может прокатит.

fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-10-13 15:09:52

Larin писал(а):
fidaj писал(а):Сделал неофициальный порт FBFS (со своими дополнениями\соображениями) для CURRENT (если кто уже перешел на него)
Обновил первый пост по ссылке в первом посту(ибо тут не могу редактировать сообщения после некоторого времени)+инструкция наложения моего неофициального патча.

Что в изменениях:
-исправил некоторые ошибки в первоначальном коде;
-оптимизировал некоторые участки кода;
-добавил обработку приоритетов нитей ядра;
-перенес из sched_4bsd возможность использования PREEMPTION и FULL_PREEMPTION - теперь звук (на моей системе) не лагает как раньше - вытеснение нитей работает как и должно было быть.

тестируйте - пишите отзывы! (очень даже желательно! ;) )
на 8.2 проблемы со звуком тоже решены?
неа... rudotx пока не возобновлял работы над планировщиком...
а я делаю для беты и карента...
и именно для решения проблемы со звуком сделал этот неофициальный патч, можно так сказать это не порт FBFS от rudotx это уже "сочинение" на вольную тему, хотя идеи FBS пока еще остались в коде...

fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-10-13 15:14:51

_ankor писал(а):
Larin писал(а): на 8.2 проблемы со звуком тоже решены?
На FreeBSD 9.0-BETA3 i386 звук нормально заработал, попробуй может прокатит.
не прокатит... все что ниже 9.х делал rudotx - я - все что >= 9.x...
старые патчи, типа официальные, остались прежними...

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение Larin » 2011-10-13 22:32:03

fidaj писал(а):
_ankor писал(а):
Larin писал(а): на 8.2 проблемы со звуком тоже решены?
На FreeBSD 9.0-BETA3 i386 звук нормально заработал, попробуй может прокатит.
не прокатит... все что ниже 9.х делал rudotx - я - все что >= 9.x...
старые патчи, типа официальные, остались прежними...
так может это все както смержить. зачем писать параллельный код?

fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-10-14 13:04:56

Larin писал(а):
fidaj писал(а):
_ankor писал(а):
Larin писал(а): на 8.2 проблемы со звуком тоже решены?
На FreeBSD 9.0-BETA3 i386 звук нормально заработал, попробуй может прокатит.
не прокатит... все что ниже 9.х делал rudotx - я - все что >= 9.x...
старые патчи, типа официальные, остались прежними...
так может это все както смержить. зачем писать параллельный код?
что бы ответить на этот вопрос- нужно перечитать все что я писал на двух форумах и на блоге @rudotx... для меня вообще непонятное состояние дел... @rudotx говорил что продолжит доработки, но видать его затянула учеба... как у него дальше дело будет я не знаю - сам планировщик нужен мне лично, поэтому я сделал именно те изменения которые для меня были востребованы и критичны уже сейчас, и теперь FBFS во всем меня устраивает....
если @rudotx продолжит доработку - будем стыковаться и дискутировать... а пока я продолжу развитие своего варианта...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение Alex Keda » 2011-10-17 23:07:09

вы бы в current@ патчсет-то закинули...
Убей их всех! Бог потом рассортирует...

_ygor
проходил мимо

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение _ygor » 2011-10-18 10:23:25

Alex Keda писал(а):вы бы в current@ патчсет-то закинули...
В официальные рассылки запостить бы эту инфу (о патчах, о тестах) точно бы стоило.

fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-10-18 12:09:04

Alex Keda писал(а):вы бы в current@ патчсет-то закинули...
там @rudotx писал о том, что планировщик собирается портировать по программе GSoC...
Ivan Voras - был его куратором - он тоже соотв. в курсе...
я написал письмо @avg - жду реакции...
на этом мои полномочия заканчиваются...
заново поднимать тему в рассылке - думаю нет смысла - затеряется опять...

fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-10-18 12:09:39

_ygor писал(а):
Alex Keda писал(а):вы бы в current@ патчсет-то закинули...
В официальные рассылки запостить бы эту инфу (о патчах, о тестах) точно бы стоило.
UP

fidaj
мл. сержант
Сообщения: 136
Зарегистрирован: 2009-12-19 20:54:03

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение fidaj » 2011-10-18 12:35:49

Alex Keda писал(а):вы бы в current@ патчсет-то закинули...
_ygor писал(а):
Alex Keda писал(а):вы бы в current@ патчсет-то закинули...
В официальные рассылки запостить бы эту инфу (о патчах, о тестах) точно бы стоило.
А вы, кстати, пробовали сам планировщик?
Ну хоть отзывы по ощущуниям напишите... ;)

dagor
мл. сержант
Сообщения: 81
Зарегистрирован: 2009-12-10 17:52:45

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение dagor » 2011-10-18 22:08:19

Использовал,отзывчивость впечатляет,раздражает периодически визг при проигрывании звука. Пользую 8.2STABLE-am64-2ядра,Вашего патча под нее нет,а старый просто уже не подходит.

linecommander
мл. сержант
Сообщения: 82
Зарегистрирован: 2009-05-11 23:06:49
Откуда: Odessa

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение linecommander » 2012-01-31 3:17:27

Код: Выделить всё

root [src] myhost# pwd
/usr/src
пока на генерике

Код: Выделить всё

% uname -a
FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

Код: Выделить всё

# ls -lAF /usr/src/ | grep patch
-rw-r--r--    1 linecommander  linecommander    6119 31 січ 01:50 patch-sched_fbfs.c.12_8_2011
правильный патч?

Код: Выделить всё

# patch -p1 < patch-sched_fbfs.c.12_8_2011
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- sched_fbfs.c       2011-08-13 15:17:24.000000000 +0300
|+++ sched_fbfs_my.c.12_8_2011.editing.21_8_2011        2011-08-31 01:09:21.000000000 +0300
--------------------------
File to patch: 
No file found--skip this patch? [n] 
File to patch: 
с очень большой степенью вероятности могу предположить что делаю что-то не так
объясните пожалуйста в подробностях

перед сборкой ядра переставлю коммент

Код: Выделить всё

#options  SCHED_FBFS  # FBFS scheduler                                                             
options  SCHED_ULE  # ULE scheduler
Я не волшебник, я только учусь!

linecommander
мл. сержант
Сообщения: 82
Зарегистрирован: 2009-05-11 23:06:49
Откуда: Odessa

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение linecommander » 2012-01-31 3:35:11

/usr/src/sys/kern/sched_fbfs.c такого файла у меня в исходниках вообще не наблюдается
Я не волшебник, я только учусь!

linecommander
мл. сержант
Сообщения: 82
Зарегистрирован: 2009-05-11 23:06:49
Откуда: Odessa

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение linecommander » 2012-01-31 3:38:45

обновлял вот так:

Код: Выделить всё

*default host=cvsup.de.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_9
*default delete use-rel-suffix
src-all
Я не волшебник, я только учусь!

linecommander
мл. сержант
Сообщения: 82
Зарегистрирован: 2009-05-11 23:06:49
Откуда: Odessa

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение linecommander » 2012-01-31 3:46:11

Код: Выделить всё

# grep -A 2 'TYPE="' /usr/src/sys/conf/newvers.sh
TYPE="FreeBSD"
REVISION="9.0"
BRANCH="STABLE"
Я не волшебник, я только учусь!

ark
рядовой
Сообщения: 20
Зарегистрирован: 2008-04-13 18:10:20
Контактная информация:

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение ark » 2012-01-31 18:02:18

его и нет в системе)) это неофициальный патч на фрю
этот шедулер изначально писался под линукс.

linecommander
мл. сержант
Сообщения: 82
Зарегистрирован: 2009-05-11 23:06:49
Откуда: Odessa

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение linecommander » 2012-02-01 1:14:06

Код: Выделить всё

|diff --git a/usr/src/sys/sys/runq.h b/usr/src/sys/sys/runq.h
|index 3c01633..7f01eab 100644
|--- a/usr/src/sys/sys/runq.h
|+++ b/usr/src/sys/sys/runq.h
--------------------------
Patching file sys/runq.h using Plan A...
Hunk #1 succeeded at 40.
done
...а вот теперь кажется заработала!
Я не волшебник, я только учусь!

linecommander
мл. сержант
Сообщения: 82
Зарегистрирован: 2009-05-11 23:06:49
Откуда: Odessa

Re: FBFS ( FreeBSD BFS ) scheduler

Непрочитанное сообщение linecommander » 2012-02-01 14:20:07

не уверен, что в данном случае надо было сделать именно так, но я сделал классически --- начал со сборки мира и получил:

Код: Выделить всё

-D__STDC_CONSTANT_MACROS -DLLVM_HOSTTRIPLE=\"x86_64-unknown-freebsd9.0\" -fstack
-protector -fno-exceptions -fno-rtti -c /usr/src/lib/clang/libclangarcmigrate/..
/../../contrib/llvm/tools/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp
{standard input}: Assembler messages:
{standard input}:42809: Warning: end of file not at end of a line; newline inserted
{standard input}:43202: Error: suffix or operands invalid for `movq'
c++: Internal error: Killed: 9 (program cc1plus)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
*** Error code 1
1 error
*** Error code 2
1 error
вопрос знатокам: а может быть надо было пропустить сборку мира?

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

огромная просьба утвердить меня в данном решении
Я не волшебник, я только учусь!