[Hardware] DAC960 - " замирание " системы при записи

Alex Moskalenko mav на elserv.msk.su
Чт Авг 4 14:32:46 MSD 2005


В сообщении от 4 Август 2005 10:05 Alex Moskalenko написал(a):
> Здравствуйте!
>
> Столкнулся со следующей проблемой. При записи больших объемов данных
> система полностью замирает на 10-60 секунд. Не работают top, ps,
> отваливаются соединения samba. При этом успел заметить, что происходит это
> при активизации процесса bdflush. Ситуацию удается более-менее сгладить
> командой update -1 96 -5 120, т.е. уменьшая количество одновременно
> сбрасываемых блоков на диски и уменьшая время возможного присутствия этих
> блоков в кэше. Полностью проблему это не решает, так как похоже на время
> операций ввода-вывода с контроллером система блокируется, что очень сильно
> отражается на обмене с сетью.
>
> Кто-нибудь сталкивался с подобной проблемой? Куда можно копать?
>
> Железо:
> #lspci -v
> 00:00.0 Host bridge: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge
> (rev 03)
>         Subsystem: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge
>         Flags: bus master, fast devsel, latency 0
>         Memory at d8000000 (32-bit, prefetchable) [size=64M]
>         Capabilities: [e4] #09 [0104]
>         Capabilities: [a0] AGP version 2.0
>
> 00:01.0 PCI bridge: Intel Corp. 82845 845 (Brookdale) Chipset AGP Bridge
> (rev 03) (prog-if 00 [Normal decode])
>         Flags: bus master, 66Mhz, fast devsel, latency 64
>         Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
>         Memory behind bridge: e0000000-e1ffffff
>         Prefetchable memory behind bridge: d0000000-d7ffffff
>
> 00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB/ER Hub interface to PCI
> Bridge (rev 12) (prog-if 00 [Normal decode])
>         Flags: bus master, fast devsel, latency 0
>         Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
>         I/O behind bridge: 0000c000-0000cfff
>         Memory behind bridge: de000000-dfffffff
>         Prefetchable memory behind bridge: dc000000-ddffffff
>
> 00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 12)
>         Flags: bus master, medium devsel, latency 0
>
> 00:1f.1 IDE interface: Intel Corp. 82801BA IDE U100 (rev 12) (prog-if 80
> [Master])
>         Subsystem: Intel Corp.: Unknown device 2442
>         Flags: bus master, medium devsel, latency 0
>         I/O ports at f000 [size=16]
>
> 00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 12)
> (prog-if 00 [UHCI])
>         Subsystem: Intel Corp. 82801BA/BAM USB (Hub #1)
>         Flags: bus master, medium devsel, latency 0, IRQ 19
>         I/O ports at d000 [size=32]
>
> 00:1f.3 SMBus: Intel Corp. 82801BA/BAM SMBus (rev 12)
>         Subsystem: Intel Corp.: Unknown device 2442
>         Flags: medium devsel, IRQ 17
>         I/O ports at 5000 [size=16]
>
> 00:1f.4 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #2) (rev 12)
> (prog-if 00 [UHCI])
>         Subsystem: Intel Corp.: Unknown device 2442
>         Flags: bus master, medium devsel, latency 0, IRQ 23
>         I/O ports at d800 [size=32]
>
> 00:1f.5 Multimedia audio controller: Intel Corp. 82801BA/BAM AC'97 Audio
> (rev 12)
>         Subsystem: Unknown device 414c:4710
>         Flags: bus master, medium devsel, latency 0, IRQ 17
>         I/O ports at dc00 [size=256]
>         I/O ports at e000 [size=64]
>
> 01:00.0 VGA compatible controller: S3 Inc. Savage 4 (rev 04) (prog-if 00
> [VGA])
>         Subsystem: S3 Inc. 86C394-397 Savage4
>         Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 16
>         Memory at e1000000 (32-bit, non-prefetchable) [size=512K]
>         Memory at d0000000 (32-bit, prefetchable) [size=128M]
>         Expansion ROM at <unassigned> [disabled] [size=64K]
>         Capabilities: [dc] Power Management version 1
>         Capabilities: [80] AGP version 2.0
>
> 02:01.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
> (rev 11)
>         Subsystem: D-Link System Inc Gigabit Ethernet Adapter
>         Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 21
>         Memory at df000000 (32-bit, non-prefetchable) [size=16K]
>         I/O ports at c000 [size=256]
>         Expansion ROM at <unassigned> [disabled] [size=128K]
>         Capabilities: [48] Power Management version 2
>         Capabilities: [50] Vital Product Data
>
> 02:04.0 RAID bus controller: Mylex Corporation AcceleRAID 352/170/160
> support Device (rev 02)
>         Subsystem: Mylex Corporation: Unknown device 0052
>         Flags: bus master, medium devsel, latency 32, IRQ 18
>         Memory at dc000000 (32-bit, prefetchable) [size=32M]
>         Expansion ROM at <unassigned> [disabled] [size=32K]
>         Capabilities: [80] Power Management version 2
> #cat /proc/interrupts
>            CPU0
>   0:    7100593    IO-APIC-edge  timer
>   1:       2465    IO-APIC-edge  keyboard
>   8:          2    IO-APIC-edge  rtc
>   9:          0   IO-APIC-level  acpi
>  12:         37    IO-APIC-edge  PS/2 Mouse
>  14:         57    IO-APIC-edge  ide0
>  18:     199537   IO-APIC-level  Mylex AcceleRAID 170
>  19:          0   IO-APIC-level  usb-uhci
>  21:   28155158   IO-APIC-level  SysKonnect SK-98xx
>  23:          0   IO-APIC-level  usb-uhci
> NMI:          0
> LOC:    7100618
> ERR:          0
> MIS:          0
> #cat /proc/cpuinfo
> processor       : 0
> vendor_id       : GenuineIntel
> cpu family      : 15
> model           : 0
> model name      : Intel(R) Pentium(R) 4 CPU 1300MHz
> stepping        : 7
> cpu MHz         : 1300.056
> cache size      : 256 KB
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 2
> wp              : yes
> flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
> cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
> bogomips        : 2595.22
> #cat /proc/rd/c0/current_status
> ***** DAC960 RAID Driver Version 2.4.11 of 11 October 2001 *****
> Copyright 1998-2001 by Leonard N. Zubkoff <lnz на dandelion.com>
> Configuring Mylex AcceleRAID 170 PCI RAID Controller
>   Firmware Version: 7.02-00, Channels: 1, Memory Size: 32MB
>   PCI Bus: 2, Device: 4, Function: 0, I/O Address: Unassigned
>   PCI Address: 0xDC000000 mapped at 0xF8A0C000, IRQ Channel: 18
>   Controller Queue Depth: 512, Maximum Blocks per Command: 2048
>   Driver Queue Depth: 511, Scatter/Gather Limit: 128 of 257 Segments
>   Physical Devices:
>     0:0  Vendor: QUANTUM   Model: ATLAS_V_36_WLS    Revision: 0230
>          Wide Synchronous at 160 MB/sec
>          Serial Number: 143109651315
>          Disk Status: Online, 71688192 blocks
>     0:1  Vendor: QUANTUM   Model: ATLAS_V_36_WLS    Revision: 0230
>          Wide Synchronous at 160 MB/sec
>          Serial Number: 143110652586
>          Disk Status: Online, 71688192 blocks
>     0:2  Vendor: QUANTUM   Model: ATLAS_V_36_WLS    Revision: 0230
>          Wide Synchronous at 160 MB/sec
>          Serial Number: 143110652703
>          Disk Status: Online, 71688192 blocks
>     0:7  Vendor: MYLEX     Model: AcceleRAID 170    Revision: 0702
>          Wide Synchronous at 160 MB/sec
>          Serial Number:
>   Logical Drives:
>     /dev/rd/c0d0: RAID-5, Online, 143376384 blocks
>                   Logical Device Initialized, BIOS Geometry: 255/63
>                   Stripe Size: 64KB, Segment Size: 64KB
>                   Read Cache Disabled, Write Cache Disabled
>   No Rebuild or Consistency Check in Progress
>
>
> Софт
> #mount
> /dev/rd/c0d0p1 on / type ext3 (rw)
> proc on /proc type proc (rw,gid=19)
> devpts on /dev/pts type devpts (rw,gid=5,mode=0620)
> /dev/rd/c0d0p3 on /mnt/shared type xfs (rw)
> /dev/hdb on /mnt/cdrom type subfs (ro,noexec,nosuid,nodev,fs=cdfss,kudzu)
> /dev/fd0 on /mnt/floppy type subfs
> (rw,noexec,nosuid,nodev,sync,fs=floppyfss,kudzu)
> usbfs on /proc/bus/usb type usbfs (rw)
> #uname -a
> Linux bdc.main.elserv.ru 2.4.26-std-up-alt12 #1 Thu May 12 14:53:58 MSD
> 2005 i686 unknown unknown GNU/Linux
> #cat /etc/altlinux-release
> ALT Linux Master 2.4 (Citron)
>
> Запись и чтение тестируются на разделе /dev/rd/c0d0p3 Включение на
> контроллере политики кэша Write Back (Становится Write Cache Enabled)
> проблемы не решает.

Дополнение.

На той же машине подключил обычный ide диск. Отформатировал его в xfs. 
Проделал те же самые операции. Никаких "замираний" не обнаружено. В выводе 
dstat видно, что при использовании ide диска запись на него идет более-менее 
равномерно (каждые 5-10 секунд 3-5 секундная серия записей около 35-40 
мегабайт в секунду, не отражающаяся на системе), а на mylex запись идет реже, 
но единовременно по 200-300 мегабайт. После того, как dstat покажет эту 
запись, система входит в ступор на 3-10 секунд. Загрузка процессора 0, на 
диски на контроллере идет активная запись. Несколько таких записей может идти 
непосредственно друг за другом - тогда система выходит из ступора только, 
когда закончится вся серия. Никаких ошибок в логах нет. Д и вообще в эти 
моменты в логах ничего нет, за исключением ошибок samba, которая не дождалась 
ответа в течение 10 секунд...

Пробовал отключать apic, acpi в различных комбинациях. Ситуация не меняется. 
Более-менее приемлемая работа становится возможна только при настройке 
bdflush, как было написано выше (при этом данные начинают сбрасываться чаще, 
но меньшими порциями, соответственно, таких огромных задержек нет - максимум 
1-3 секунды. При этом сильно падает скорость обмена данными с локальной 
сетью...). ide-диск не вызывает проблем при любых настройках - нет ни 
"замираний", ни задержек, ни проблем со скоростью обмена по сети...

Не верю, что я первый, кто на это наткнулся... Неужели ни у кого ничего 
подобного никогда не было?

PS Интересно, может просто письма в рассылку не попали - поэтому и тишина...

-- 
WBR, Alex Moskalenko


Подробная информация о списке рассылки Hardware