Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Nov 17, 2019 5:29 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 262 posts ]  Go to page Previous 19 10 11 12 1318 Next
Author Message
PostPosted: Wed Nov 27, 2013 7:31 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
punk_joker
Да, у тебя работает как задумано.

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


Top
   
PostPosted: Wed Nov 27, 2013 6:31 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
yogev_ezra
Просьба протестировать SVN r. 4303 на VMware.

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


Top
   
PostPosted: Wed Nov 27, 2013 9:22 pm 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
Mario_r4 wrote:
yogev_ezra
Просьба протестировать SVN r. 4303 на VMware.

Протестировал SVN r. 4305, теперь вроде устанавливает как и задумано - Hard Disk: DMA, CD-ROM: PIO.
Как я могу проверить, есть ли разница в скорости между PIO и DMA? Есть какая-то утилита для тестирования?


Attachments:
PCIDEV.TXT [5.51 KiB]
Downloaded 92 times
BOARDLOG.TXT [2.57 KiB]
Downloaded 93 times
Top
   
PostPosted: Wed Nov 27, 2013 9:33 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Утилит нет, только косвенно - например прочитав/скопировав большой файл и засекая время.
Если есть желание можешь написать такую утилиту сам.

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


Top
   
PostPosted: Wed Nov 27, 2013 9:38 pm 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
Mario_r4 wrote:
Утилит нет, только косвенно - например прочитав/скопировав большой файл и засекая время.
Если есть желание можешь написать такую утилиту сам.
Ясно. Ну логи-то хоть правильные теперь были?


Top
   
PostPosted: Wed Nov 27, 2013 9:41 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
yogev_ezra wrote:
Ну логи-то хоть правильные теперь были?

Да.

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


Top
   
PostPosted: Wed Nov 27, 2013 11:16 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Attachment:
File comment: pcidev(r3534 sata+pata).txt
pcidev(r3534 pata).txt
pcidev(r3502 SATA+PATA).txt
pcidev(r3502 PATA).txt
Boardlog(r3534 SATA+PATA).txt
Boardlog(r3534 pata).txt

Archive.7z [1.91 KiB]
Downloaded 84 times


Top
   
PostPosted: Thu Nov 28, 2013 10:12 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr
Просьба проверить SVN r.4307

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


Top
   
PostPosted: Thu Nov 28, 2013 5:14 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Mario_r4, у меня без изменений. Работает в режиме только SATA.

В логе пишется, что dma установлен — но это ведь никак не проверяется?
yogev_ezra wrote:
Как я могу проверить, есть ли разница в скорости между PIO и DMA?
Мне тоже стало интересно. Сделал небольшую программку.
Spoiler: Show
Создаётся файл "/hd0/1/_t_e_s_t_f_i_l_e_" размером 100 Mb.
И читается 10 раз полностью в буфер размером 100 Mb.
Не уверен, в каких именно "попугаях" получается результат, но по ощущениям кажется, что долго.

Code:
ORG 0
BITS 32
; ---------------------------------------------------------------------------- ;
FILE_SIZE              equ (1024 * 1024 * 100)
LOOP_COUNT             equ 10
TIMER_TICKS_PER_SECOND equ 100
BYTES_PER_MEGABYTES    equ 1024 * 1024
OUT_STRING_LEFT        equ 16
STACK_SIZE             equ 256
; ---------------------------------------------------------------------------- ;
MENUET01       db 'MENUET01'
version        dd 1
program.start  dd START
program.end    dd END
program.memory dd END + FILE_SIZE + STACK_SIZE
program.stack  dd END + FILE_SIZE + STACK_SIZE
program.params dd 0
program.path   dd 0
; ---------------------------------------------------------------------------- ;
action_string  dd sz_start
timer_ticks    dd 0
result         dd 0
; ---------------------------------------------------------------------------- ;
file_info:
.action        dd 0
.position      dd FILE_SIZE ; for "create file"
               dd 0
.count         dd 0
.buffer        dd 0
               db 0
.file_path     dd sz_file_path
; ---------------------------------------------------------------------------- ;
sz_caption     db "test",0
sz_start       db "start..",0
sz_done        db " done. ",0
sz_error       db " error ",0
sz_file_path   db "/hd0/1/_t_e_s_t_f_i_l_e_",0
; ---------------------------------------------------------------------------- ;
START:
; set.event:
        mov    eax, 40
        mov    ebx, 5 ; redraw + button
        int    64
        call   On_Redraw
; ----------------------------------
        call   StartTest
        call   DrawInfo
; ----------------------------------
WaitEvent:
        mov    eax, 10
        int    64
        dec    eax
        jnz    Terminate
        call   On_Redraw
        jmp    WaitEvent
Terminate:
        or     eax, -1
        int    64
; ---------------------------------------------------------------------------- ;
On_Redraw:
; redraw.start
        mov    eax, 12
        mov    ebx, 1
        int    64
; draw.window
        xor    eax, eax
        mov    ebx, 200
        mov    ecx, 100
        mov    edx, 0x34CCDDEE
        mov    edi, sz_caption
        int    64
        call   DrawInfo
; redraw.finish
        mov    eax, 12
        mov    ebx, 2
        int    64
        ret
; ---------------------------------------------------------------------------- ;
DrawInfo:
; draw action
        mov    eax, 4
        mov    ecx, 0xC0000000
        mov    edi, 0x00CCDDEE
        mov    ebx, (OUT_STRING_LEFT << 16) | 10
        mov    edx, [action_string]
        int    64
; draw result
        mov    eax, 47
        mov    ebx, (10 << 16)
        mov    edx, (OUT_STRING_LEFT << 16) | 20
        mov    esi, 0x70000000
        mov    edi, 0x00FFFFFF
        mov    ecx, [result]
        int    64
        ret
; ---------------------------------------------------------------------------- ;
StartTest:
; if error then we go to .exit and action_string="error"
;                else before .exit action_string="done."
        mov    [action_string], dword sz_error
; try create file
        mov    eax, 70
        mov    [file_info.action], dword 2
        lea    ebx, [file_info]
        int    64
        test   eax, eax
        jnz    .exit
; try resize created file
        mov    eax, 70
        mov    [file_info.action], dword 4
        lea    ebx, [file_info]
        int    64
        test   eax, eax
        jnz    .exit
; get timer ticks
        mov    eax, 26
        mov    ebx, 9
        int    64
        mov    [timer_ticks], eax
; read from file
        mov    [file_info.position], dword 0
        mov    [file_info.action], dword 0
        mov    [file_info.count], dword FILE_SIZE
        mov    [file_info.buffer], dword END
        lea    edx, [file_info]
        mov    ecx, LOOP_COUNT
; ----------------------------------
.next:
        mov    eax, 70
        mov    ebx, edx
        int    64
        loop   .next
; ----------------------------------
; get timer ticks
        mov    eax, 26
        mov    ebx, 9
        int    64
; calculate result
; result = (FILE_SIZE * LOOP_COUNT / (delta(timer_ticks)) / (BYTES_PER_MEGABYTES * LOOP_COUNT / TIMER_TICKS_PER_SECOND)
        sub    eax, [timer_ticks]
        inc    eax ; to avoid next possible division by zero
        mov    ecx, eax
        mov    eax, FILE_SIZE * LOOP_COUNT
        xor    edx, edx
        div    ecx
        mov    ecx, BYTES_PER_MEGABYTES * LOOP_COUNT / TIMER_TICKS_PER_SECOND
        xor    edx, edx
        div    ecx
        mov    [action_string], dword sz_done
.exit:
        mov    [result], eax
        ret
; ---------------------------------------------------------------------------- ;
END:

Attachment:
rdt.kex [498 Bytes]
Downloaded 81 times


Top
   
PostPosted: Thu Nov 28, 2013 5:58 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr wrote:
у меня без изменений. Работает в режиме только SATA.

Значит сброс прерывания надо сделать в другом месте. Я предположительно определил в чем проблема. Поскольку прерывание от контроллера диска не погашено, а на то же прерывание повешен обработчик UHCI, то прерывание бесконечно генерируется, а обработчик UHCI его бесконечно отбрасывает, так как у него нету признака, что прерывание его. Вопрос в том чтобы надежно заглушить остаточное прерывание от IDE DMA. Хоть прерывания от него и запрещены, но видимо твой контроолер имеет собственное мнение на этот счет. :)
0CodErr wrote:
В логе пишется, что dma установлен — но это ведь никак не проверяется?

Проверки свойств самого диска я не делал, но если бы устройство не поддерживало UltraDMA, то доступа к диску вообще бы не было.

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


Top
   
PostPosted: Thu Nov 28, 2013 9:00 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr
Просьба проверить ядро:
Attachment:
kernel.7z [86.58 KiB]
Downloaded 79 times

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


Top
   
PostPosted: Thu Nov 28, 2013 10:50 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Mario_r4, теперь заработало.
Attachment:
File comment: pcidev(sata+pata).txt
pcidev(pata).txt
Boardlog(sata+pata).txt
Boardlog(pata).txt

Archive.7z [2.1 KiB]
Downloaded 84 times


Top
   
PostPosted: Thu Nov 28, 2013 10:58 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
0CodErr wrote:
Mario_r4, теперь заработало.

Залил SVN r.4311.

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


Top
   
PostPosted: Mon Dec 02, 2013 4:04 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
Samsung rv508 все работает как задуманно. Логи прилагаю.


Attachments:
samsung_rv508.7z [2.35 KiB]
Downloaded 85 times

_________________
я лишь учусь
Top
   
PostPosted: Mon Dec 02, 2013 7:17 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
punk_joker wrote:
Samsung rv508 все работает как задуманно. Логи прилагаю.

Вот только PCIDEV явно при других настройках сделан, либо от другой машины. Там нет IDE контроллера, только AHCI.

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 262 posts ]  Go to page Previous 19 10 11 12 1318 Next

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:  
Powered by phpBB® Forum Software © phpBB Limited