All streams
Search
Write a publication
Pull to refresh
272
0.1
Send message
Да, вы правы, на нулевом приоритете крутится поток MmZeroPageThread, который билдид список MmZeroedPageListHead.
Но никак не гигабайтами, и только во время абсолютного простоя, ибо ниже приоритета 0 нету ничего :)
Так что это слабо опровергает мои слова о том, что необходимо заострять внимание на этом аспекте.
Например, в вышеупомянутой винде код очистки крайне прост.
Дефолтный код:
.text:00430364 __fastcall KiZeroPages(x, x) proc near ; CODE XREF: MiZeroWorkerPages(x,x)+10Dp
.text:00430364 ; KiXMMIZeroPages(x,x)+B5j ...
.text:00430364 push edi
.text:00430365 xor eax, eax
.text:00430367 mov edi, ecx
.text:00430369 mov ecx, edx
.text:0043036B shr ecx, 2
.text:0043036E rep stosd
.text:00430370 pop edi
.text:00430371 retn
.text:00430371 __fastcall KiZeroPages(x, x) endp


И второй вариант с XMMI (extended memory managment):
.text:00430288 __fastcall KiXMMIZeroPagesNoSave(x, x) proc near
.text:00430288 ; CODE XREF: KiXMMIZeroPages(x,x)+84p
.text:00430288 ; DATA XREF: KiInitMachineDependent()+1F0o
.text:00430288
.text:00430288 var_4 = dword ptr -4
.text:00430288
.text:00430288 xorps xmm0, xmm0
.text:0043028B shr edx, 6
.text:0043028E
.text:0043028E loc_43028E: ; CODE XREF: KiXMMIZeroPagesNoSave(x,x)+19j
.text:0043028E movntps xmmword ptr [ecx], xmm0
.text:00430291 movntps xmmword ptr [ecx+10h], xmm0
.text:00430295 movntps xmmword ptr [ecx+20h], xmm0
.text:00430299 movntps xmmword ptr [ecx+30h], xmm0
.text:0043029D add ecx, 40h
.text:004302A0 dec edx
.text:004302A1 jnz short loc_43028E
.text:004302A3 sfence
.text:004302A6 xchg edx, [esp+var_4]
.text:004302AA retn
.text:004302AA __fastcall KiXMMIZeroPagesNoSave(x, x) endp


никогда этим не интересовался, но неужели эти 400к сэмплов нужны одновременно?
простой подсчет показывает что только под эти буферы нужно будет 200-300 метров памяти, неужели микшер столько кушает?
практически все известные мне менеджеры памяти не обнуляют страницы, а помечают их как свободные.
если в них нет цифр 8 и 9 :)
ну типа написали что экран ёмкостный, а на самом деле он резистивный.
это должно быть смешно :)
Если вы обнуляете данные гигабайтами, то вы что-то делаете не так :)
Мне очень трудно представить когда это является узким местом в программе.
вы не совсем правы :)
Carakan — это ECMScript-движок, который является лишь частью веб-движка Presto.
так что если версии Presto совпадают, то, конечно, и отдельные части движка идентичны, в том числе и JS.
ставлю, но в чужом коде вполне принимаю вариант с «чистыми» численными атрибутами.
потому что вредоносное ПО наносит вред людям? :)
угу, пару раз на заказ, довольно много в образовательных целях.
впрочем есть и опыт с другой стороны — антируткиты/антивирусы :)
просто интересная сфера.
может быть дело в том что у вас мажорная версия отличается от приведенной в статье?
Хе, тоже планирую начать свой цикл, посвященный этому делу, и скорее всего он будет довольно сильно отличаться от вашего.
Ибо у вас действительно всё как-то куцо и поверхностно, надеюсь исправитесь.
а с чего бы быть результату другим?
Opera 11.10, 4/38, какая печаль.
с локальными базами работаю через phpMyAdmin, а вот с продакшеном уже через SQLyog, поэтому такие косяки исключены, тьфу-тьфу-тьфу :)
Сменил логин Skype, ибо прошлый был совсем не рабочий, и очень странно звучал и для коллег и для клиентов :)
это понятно, но обычно модные фичи декларируются уже в альфе, к бете допиливаются, а до релиза правятся баги.
Так вот, задекларировано не так уж и много плюшек.
Маловато пока изменений для полноценного билда, имхо.
Наш ответ «процессорам надому»! :)
Atom-то, кстати, развиваете?
не обязательно лочить шину, для реализации выбранного примера достаточно инструкций xchg и mov, которые по-дефолту являются атомарными (mov насколько я помню требует выравнивания, но это не проблема, конечно).

Information

Rating
3,060-th
Location
Красноярск, Красноярский край, Россия
Registered
Activity