Page 78 of 91

Re: "Ночные" сборки KolibriOS

Posted: Thu Sep 07, 2017 4:10 pm
by 0CodErr
И ещё(60,100,130, 60,100,135, 60,100,135, 60,100,130, 90,140,150, 90,145,150, 90,145,150, 90,140,150, 165,170,160, 180,177,165, 180,177,165, 160,170,165, 93,65,95, 105,77,100, 105,77,100, 93,65,95)
fillscr2.PNG
fillscr2.PNG (73.65 KiB)
Viewed 7784 times

Re: "Ночные" сборки KolibriOS

Posted: Thu Sep 07, 2017 4:14 pm
by Leency
Возможности прикольные. Как насчет поддержки HEX цветов? Я бы тогда поэкспериментировал.
Ты старался, извини, но последняя буэ))))
Ну ладно, откатить обоину на предыдущую через palitra?)

Re: "Ночные" сборки KolibriOS

Posted: Thu Sep 07, 2017 4:23 pm
by 0CodErr
Leency wrote:Ты старался, извини, но последняя буэ))))
Ну цвета можно же любые подобрать.
Как насчет поддержки HEX цветов?
Разве это принципиально?
Сейчас просто пишешь "R,G,B, R,G,B, R,G,B, ..." и всё!

Re: "Ночные" сборки KolibriOS

Posted: Thu Sep 07, 2017 5:01 pm
by 0CodErr
ещё вариант(0,80,184,0,88,190,0,82,184,0,70,172,42,168,250,46,172,252,42,166,248,30,154,240,184,228,252,212,244,254,204,238,254,164,216,248,72,78,94,174,46,26,174,46,26,134,38,128
)
DEINK3.PNG
DEINK3.PNG (159.93 KiB)
Viewed 7774 times
Leency wrote:Ну ладно, откатить обоину на предыдущую через palitra?)
Давай я залью fillscr и выберем цвета.

Re: "Ночные" сборки KolibriOS

Posted: Sat Jan 27, 2018 7:57 pm
by JohnXenox
В свежей сборке svn7140, перестали работать программы, которые ещё недавно работали. Тестировал на реальном железе.

aclock
3dwav
gears
ray
view3ds
checkers
rforces
app_plus
game_center
syspanel
table
txtread

Re: "Ночные" сборки KolibriOS

Posted: Sun Jan 28, 2018 5:30 pm
by JohnXenox
В общем, проверил старые сборки и выяснил, что в сборке svn7122 эти программы работают, а в сборке svn7124 не работают. Судя по логам svn, программы перестали работать после правок в ядре, которые сделал dunkaist. :(

Re: "Ночные" сборки KolibriOS

Posted: Mon Jan 29, 2018 12:07 am
by dunkaist
Спасибо за репорт, я посмотрю, в чём там дело.
Покажи вывод grep -m1 ^flags /proc/cpuinfo

Re: "Ночные" сборки KolibriOS

Posted: Mon Jan 29, 2018 12:25 am
by JohnXenox
dunkaist wrote:Спасибо за репорт, я посмотрю, в чём там дело.
Покажи вывод grep -m1 ^flags /proc/cpuinfo
Нет проблем. :D

Вот вывод:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb cpb hw_pstate vmmcall bmi1 arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold

Re: "Ночные" сборки KolibriOS

Posted: Wed Jan 31, 2018 5:20 am
by dunkaist
Воспроизвёл баг в bochs. Пока вижу, что прилетает x87 Floating-Point Exception (0x10) на инструкции fstp. Причём, она не первая из fpu, а третья. Сегодня ушёл спать, на днях продолжу.

Re: "Ночные" сборки KolibriOS

Posted: Thu Feb 01, 2018 5:52 am
by dunkaist
Помимо прочих косяков, #NM не триггерится AVX инструкциями, только FPU--SSE. Похоже, буду при наличии avx (или даже просто xsave) сохранять все регистры при каждом переключении, а без него по старому. Пока сделал, чтобы TS в do_change_task не устанавливался -- падения пропали. Планирую добавить туда же xsave/xrstor для случая avx, и должно быть счастье.

Re: "Ночные" сборки KolibriOS

Posted: Fri Feb 02, 2018 4:19 pm
by Serge
dunkaist wrote:. Пока сделал, чтобы TS в do_change_task не устанавливался -- падения пропали.
Тогда контекст fpu/sse переключаться не будет. Все будут с одним работать.

Re: "Ночные" сборки KolibriOS

Posted: Fri Feb 02, 2018 9:43 pm
by dunkaist
Serge wrote:
dunkaist wrote:. Пока сделал, чтобы TS в do_change_task не устанавливался -- падения пропали.
Тогда контекст fpu/sse переключаться не будет. Все будут с одним работать.
Да, я поэтому не заливал. На выходных уезжаю, в начале недели только смогу пофиксить.
Откатить при необходимости проще всего в начале fpu.inc, сделав jmp .no_xsave вместо jnc.

Re: "Ночные" сборки KolibriOS

Posted: Sun Feb 04, 2018 10:14 pm
by Leency
dunkaist
Посмотри пожалуйста ASAP, т.к. многие важные приложения не работают.

Re: "Ночные" сборки KolibriOS

Posted: Mon Feb 05, 2018 3:47 am
by Serge
Возился с таймером HPET и заодно измерил латентность обработчика прерываний. Обнаружилась интересная вещь. В обычном состоянии при низкой нагрузке на цпу латентность 52-53 микросекунды. При 100% 2, иногда 3 микросекунды. Причина в использовании mwait в idle_thread. Если требуется низкая латентность обработчика, надо в kernel.asm поставить

Code: Select all

        jmp     .no_wake_cpus
перед

Code: Select all

; Move other CPUs to deep sleep, if it is useful
uglobal
use_mwait_for_idle db 0
endg
P.S. Проблеме подвержены только цпу от Интел.

Re: "Ночные" сборки KolibriOS

Posted: Mon Feb 05, 2018 3:48 pm
by CleverMouse
Serge wrote:Возился с таймером HPET и заодно измерил латентность обработчика прерываний. Обнаружилась интересная вещь. В обычном состоянии при низкой нагрузке на цпу латентность 52-53 микросекунды. При 100% 2, иногда 3 микросекунды. Причина в использовании mwait в idle_thread.
Это фича. idle_loop_mwait специально уводит процессор в глубокий сон C3, чтобы меньше грелся, но естественно, вывод из глубокого сна требует больше времени. Если в

Code: Select all

        mov     eax, 20h        ; or 10h
        mwait
заменить 20h на 10h, будет сон C2. Если на 0, будет обычный C1, так же, как и в hlt. В принципе, можно хоть динамически это значение вычислять в зависимости от того, хочет ли система в данный конкретный момент меньше греться или быстрее обрабатывать прерывания. Бонусные баллы за разделение цикла idle для главного процессора и остальных, неработающих процессоров, с разными значениями глубины сна.