BSDPORTAL.RU
http://bsdportal.ru/

Использование FBFS ( FreeBSD BFS ) scheduler
http://bsdportal.ru/viewtopic.php?f=98&t=24660
Страница 1 из 9

Автор:  olevole [ Чт 14 июл, 2011 1:54 am ]
Заголовок сообщения:  Использование FBFS ( FreeBSD BFS ) scheduler

В рамках работ Google Summer of Code, портирован и доступен для тестирования новый шедулер BFS. Порт шедулера отличается от оригинальной версии на Linux.
Попробовать новинку можно как через LiveCD образ, в который входит X-сервер, так и через патч

Основное различие нового шедулера - простота, без элементов обнаружения и автоматического разруливания приоритетом процессов (back to 4BSD, только еще проще)

http://rudot.blog.com/2011/07/13/freebs ... lable-now/

Все необходимые патчи берите по ссылкам отсюда http://rudot.blog.com/latest-patch-available/
И только!
что бы не было путаницы...

PS неофициальный патч
cp fbfs_12_8_2011.my.patch /usr/src/sys
cd /usr/src/sys
patch -p4 < fbfs_12_8_2011.my.patch


Show must go on! :)
Это совсем неофициальный порт BFS.
https://github.com/olevole/fbfs
[13.09.2014]
FBFS for 10.0-STABLE >= r265536 & 11-HEAD
Код:
cp fbfs_10.0-STABLE.patch /usr/src
cd /usr/src
patch -p1 < fbfs_10.0-STABLE.patch

[12.10.2014]
FBFS for 10.1-PRERELEASE #0 >= r272977
Код:
cp fbfs_10.1-RC1.patch /usr/src
cd /usr/src
patch -p1 < fbfs_10.1-RC1.patch

Автор:  fidaj [ Чт 14 июл, 2011 3:24 am ]
Заголовок сообщения: 

Отличная новость!

Проблемы с планировщиком начал ощущать кажись при переходе на 7.0 (ULE)... который недавно меня уже совсем "извлёк"! Перешел обратно на 4BSD... потому как для desktop ULE ещё тот тормоз, при сборках подвисания курсора мыши ну просто дикие особенно в последние несколько месяцев в CURRENT, кстати о чем собственно и заведена тема в рассылке ( Heavy I/O blocks FreeBSD box for several seconds ) где отмечаются подобные проблемы с ULE...

Кто-то уже опробывал BFS?
Отпишитесь об ощущениях.

Автор:  fidaj [ Чт 14 июл, 2011 3:24 am ]
Заголовок сообщения: 

Кстати а кто-нибудь анализировал код планировщика в Mac OS X?

Там оно кажись вообще простое как три копейки зато отзывчивость системы просто потрясная!...

P.S. кажись глюк в движке портала... ранее можно было удалить своё последнее сообщение - теперь - нет :(

Автор:  AlexVPetrov [ Чт 14 июл, 2011 6:24 am ]
Заголовок сообщения: 

fidaj писал(а):
Проблемы с планировщиком начал ощущать кажись при переходе на 7.0 (ULE)... который недавно меня уже совсем "извлёк"! Перешел обратно на 4BSD... потому как для desktop ULE ещё тот тормоз, при сборках подвисания курсора мыши ну просто дикие особенно в последние несколько месяцев в CURRENT

Сижу на STABLE аналогичные проблемы наблюдались с 4Гб!!! памяти (4-х ядерный Core2, KDE последний).

Добавил ещё памяти 4Гб - проблема ушла :-)

Автор:  fidaj [ Чт 14 июл, 2011 10:25 am ]
Заголовок сообщения: 

AlexVPetrov писал(а):
fidaj писал(а):
Проблемы с планировщиком начал ощущать кажись при переходе на 7.0 (ULE)... который недавно меня уже совсем "извлёк"! Перешел обратно на 4BSD... потому как для desktop ULE ещё тот тормоз, при сборках подвисания курсора мыши ну просто дикие особенно в последние несколько месяцев в CURRENT

Сижу на STABLE аналогичные проблемы наблюдались с 4Гб!!! памяти (4-х ядерный Core2, KDE последний).

Добавил ещё памяти 4Гб - проблема ушла :-)

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

Автор:  arrowdodger [ Чт 14 июл, 2011 10:40 am ]
Заголовок сообщения: 

Да, проблема есть. Но использование 4BSD меня все-же несколько смущает - код древний, как-никак.

В рассылке для ULE посоветовали установить sysctl kern.sched.preempt_thresh=224, отзывчивость, в принципе, повысилась. Однако, как только система забирается в свап, начинаются просто умопомрачительные тормоза.

Автор:  fidaj [ Чт 14 июл, 2011 10:45 am ]
Заголовок сообщения: 

arrowdodger писал(а):
Да, проблема есть. Но использование 4BSD меня все-же несколько смущает - код древний, как-никак.

древность кода не говорит о его плохости ;)

arrowdodger писал(а):
В рассылке для ULE посоветовали установить sysctl kern.sched.preempt_thresh=224, отзывчивость, в принципе, повысилась. Однако, как только система забирается в свап, начинаются просто умопомрачительные тормоза.

во-во... и это я тоже проходил ;)

Автор:  fidaj [ Чт 14 июл, 2011 12:37 pm ]
Заголовок сообщения: 

не знаю как для релиза 8.2, но для CURRENT патч по теме лихо не подходит....
то есть наложение патча проходит успешно, да вот только при сборке
Код:
...
cc1: warnings being treated as errors
/usr/src/sys/kern/sched_fbfs.c:457: warning: no previous prototype for 'sched_unlend_user_prio' [-Wmissing-prototypes]
/usr/src/sys/kern/sched_fbfs.c: In function 'sched_switch':
/usr/src/sys/kern/sched_fbfs.c:528: error: 'idle_cpus_mask' undeclared (first use in this function)
/usr/src/sys/kern/sched_fbfs.c:528: error: (Each undeclared identifier is reported only once
/usr/src/sys/kern/sched_fbfs.c:528: error: for each function it appears in.)
/usr/src/sys/kern/sched_fbfs.c:528: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:528: warning: type defaults to 'int' in declaration of '__res'
/usr/src/sys/kern/sched_fbfs.c:528: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:528: warning: type defaults to 'int' in declaration of 'type name'
/usr/src/sys/kern/sched_fbfs.c:528: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:528: warning: type defaults to 'int' in declaration of 'type name'
/usr/src/sys/kern/sched_fbfs.c:528: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:528: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:528: warning: type defaults to 'int' in declaration of '__p'
/usr/src/sys/kern/sched_fbfs.c:528: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:602: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:602: warning: type defaults to 'int' in declaration of '__res'
/usr/src/sys/kern/sched_fbfs.c:602: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:602: warning: type defaults to 'int' in declaration of 'type name'
/usr/src/sys/kern/sched_fbfs.c:602: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:602: warning: type defaults to 'int' in declaration of 'type name'
/usr/src/sys/kern/sched_fbfs.c:602: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:602: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:602: warning: type defaults to 'int' in declaration of '__p'
/usr/src/sys/kern/sched_fbfs.c:602: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c: In function 'worst_running_thread':
/usr/src/sys/kern/sched_fbfs.c:668: error: 'struct cpuhead' has no member named 'slh_first'
/usr/src/sys/kern/sched_fbfs.c:668: error: 'struct <anonymous>' has no member named 'sle_next'
/usr/src/sys/kern/sched_fbfs.c: In function 'sched_wakeup':
/usr/src/sys/kern/sched_fbfs.c:692: error: 'cpumask_t' undeclared (first use in this function)
/usr/src/sys/kern/sched_fbfs.c:692: error: expected ';' before 'dontuse'
/usr/src/sys/kern/sched_fbfs.c:702: error: 'me' undeclared (first use in this function)
/usr/src/sys/kern/sched_fbfs.c:702: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:702: warning: type defaults to 'int' in declaration of '__res'
/usr/src/sys/kern/sched_fbfs.c:702: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:702: warning: type defaults to 'int' in declaration of 'type name'
/usr/src/sys/kern/sched_fbfs.c:702: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:702: warning: type defaults to 'int' in declaration of 'type name'
/usr/src/sys/kern/sched_fbfs.c:702: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:702: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:702: warning: type defaults to 'int' in declaration of '__p'
/usr/src/sys/kern/sched_fbfs.c:702: error: 'struct pcpu' has no member named 'pc_cpumask'
/usr/src/sys/kern/sched_fbfs.c:703: error: 'dontuse' undeclared (first use in this function)
/usr/src/sys/kern/sched_fbfs.c:704: error: 'map' undeclared (first use in this function)
/usr/src/sys/kern/sched_fbfs.c:704: error: 'idle_cpus_mask' undeclared (first use in this function)
/usr/src/sys/kern/sched_fbfs.c: At top level:
/usr/src/sys/kern/sched_fbfs.c:994: error: conflicting types for 'sched_tick'
/usr/src/sys/sys/sched.h:113: error: previous declaration of 'sched_tick' was here
*** Error code 1

и это уже после некоторых поправок с определениями...

Автор:  olevole [ Чт 14 июл, 2011 12:47 pm ]
Заголовок сообщения: 

я тоже из-за отсутствия патча для 9-CURRENT не смог затестить. На тех машинах, где могу потестировать - там везде тестируется HEAD ;)

Автор:  fidaj [ Пт 15 июл, 2011 8:59 pm ]
Заголовок сообщения: 

короч я на своем кривом инглише написал в каментах и одному и другому из http://wiki.freebsd.org/RudolfTomori/rudotSoC2011
    Rudo Tomori - student
    Ivan Voras - mentor
тут и тут
какие поступили ответы - вы можете почитать сами....

кстати на блоге автора второй МОЙ камент вообще не пропустили, а приблизительный смысл его был таков
    мол, зачем делать новшевства в ветке отличной от CURRENT? Но все-равно спасибо за проделанную работу!


вопрос который так и остался открытым...
Если этот планировщик планировали использовать в будущем - то почему выбрали 8.2-RELEASE?(это с учётом ответа автора на блоге)
Если не планировали использовать - то нафиг нужно было вообще тратить время на эти эксперименты и писать просьбы о тестировании и об отчетах тестов?

и вообще странная тенденция с проектом FreeBSD - многие вещи делаються НО далеко не все принимаются в head! Зачем тогда вообще делать мертвородышей, если основному проекту оно вообще не нужно?

При такой тенденции потому и имеем новости подобного характера http://www.bsdportal.ru/viewtopic.php?t ... highlight=

может кто-то из посетителей данного ресурса знают ответы? (хоть в виде сплетен и слухов - но хоть какие-то ответы...)

Может местными силами удастся сделать адаптацию кода на CURRENT?
Кто желает и может принять участие в этом?

Автор:  f0andrey [ Пт 15 июл, 2011 11:54 pm ]
Заголовок сообщения: 

fidaj писал(а):
короч я на своем кривом инглише написал в каментах и одному и другому из

Нормальные и вполне логичные ответы, так что нечего тут тень на плетень наводить.
А по отдельным проектам, ну ничего не мешает им стать частью FreeBSD когда они докажут свою нужность, как это уже много раз было.

Автор:  fidaj [ Сб 16 июл, 2011 12:14 am ]
Заголовок сообщения: 

f0andrey писал(а):
fidaj писал(а):
короч я на своем кривом инглише написал в каментах и одному и другому из

Нормальные и вполне логичные ответы, так что нечего тут тень на плетень наводить.
А по отдельным проектам, ну ничего не мешает им стать частью FreeBSD когда они докажут свою нужность, как это уже много раз было.

а боже ж ты мой...
я же не говорю про нелогичность ответов...
я говорю о НЕЛОГИЧНОСТИ действий
CURRENT - тут разрабатываеся опробывается новое и в случае нормального исхода делается back-port на низшие ветки...
в данном случае "взяли лопаты и пошли копать там где не надо" - мало того что Вораса задействовали (и это то перед заморозкой к предстоящему релизу 9-ки) так еще и сделали то что тестировать нужно не в ветке разработчиков (коей является именно CURRENT) - а на текущем релизе - вот это совсем не логично...

Автор:  arrowdodger [ Сб 16 июл, 2011 11:27 am ]
Заголовок сообщения: 

Почему девелопили под 8-ку, в принципе, понятно. Задача студента - написать шедулер и посмотреть как чего, research project. Для этого ему надо стабильный релиз. Когда исследование покажет, что шедулер рулит, тогда его и допилят до CURRENT и скоммитят его именно туда.
Естественно, IMHO.

Автор:  fidaj [ Сб 16 июл, 2011 12:12 pm ]
Заголовок сообщения: 

arrowdodger писал(а):
Почему девелопили под 8-ку, в принципе, понятно. Задача студента - написать шедулер и посмотреть как чего, research project. Для этого ему надо стабильный релиз. Когда исследование покажет, что шедулер рулит, тогда его и допилят до CURRENT и скоммитят его именно туда.
Естественно, IMHO.

с такого угла зрения - логично.

ну так а как сам планировщик?
удалось потестировать?

Автор:  arrowdodger [ Вс 17 июл, 2011 11:51 am ]
Заголовок сообщения: 

Нет, я не пробовал. Возможно, на следующей неделе.

Автор:  fidaj [ Ср 20 июл, 2011 11:02 pm ]
Заголовок сообщения: 

ковырялся , ковырялся я с этим шедулером что бы под 9-ку сделать...
вродь сделал, ядро собирается без ошибок, но при загрузке паника на некоторых модулях... дальше разбираться не хватает времени...
вот патч на sched_fbfs.c после оналожения оригинального патча
может у кого руки дойдут доделать... уж очень охотно на 9-ке пошшупать... на 8-ку я явно возвращаться уже не буду....

Автор:  fidaj [ Чт 21 июл, 2011 2:24 am ]
Заголовок сообщения: 

кстати на блоге автора планировщика некое оживление...
не один я был заинтересован для тестирования именно в CURRENT... и там обещают помочь...
Да и сам автор ответил о причинах выбора именно 8.2... arrowdodger был прав ;)

Автор:  fidaj [ Пт 12 авг, 2011 2:01 am ]
Заголовок сообщения: 

fidaj писал(а):
ковырялся , ковырялся я с этим шедулером что бы под 9-ку сделать...
вродь сделал, ядро собирается без ошибок, но при загрузке паника на некоторых модулях... дальше разбираться не хватает времени...
вот патч на sched_fbfs.c после оналожения оригинального патча
может у кого руки дойдут доделать... уж очень охотно на 9-ке пошшупать... на 8-ку я явно возвращаться уже не буду....

руки дошли опять-таки у меня (ну и тихое болотце тут однако)
Вот мой патч под CURRENT на последнюю версию в блоге
и на всякий случай продублирую а то вдруг автор обновит свой патч...
Мой патч применять точно так же после применения основного патча...
О впечатлениях рассказывать не буду (интригую) - ставьте сами проверяйте...
Скажу только одно - ядро собирается, загружается с новым планировщиком (теперь не крушится) и работает...
В данный момент сижу пока с этим планировщиком - продолжаю шшупать...

будут заинтересованные - будем говорить дальше ;)

Автор:  ankor [ Пт 12 авг, 2011 5:05 pm ]
Заголовок сообщения: 

fidaj писал(а):
будут заинтересованные - будем говорить дальше ;)

Заинтересованные есть, так CURRENTa уже нет(BETA1) и я всё убил своё
Сейчас у меня 8.2-RELEASE-p2 i386, патч поставил, но как-то неоднозначно.

Автор:  fidaj [ Пт 12 авг, 2011 5:12 pm ]
Заголовок сообщения: 

ankor писал(а):
Заинтересованные есть, так CURRENTa уже нет(BETA1) и я всё убил своё

Вот-вот именно это я и имел ввиду....
тема то началась когда еще был CURRENT, вот что бы больше не путать так и оставил старый термин...
ankor писал(а):
Сейчас у меня 8.2-RELEASE-p2 i386, патч поставил, но как-то неоднозначно.

на i386 оно кстати еще сносно а вот самый интерес представляет именно amd64 и то что в head...

Страница 1 из 9 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/