LINUX.ORG.RU

linux-kernel


0

0

Пытаюсь сделать специальное виртуально устройство с большим iowait чтобы поймать 12309 не на HDD. Задержку реализую через

j = 0;

for(i=0; i < 300000000; i++)

{ j++; }

При компиляции этой конструкции в обычное приложение имею задержку секунду. При использовании в модуле ядра даже с CFLAGS=-O0 задержки нет.

★★★★★

>for(i=0; i < 300000000; i++)

У тебя тупо повиснет система, я уже писал в том треде.

anon_666
()

j = 0;

for(i=0; i < 300000000; i++)

{ j+=i; }

задержка есть - проверил :)

ae1234 ★★
()

если бы так просто это проверялось, то уже бы вычислили давно. проблема несколько глубже - я кратко в параллельном треде писал: почитать про июльские патчи в ядро по CFQ, IOPS, iosched. И попробовать на себе (если проявлялось ранее) - там много от параметров HDD зависит для работы этого бага.

maxxant
()

>При использовании в модуле ядра даже с CFLAGS=-O0 задержки нет.

objdump module.ko -D выложи.

anon_666
()
Ответ на: комментарий от maxxant

> там много от параметров HDD

Вот я и проверял, может ли этот баг быть не при обращении к HDD, а к другому устройству с большим временем доступа.

В итоге я сделал задержку с помощью msleep.

перед тестом я проверил на dd if=/dev/zero of=file bs=1048576. Имелись небольшие тормоза.

Потом ставил задержку чтения 1-5-10-100 мс, непрерывное чтение по чтение 1024 байта на stdout. ни в одном случае никаких затормаживаний не наблюдалось.

После выводил в file. Тормоза не наблюдались.

После я проверил с dd из /dev/zero. Тормоза ушли.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

И все это делалось с опцией mount sync

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

>dd if=/dev/zero of=file bs=1048576. Имелись небольшие тормоза.

После выводил в file. Тормоза не наблюдались.


Это как так? Подробнее распиши, что делал.

anon_666
()
Ответ на: комментарий от anon_666

Сперва dd if=/dev/zero of=file bs=1048576

Затем чтение из созданного устройства.

Замем mount -o remount,sync /home

потом опять многократное чтение

Потом снова dd if=/dev/zero of=file bs=1048576

Т.е. в данном случае решающую роль на появление тормозов играет опция sync. проверил на ext4 и ext3.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

на ext2 не прокатывает (да - завалялось такое %))

megabaks ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.