LINUX.ORG.RU

Ответ на: комментарий от qnikst

Хм...

fox@darkstar:~/Temp$ gcc -O3 fsync-tester.c 
fox@darkstar:~/Temp$ gcc --version | head -n 1
gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu4)

Cancellor ★★★★☆
()
Ответ на: комментарий от geek

Хм... У меня они нормально удалились, от обычного юзера

Cancellor ★★★★☆
()
Ответ на: комментарий от qnikst

>могу ещё пару раз запустить параллельно с какими-нить io, напр с фтп кучу файлов покачать :)

интереснее всё-таки на незагруженной системе

это нормально?


у меня без ворнингов собиралось. Хз

geek ★★★
()
Ответ на: комментарий от qnikst

всё разобрался надо было написать

fd = open(«fsync-tester.tst-file», O_WRONLY|O_CREAT,S_IRWXU|S_IRWXG);

qnikst ★★★★★
()
Ответ на: комментарий от geek

ещё раз с O3 потестировал всё тоже самое 0.6 - 2.5. Подвисания если и были то много меньше секунды, что не напрягало.

qnikst ★★★★★
()
Ответ на: комментарий от geek

Таки почему оно может сегфолтится?

gcc (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4 (точно рабочий, вся система собрана им)

Пробовал разные -O и -march=

GDB говорит:

Program received signal SIGSEGV, Segmentation fault.
0x08048a53 in main ()
xetf ★★
()
Ответ на: комментарий от anotheranonymous

>Во время работы несколько раз замирал FF, где то секунды на 2-3, остальное вроде все нормально ворочалось

собственно, «тормознутость» FF - это одно из проявлений проблемы fsync на больших файлах. Потому что sqlite. У гажима, подозреваю, причина подвисаний - тоже использование sqlite

geek ★★★
()
Ответ на: комментарий от anotheranonymous

Мерз секунд на 12. Неужели при внутренней-то скорости в 50 M io/s не имеет права?

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

>Таки почему оно может сегфолтится?

фиг знает. Может скопипастил криво?

просто gcc 'fsync-tester.c -o fsync-tester' пробовал?

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

>Может скопипастил криво?

Это проверил в первую очередь. И собирается ровно (пробовал с -v), без ворнингов.

просто gcc 'fsync-tester.c -o fsync-tester' пробовал?


Да.

xetf ★★
()
Ответ на: комментарий от geek
fox@darkstar:~/Projects$ sudo swapoff /dev/sda8
fox@darkstar:~/Projects$ ./fsync-tester 
setting up random write file
done setting up random write file
starting random io!
starting fsync run
fsync time: 0.9978s
fsync time: 0.8116s
fsync time: 0.9096s
fsync time: 0.8722s
fsync time: 0.8205s
fsync time: 0.6933s
fsync time: 0.6831s
fsync time: 0.7649s
fsync time: 0.6552s
run done 9 fsyncs total, killing random writer
Cancellor ★★★★☆
()
Ответ на: комментарий от geek

Я грешу на файлухи. Проси постить не только дистр, но и io-шедулер, файлухи(у меня он влиял). Я уменьшал влияние бага путём кручения vm.dirty_ratio

true_admin ★★★★★
()
Ответ на: комментарий от geek

Кстати после окончания FF повис и скрипел дисками с небольшой скоростью 1 M io/s пока я не потёр созданные программой fsync*-и.

Получается что дело во фрагментированности исходного диска?

mclaudt
()

http://rn0.ru/raw/893/
Тупило всё, что хоть как-то связано с дисковой активностью, всё остальное просто подтормаживало.

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

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

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

>А патч или что-то там, исправляющий, уже есть? :)

Пока проблема носит характер подземного стука, причина не известна, не говоря уже об исправлении. Его даже воспроизводить толком не получается - либо есть, либо нет.

xetf ★★
()
Ответ на: комментарий от true_admin

>Я грешу на файлухи.

я тоже грешил. Пока не воткнул в бук чистый винт, куда поставил кармик. До этого дефрагментировал ext3, в итоге сейчас ext4, баг никуда не делся. Шедулеры пробовал разные - нет изменений.

кстати, тем, у кого ext4 и баг - немного поможет опция монтирования nobarrier.

Я уменьшал влияние бага путём кручения vm.dirty_ratio


в какую сторону крутил?

ну и хотелось бы не уменьшить влияние, а вообще избавиться от бага.

geek ★★★
()
Ответ на: комментарий от true_admin
fox@darkstar:~/Projects$ cat /boot/config-$(uname -r) | grep IOSCHED
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_CFQ=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_NOOP=y
CONFIG_DEFAULT_IOSCHED="cfq"
fox@darkstar:~/Projects$ cat /etc/fstab | grep home
/dev/sda9        /home           reiserfs     relatime                   0       2
fox@darkstar:~/Projects$ mc

fox@darkstar:~/Projects$ cat /proc/sys/vm/dirty_ratio 
10
fox@darkstar:~/Projects$ lsb_release -d
Description:	Ubuntu 8.04.3 LTS
fox@darkstar:~/Projects$ uname -a
Linux darkstar 2.6.24-26-generic #1 SMP Tue Dec 1 18:37:31 UTC 2009 i686 GNU/Linux
Cancellor ★★★★☆
()
Ответ на: комментарий от mclaudt

>Получается что дело во фрагментированности исходного диска?

к сожалению нет. Иначе проблема бы решалась переустановкой системы с нуля.

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

>ну и хотелось бы не уменьшить влияние, а вообще избавиться от бага.

ps: ну или придти к заключению, что это не баг, а фича. by design, так сказать.

geek ★★★
()
Ответ на: комментарий от xorik

+ у меня еще при создании файла скролинг фризится в фф
++ слава богу кто то взялся за ум, об этом баге половина лора плачет

xorik ★★★★★
()

Уменьшил размер файлика в 8 раз (ну нету места у меня, нету) и получил вот такой прикольный результат.

setting up random write file
done setting up random write file
starting random io!
starting fsync run
fsync time: 9.9228s
fsync time: 30.8786s
fsync time: 1.0695s
fsync time: 1.6866s
fsync time: 1.2149s
run done 5 fsyncs total, killing random writer

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

Запускал несколько раз на винте, который никем не юзается - никаких фризов. Запускал в $HOME - тормозят только те, кто лезет на ФС. Ведро 2.6.32 amd64.

const86 ★★★★★
()
Ответ на: комментарий от geek

http://pastebin.ca/1726948
вот на таких древностях мы сидим. Тормозов особых не заметил, учитывая что у меня процессорный вентилятор подвывает от колесика мыши, я к ним привык.

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

Поигрался в игрушку. Сделал второй запуск (права файлам не выставлены, пришлось ручками назначить):

starting fsync run
starting random io!
fsync time: 0.1436s
fsync time: 1.7171s
fsync time: 0.7371s
fsync time: 1.2810s
fsync time: 1.0058s
fsync time: 0.4588s
fsync time: 2.0133s
fsync time: 0.9279s
fsync time: 1.4578s
fsync time: 0.9346s
fsync time: 1.5051s
fsync time: 1.2508s
fsync time: 1.1299s
run done 13 fsyncs total, killing random writer

В этот раз тормоза были больше. Если это имеет значение, это все на софт-рейде 5.

AMD Phenom(tm) II X4 925 Processor (2.8 ггц)

azure ★★
()
fsync time: 0.2046s
fsync time: 0.0180s
fsync time: 0.0904s
fsync time: 0.1740s
fsync time: 0.0269s
fsync time: 0.3518s
fsync time: 0.1208s
fsync time: 0.0832s
fsync time: 0.0379s

Музыка как играла, так и играет. Гуй тоже не тормозит

Debian GNU/Linux squeeze/sid

 uptime && uname -r && lspci 
 23:42:39 up  4:53,  4 users,  load average: 0.17, 0.31, 0.90
2.6.31.2-mybuild
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03)
00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
02:00.0 Network controller: Intel Corporation Wireless WiFi Link 5100
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
zpp
()
Ответ на: комментарий от annoynimous

Сомнительно.
Когда впервые зарелизилось ядро с CFQ - все радовались, эта бага исчезла.
Потом постепенно вернулась.
Очень зависит от железа, я на своём нетбуке практически не замечаю сейчас.
Раньше был hp nx7300 - там было заметнее в разы, но с тех пор и ядра поменялись сильно.

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

Ну смотри: бага в том, что ядро проводит недопустимо много времени в каком-то привилегированном участке, причем невытесняемом. Что такого в системе происходит, когда есть интенсивный I/O? Появляется много аппаратных прерываний от DMA-контоллера, которыми он уведомляет систему о необходимости считать данные из буфера. Где-то тут и тормозит. Я грешу на проблемы с обработчиками прерываний, а acpi тут может играть не последнюю роль ввиду того, что ей отдали распределение номеров прерываний и диапазонов ввода-вывода.

annoynimous ★★★★★
()
Ответ на: >линакс от cetjs2

Ух ты, логопед разморозился :)

FiXer ★★☆☆☆
() автор топика
Ответ на: комментарий от annoynimous

>а прерывания у тебя между устройствами кто разруливает?

хз, я в этих низкоуровневых вещах не слишком силён. Имел в виду что grep -i acpi /usr/src/linux/.config ничего не показывает (все соответствующие опции в ядре отключены).

P'nP OS


Нет вроде такого. Есть что-то типа «special PnP for PCI», установлена в «disabled». Материнка на nForce3.

xetf ★★
()

acpi_os_name=«Microsoft Windows» ничего не изменило, и у меня аптайм похоже не влияет: сразу после загрузки системы 5-секундные фризы при включенном тесте и fsync time 1-7 секунд

xorik ★★★★★
()

предварительные мысли:

баг есть у всех. Но проявляется он по разному, и зависит от того, как сконфигурирована система - какая fs, её фрагментация, кешируется ли запись журнала и есть ли он вообще, опции noatime, nomtime, кол-во ядер цпу (при отключении второго ядра, например - тормоза становятся сильно меньше), размер оперативки и активность свопа, размер буферов, частота сброса на диск, кол-во одновременно читающих/пишущих процессов, включено ли ncq (выставление размера очереди в 1 тоже улучшает ситуацию)

это всё - влияет, что-то больше, что-то меньше. Но у всего этого есть одно общее - настройки, увеличивающие общее кол-во запросов к диску на запись - выпячивают багу.

подозреваю, что косяк где-то в управлении очередью i/o. Может, дисковая подсистема стала очень умной, и ждет - не прилетит ли ещё запрос, который можно выполнить одновременно с уже имеющимися,а может - запросы на запись вставляются в начало очереди, как самые важные, в результате чего запрос на чтение файла вызывает запись atime + до кучи сброс залежалого товара в своп + ещё что-нибудь. В итоге ядро проводит 90% времени в iowait

тут надо кого-то, кто разбирается, как проходят вызовы внутри ядра.

зы: у самого чипсеты 945 и 965 - на обоих бага есть, масштабы отличаются незначительно.

кому невмоготу, пробуйте и наблюдайте за изменениями:

для всех fs - noatime
для ext4 - noatime, nobarrier
echo 1 > /sys/class/block/<диск>/queue/nr_requests
echo 99 > /proc/sys/vm/dirty_ratio

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

> подозреваю, что косяк где-то в управлении очередью i/o

Косяки с очередью наблюдались бы без привязки к чипсетам.

Кроме того, вот эта информация

945 и 965

никакого смысла не несет, потому что за дисковое I/O отвечает южный мост, к которому могут еще дискретные контроллеры отвечать. Так что мое предложение — у тех, кого баг проявляется явно и безоговорочно должны выяснить, к порту какого контроллера у них подсоединен их диск, название, и модель желательно. Вот это будет адекватный сбор информации.

Пока под подозрениями южные мосты от Nvidia, но это нужно проверять.

Про себя: Дисковая система на

SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH)

IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03)

ведет себя нормально.

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

> к которому могут еще дискретные контроллеры отвечать.

к которому могут еще дискретные контроллеры быть присоединены

annoynimous ★★★★★
()
Ответ на: комментарий от geek

Да, кстати, всю логику планировщика можно отключить, выбрав планировщик noop. Он, как я понимаю, вообще никакого переупорядочивания запросов не делает. Пробуйте его тогда!

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

да пробовал. Отключение планировщика в общем-то никак не влияет на само существование очереди запросов. Даже если запросы не группировать и не объединять.

все опробованные планировщики i/o - noop, anticipatory, cfq, deadline, bfq - никак не влияют на баг

geek ★★★
()
Ответ на: комментарий от annoynimous

>Косяки с очередью наблюдались бы без привязки к чипсетам.

так они и не привязаны.

Пока под подозрениями южные мосты от Nvidia, но это нужно проверять.


думаю, ни при чём тут nvidia.

965 -
00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03)

на 945 соответсвенно интеловский же мост не помню точную маркировку (ICH7 чототам) - бук выключен сейчас

у меня вообще из компов с компонентами от nvidia - бук со сломанной рамкой монитора в разобранном состоянии в шкафу

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

> так они и не привязаны.

Неправда! У кучи народа никаких проблем нет. По крайней мере, в этом аспекте.

Кстати, вот еще вспомнил: аццкие тормоза случались при перегреве жесткого, когда он насильно парковал головки при высокой температуре.

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