Page 33 of 41
Re: Новые драйвера для ATI Radeon.
Posted: Sat Aug 17, 2013 5:13 pm
by Unduing
Re: Новые драйвера для ATI Radeon.
Posted: Sat Aug 17, 2013 7:16 pm
by Serge
Unduing
На irq 11 четыре устройства сидит. Проблема может быть в драйвере сетевухи а может и в видеодрайвере. А если выключить сетевуху в биос ?
Re: Новые драйвера для ATI Radeon.
Posted: Sat Aug 17, 2013 7:55 pm
by Unduing
После удаления из образа RTL8029.obj, RTL8139.obj, RTL8169.obj запуск atikms не вызывает зависание, проблема с жестким диском осталась. Сетевую разве что доставать, встроенная выключена.
Re: Новые драйвера для ATI Radeon.
Posted: Mon Aug 19, 2013 9:23 am
by Unduing
Serge
Что посоветуешь?
Re: Новые драйвера для ATI Radeon.
Posted: Mon Aug 19, 2013 12:01 pm
by hidnplayr
Serge: Does this suggest there is something wrong with RTL8169 interrupt handler?
Re: Новые драйвера для ATI Radeon.
Posted: Mon Aug 19, 2013 1:16 pm
by Serge
hidnplayr
Probably. I looked at the code, the interrupt handler calls KernelAlloc and KernelFree. This heavy functions uses mutexes and are not designed to run in interrupt context.
Moreover, the handler calls Eth_input, which causes even more functions. Too much code is running in interrupt context.
Re: Новые драйвера для ATI Radeon.
Posted: Mon Aug 19, 2013 2:32 pm
by hidnplayr
Serge wrote: hidnplayr
Probably. I looked at the code, the interrupt handler calls KernelAlloc and KernelFree. This heavy functions uses mutexes and are not designed to run in interrupt context.
Moreover, the handler calls Eth_input, which causes even more functions. Too much code is running in interrupt context.
So I should write network drivers more like those in linux, just queue an event and do all the rest later?
What exactly causes the interference with ATIKMS?
Re: Новые драйвера для ATI Radeon.
Posted: Mon Aug 19, 2013 4:06 pm
by Serge
So I should write network drivers more like those in linux, just queue an event and do all the rest later?
This would be the best solution.
What exactly causes the interference with ATIKMS?
Here is quite complicated situation. Three devices share a same interrupt. I think in the chain of interrupt handlers video is after the network. The error occurs in the context of atikms. During the initialization and tests device generates an interrupt. In this case, the network handler probably incorrectly handles such interrupt, or destroys the stack, or overwrites the preserved registers.
Re: Новые драйвера для ATI Radeon.
Posted: Mon Aug 19, 2013 4:45 pm
by hidnplayr
Serge wrote:Three devices share a same interrupt. I think in the chain of interrupt handlers video is after the network. The error occurs in the context of atikms. During the initialization and tests device generates an interrupt. In this case, the network handler probably incorrectly handles such interrupt, or destroys the stack, or overwrites the preserved registers.
Remind me, what registers should be preserved?
Re: Новые драйвера для ATI Radeon.
Posted: Mon Aug 19, 2013 5:13 pm
by Serge
hidnplayr
ebx esi edi ebp.
Btw kernel already preserve ebx edi and esi
Code: Select all
push ebx ; FIX THIS
push edi
push esi
push [ebx+IRQH.data]
call [ebx+IRQH.handler]
May be stack corrupted ?
Re: Новые драйвера для ATI Radeon.
Posted: Mon Aug 19, 2013 6:29 pm
by hidnplayr
Serge wrote: May be stack corrupted ?
Simple check is to print ESP at the beginning and end of int handler.
I'm not home, so cannot test on rtl8169 now.
Re: Новые драйвера для ATI Radeon.
Posted: Tue Aug 20, 2013 11:19 pm
by punk_joker
Еще жалоба имеется
При загрузке драйвера все работает нормально, режимы переключаются. Но если отключить какое либо usb устройство, то система зависает, индикатор на панели показывает максимальную нагрузку.
Сборка 3867, Драйвер 3.10
Spoiler:

-
log.jpg (870.97 KiB)
Viewed 5202 times
Re: Новые драйвера для ATI Radeon.
Posted: Tue Aug 20, 2013 11:50 pm
by Serge
punk_joker
Логи нужны. pcidev и доска отладки до отключения usb.
Re: Новые драйвера для ATI Radeon.
Posted: Wed Aug 21, 2013 11:23 am
by punk_joker
Serge wrote:punk_joker
Логи нужны. pcidev и доска отладки до отключения usb.
Прилагаю
Re: Новые драйвера для ATI Radeon.
Posted: Tue Oct 08, 2013 11:06 am
by hidnplayr
Serge wrote:So I should write network drivers more like those in linux, just queue an event and do all the rest later?
This would be the best solution.
Done. (r3982)