kernel 2.6.22-r1, iowait, тормоза процессов

Собрал это ядро, наконец заработал AHCI и NCQ для всех винтов.
Копирование делается со скоростью будь здоров (40-45 mb/sec)
Но при этом когда IOwait под потолок (например при хешировании файлов в фоне LinuxDC++), начинаются тормоза, тормозит отображение, тормозит ввод с клавы, движения курсора мыши.

Конфа ядра - ориентирована на десктоп:
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_BKL=y
# IO Schedulers
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_X86_IO_APIC=y
CONFIG_DEFAULT_CFQ=y
CONFIG_SHMEM=y
# CONFIG_TINY_SHMEM is not set
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_INPUT_FF_MEMLESS=m
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_HAS_IOMEM=y

Доп инфа:

$ dmesg | grep AHCI
ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0x33 impl SATA mode
ahci 0000:03:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode

$ dmesg | grep NCQ
ata1.00: 586112591 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata2.00: 586114704 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata5.00: 586112591 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata6.00: 312579695 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata7.00: 586112591 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata8.00: 390719855 sectors, multi 16: LBA48 NCQ (depth 31/32)

$ dmesg | grep NEC
ata9.00: ATAPI: _NEC DVD_RW ND-4571A, 1-01, max UDMA/33
scsi 8:0:0:0: CD-ROM            _NEC     DVD_RW ND-4571A  1-01 PQ: 0 ANSI: 5

$ dmesg | grep ATA
ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0x33 impl SATA mode
ata1: SATA max UDMA/133 cmd 0xf8806100 ctl 0x00000000 bmdma 0x00000000 irq 219
ata2: SATA max UDMA/133 cmd 0xf8806180 ctl 0x00000000 bmdma 0x00000000 irq 219
ata5: SATA max UDMA/133 cmd 0xf8806300 ctl 0x00000000 bmdma 0x00000000 irq 219
ata6: SATA max UDMA/133 cmd 0xf8806380 ctl 0x00000000 bmdma 0x00000000 irq 219
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ATA-7: Maxtor 7V300F0, VA111630, max UDMA/133
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.00: ATA-7: Maxtor 7V300F0, VA111630, max UDMA/133
ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata5.00: ATA-7: Maxtor 7V300F0, VA111630, max UDMA/133
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata6.00: ATA-6: ST3160023AS, 3.00, max UDMA/133
scsi 0:0:0:0: Direct-Access     ATA      Maxtor 7V300F0   VA11 PQ: 0 ANSI: 5
scsi 1:0:0:0: Direct-Access     ATA      Maxtor 7V300F0   VA11 PQ: 0 ANSI: 5
scsi 4:0:0:0: Direct-Access     ATA      Maxtor 7V300F0   VA11 PQ: 0 ANSI: 5
scsi 5:0:0:0: Direct-Access     ATA      ST3160023AS      3.00 PQ: 0 ANSI: 5
ahci 0000:03:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ata7: SATA max UDMA/133 cmd 0xf881c100 ctl 0x00000000 bmdma 0x00000000 irq 17
ata8: SATA max UDMA/133 cmd 0xf881c180 ctl 0x00000000 bmdma 0x00000000 irq 17
ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata7.00: ATA-7: Maxtor 7V300F0, VA111900, max UDMA/133
ata8: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata8.00: ATA-7: ST3200826AS, 3.03, max UDMA/133
scsi 6:0:0:0: Direct-Access     ATA      Maxtor 7V300F0   VA11 PQ: 0 ANSI: 5
scsi 7:0:0:0: Direct-Access     ATA      ST3200826AS      3.03 PQ: 0 ANSI: 5
ata9: PATA max UDMA/100 cmd 0x00018000 ctl 0x00018402 bmdma 0x00019000 irq 16
ata10: PATA max UDMA/100 cmd 0x00018800 ctl 0x00018c02 bmdma 0x00019008 irq 16
ata9.00: ATAPI: _NEC DVD_RW ND-4571A, 1-01, max UDMA/33
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

$ dmesg | grep irq
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
CPU 0 irqstacks, hard=c04f8000 soft=c04f0000
CPU 1 irqstacks, hard=c04f9000 soft=c04f1000
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ata1: SATA max UDMA/133 cmd 0xf8806100 ctl 0x00000000 bmdma 0x00000000 irq 219
ata2: SATA max UDMA/133 cmd 0xf8806180 ctl 0x00000000 bmdma 0x00000000 irq 219
ata5: SATA max UDMA/133 cmd 0xf8806300 ctl 0x00000000 bmdma 0x00000000 irq 219
ata6: SATA max UDMA/133 cmd 0xf8806380 ctl 0x00000000 bmdma 0x00000000 irq 219
ata7: SATA max UDMA/133 cmd 0xf881c100 ctl 0x00000000 bmdma 0x00000000 irq 17
ata8: SATA max UDMA/133 cmd 0xf881c180 ctl 0x00000000 bmdma 0x00000000 irq 17
ata9: PATA max UDMA/100 cmd 0x00018000 ctl 0x00018402 bmdma 0x00019000 irq 16
ata10: PATA max UDMA/100 cmd 0x00018800 ctl 0x00018c02 bmdma 0x00019008 irq 16
PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
PNP: PS/2 controller doesn't have AUX irq; using default 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Starting balanced_irq
ehci_hcd 0000:00:1a.7: irq 18, io mem 0xf9205000
ehci_hcd 0000:00:1d.7: irq 19, io mem 0xf9204000
uhci_hcd 0000:00:1a.0: irq 16, io base 0x0000d000
uhci_hcd 0000:00:1a.1: irq 20, io base 0x0000c000
uhci_hcd 0000:00:1d.0: irq 19, io base 0x0000c400
uhci_hcd 0000:00:1d.1: irq 17, io base 0x0000c800
uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000cc00
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
sky2 0000:04:00.0: v1.14 addr 0xf8000000 irq 16 Yukon-EC Ultra (0xb4) rev 2


$ sudo lspci
00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02)
00:01.0 PCI bridge: Intel Corporation 82P965/G965 PCI Express Root Port (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801HB (ICH8) 4 port SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7600 GS] (rev a1)
03:00.0 SATA controller: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 02)
03:00.1 IDE interface: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 02)
04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 13)
05:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Я так понимаю дело в новом "честном" планировщике процессов...
Кто что посоветует? Может этому планирувщику можно передать определённые параметы дабы улучшить отзывчивость системы?

--
Gentoo (1.12.10, ~x86, kernel 2.6.22-gentoo-r1 SMP)
GA-P965-S3/C2D-E6300 2.80 GHz/1Gb/SATA-2x200+4x300+1x160/GF7600GS-256/NEC-4571

В 22 ядре

В 22 ядре планировшик старый... =)
Так что CFS тут не причем... Хотя он и не работает практически на некоторых архитектурах типа arm и mips
___________________________________________
Gentoo GNU/Linux 2.6.22 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)

Тогда вообще

Тогда вообще мрак...

Да это чето в

Да это чето в ядре поломали. У меня CFS и теже проблемы, только можеть не так жестко как описано выше. Еще заметил что SLUB Allocator как то уж очень "эффективно" распределяет память. если запустить компиляцию проги на C++ общим весом исходников метров 10-20 c makeopts=-j8 то память отжирает будь здоров, даже своп иногда съедает(1Гб RAM+512мб swap) и cc1 потихоньку начинают отваливаться... Причем со SLAB allocator такого не наблюдается.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".