Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Aug 26, 2019 3:55 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 81 posts ]  Go to page Previous 1 2 3 4 5 6
Author Message
PostPosted: Fri May 17, 2013 12:17 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Закинь на фтп свой example, попробую один тест сделать.

http://ftp.kolibrios.org/users/Mario/CPU100%25/

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri May 17, 2013 11:35 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Сделал тесты с увеличенным количеством тиков в кванте без изменения частоты таймера. Чем больше тиков, тем ровнее распределение времени. Но на длинных квантах начинаются проблемы со звуком, как и ожидалось.


Top
   
PostPosted: Fri May 17, 2013 12:28 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Сделал тесты с увеличенным количеством тиков в кванте без изменения частоты таймера. Чем больше тиков, тем ровнее распределение времени. Но на длинных квантах начинаются проблемы со звуком, как и ожидалось.

Мы же вроде обговаривали повышение частоты? С повышением не должно быть проблем со звуком.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri May 17, 2013 2:06 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Я не менял частоту для упрощения теста и чтобы не ломать таймеры в ядре. На равномерность распределения времени она влияет слабо. На практике, если делать квант длиннее 10мс надо вводить приоритеты потоков.


Top
   
PostPosted: Sat May 18, 2013 1:02 am 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1342
а я со своей стороны добрался наконец до регистров LAPIC.


Top
   
PostPosted: Thu May 23, 2013 2:41 am 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1342
Serge,
ты не знаешь, как в этого блэкджека нужно записывать end of interrupt ?
Code:
apic_timer_reset:
   xor   eax, eax
   mov   [0x8006D000], eax
   mov   ebx, LAPIC_BAR+ 0x320
   mov   eax, [ebx]
   and   eax, 0xFFFEFF00
   or   eax, 0x0002003F       ; int vector + autostart
   mov   [ebx], eax
   ret


apic_timer_int:
   inc   dword [0x8006D000]                       ; interrupts counter
   mov   dword [LAPIC_BAR + 0x420], 0x3F     ; end of interrupt
   iretd

таймер крутится, но прерывание срабатывает только один раз.

UPD: Всё, заработало!!
надо было еще
Code:
mov dword[LAPIC_BAR + 0x0B0], 0 


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 81 posts ]  Go to page Previous 1 2 3 4 5 6

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited