# IDE в 2.6 ядрах медленнее чем в ядрах 2.4

## NTM

Не знаю уж что и делать , поставил 2.6.10 , один хрен скорость ide  в два раза ниже чем с ядром 2.4.X .

Конфигурация ядер одинаковая .

Комп :

TUSL2-C

C1300

64Mb SDRAM

MAXTOR 20GB

SEAGATE 80GB

SEAGATE 80GB

SEAGATE 160GB

Пробывал подключать винты на внешние IDE контроллеры - Promise Ultra100TX2 и HighPoint376 , тоже самое , hdparm -t /dev/hde показывает в 2-3 раза меньше

----------

## ba

запости чтоли hdparm /dev/hdX и hdparm -I /dev/hdX на обоих ядрах (хотя бы на 2.6)

[edit]

и еще, попробуй не hdparm-ом, а time dd if=/dev/hdX of=/dev/null bs=1M count=1000 померить в обоих случаях

----------

## YD

Сдаётся мне просто в ядре только generic драйвера. и наверно DMA обрублено.

----------

## NTM

 *YD wrote:*   

> Сдаётся мне просто в ядре только generic драйвера. и наверно DMA обрублено.

 

Да нет ...

При загрузке врубается hdparm -d1 -u1 -c3 -a8 -m16 -X69 -k1 -K1 -W1 -S254 и.т.д ... на все диски ,

вывод hdparm /dev/hdX , hdparm -i /dev/hdX и hdparm -I /dev/hdX показывает что всё там впорядке и в 2.4 и в 2.6 .

Короче всё как надо , и там и там .

Ядра запускаю на одной и тойже системе .

Драйвера включены какие надо . Для контороллеров на которых тестил тоже .

----------

## NTM

 *ba wrote:*   

> запости чтоли hdparm /dev/hdX и hdparm -I /dev/hdX на обоих ядрах (хотя бы на 2.6)
> 
> [edit]
> 
> и еще, попробуй не hdparm-ом, а time dd if=/dev/hdX of=/dev/null bs=1M count=1000 померить в обоих случаях

 

Щас попробую ...

----------

## ba

 *NTM wrote:*   

> При загрузке врубается hdparm -d1 -u1 -c3 -a8 -m16 -X69 -k1 -K1 -W1 -S254 и.т.д ... на все диски

 

в этом и проблема, -a256 сделай

----------

## YD

Ещё стоит тебе самому просмотреть dmesg, возможно драйвер на что-то ругается типа: "no supported devices found - disabling"

----------

## NTM

 *ba wrote:*   

>  *NTM wrote:*   При загрузке врубается hdparm -d1 -u1 -c3 -a8 -m16 -X69 -k1 -K1 -W1 -S254 и.т.д ... на все диски 
> 
> в этом и проблема, -a256 сделай

 

Извините , но -a помоему вообще ненужно , а темболее 256 . Это упреждающее чтение , которое делает сама система , хотя итак еть -m 16 , чем занимается винт самостоятельно .

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

-a 256 даст по моему мнению , огромную , ненужную , бесполезную , нагрузку на диск .

Темболее этот параметр никак невлияет на RAW чтение которое делает комманда hdparm -t .

Завтра попробую "dd"  . Ато может это hdparm врёт ...Last edited by NTM on Tue Jul 19, 2005 11:56 pm; edited 1 time in total

----------

## NTM

 *YD wrote:*   

> Ещё стоит тебе самому просмотреть dmesg, возможно драйвер на что-то ругается типа: "no supported devices found - disabling"

 

И тут всё ОК ...

Я вообще название этого поста срисовал с английского один в один "IDE under 2.6 kernels slower than under 2.4 kernels", тот пост без ответа остался .

Я также слышал о проблеммах быстродействия IDE в 2.6 , только вот здесь ничего конкретного ненашёл .

На домашней машине 'Nforce2' таких проблем нет . Да и вообще с 2.6 нигде этих проблем не встречал , на разных конфигурациях . Может это проблемма с чипсетом i815 или с материнкой TUSL2-C .

Завтра выложу выводы hdparm и dmesg (частично) .

Могу выложить конфиги ядер .

----------

## ba

 *NTM wrote:*   

>  *ba wrote:*    *NTM wrote:*   При загрузке врубается hdparm -d1 -u1 -c3 -a8 -m16 -X69 -k1 -K1 -W1 -S254 и.т.д ... на все диски 
> 
> в этом и проблема, -a256 сделай 
> 
> Извините , но -a помоему вообще ненужно , а темболее 256 . Это упреждающее чтение , которое делает сама система , хотя итак еть -m 16 , чем занимается винт самостоятельно .

 

однако ядро 2.4 не позволяет задать его таким большим как 256 и имеет дефолт 8, а в 2.6 ядре по дефолту 256 и имхо не просто так: либо изменились попугаи в которых оно измеряется, либо сами методы работы с диском. а вообще на практике я получал разницу в два раза измереняя производительность hdparm-ом при -a256 и -a8.

 *NTM wrote:*   

> Темболее этот параметр никак невлияет на RAW чтение которое делает комманда hdparm -t .

 

гы, как раз на последовательное RAW чтение он и влияет...

 *NTM wrote:*   

> Может это проблемма с чипсетом i815 или с материнкой TUSL2-C .

 

да кстати, у меня была машинка на cusl2 и вроде показания hdparm-а на ней тоже были странные, хотя диски работали одинаково быстро как под 2.4 так и под 2.6 (с дефолтными параметрами, т.е. без запуска hdparm-а)...

----------

## NTM

hdparm /dev/hde :

 multcount    = 16 (on)

 IO_support   =  1 (32-bit)

 unmaskirq    =  1 (on)

 using_dma    =  1 (on)

 keepsettings =  1 (on)

 readonly     =  0 (off)

 readahead    = 248 (on)

 geometry     = 16383/255/63, sectors = 80026361856, start = 0

hdparm -I /dev/hde :

ATA device, with non-removable media

        Model Number:       ST380011A

        Serial Number:      5JV603E8

        Firmware Revision:  3.06

Standards:

        Used: ATA/ATAPI-6 T13 1410D revision 2

        Supported: 6 5 4 3

Configuration:

        Logical         max     current

        cylinders       16383   65535

        heads           16      1

        sectors/track   63      63

        --

        CHS current addressable sectors:    4128705

        LBA    user addressable sectors:  156301488

        LBA48  user addressable sectors:  156301488

        device size with M = 1024*1024:       76319 MBytes

        device size with M = 1000*1000:       80026 MBytes (80 GB)

Capabilities:

        LBA, IORDY(can be disabled)

        bytes avail on r/w long: 4      Queue depth: 1

        Standby timer values: spec'd by Standard

        R/W multiple sector transfer: Max = 16  Current = 16

        Recommended acoustic management value: 128, current value: 0

        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5

             Cycle time: min=120ns recommended=120ns

        PIO: pio0 pio1 pio2 pio3 pio4

             Cycle time: no flow control=240ns  IORDY flow control=120ns

Commands/features:

        Enabled Supported:

           *    READ BUFFER cmd

           *    WRITE BUFFER cmd

           *    Host Protected Area feature set

           *    Look-ahead

           *    Write cache

           *    Power Management feature set

                Security Mode feature set

           *    SMART feature set

           *    FLUSH CACHE EXT command

           *    Mandatory FLUSH CACHE command

           *    Device Configuration Overlay feature set

           *    48-bit Address feature set

                SET MAX security extension

           *    DOWNLOAD MICROCODE cmd

           *    SMART self-test

           *    SMART error logging

Security:

                supported

        not     enabled

        not     locked

        not     frozen

        not     expired: security count

        not     supported: enhanced erase

HW reset results:

        CBLID- above Vih

        Device num = 0 determined by the jumper

Checksum: correct

time dd if=/dev/hde of=/dev/null bs=1M count=1000

2.6.10-rc2 - 25s

2.4.25-gentoo-r4 - 13s

.config 2.6

#

# IDE chipset support/bugfixes

#

CONFIG_IDE_GENERIC=y

# CONFIG_BLK_DEV_CMD640 is not set

CONFIG_BLK_DEV_IDEPCI=y

# CONFIG_IDEPCI_SHARE_IRQ is not set

# CONFIG_BLK_DEV_OFFBOARD is not set

# CONFIG_BLK_DEV_GENERIC is not set

# CONFIG_BLK_DEV_OPTI621 is not set

# CONFIG_BLK_DEV_RZ1000 is not set

CONFIG_BLK_DEV_IDEDMA_PCI=y

# CONFIG_BLK_DEV_IDEDMA_FORCED is not set

CONFIG_IDEDMA_PCI_AUTO=y

# CONFIG_IDEDMA_ONLYDISK is not set

# CONFIG_BLK_DEV_AEC62XX is not set

# CONFIG_BLK_DEV_ALI15X3 is not set

# CONFIG_BLK_DEV_AMD74XX is not set

# CONFIG_BLK_DEV_ATIIXP is not set

# CONFIG_BLK_DEV_CMD64X is not set

# CONFIG_BLK_DEV_TRIFLEX is not set

# CONFIG_BLK_DEV_CY82C693 is not set

# CONFIG_BLK_DEV_CS5520 is not set

# CONFIG_BLK_DEV_CS5530 is not set

# CONFIG_BLK_DEV_HPT34X is not set

CONFIG_BLK_DEV_HPT366=y

# CONFIG_BLK_DEV_SC1200 is not set

CONFIG_BLK_DEV_PIIX=y

# CONFIG_BLK_DEV_NS87415 is not set

# CONFIG_BLK_DEV_PDC202XX_OLD is not set

CONFIG_BLK_DEV_PDC202XX_NEW=y

# CONFIG_PDC202XX_FORCE is not set

# CONFIG_BLK_DEV_SVWKS is not set

# CONFIG_BLK_DEV_SIIMAGE is not set

# CONFIG_BLK_DEV_SIS5513 is not set

# CONFIG_BLK_DEV_SLC90E66 is not set

# CONFIG_BLK_DEV_TRM290 is not set

# CONFIG_BLK_DEV_VIA82CXXX is not set

# CONFIG_IDE_ARM is not set

CONFIG_BLK_DEV_IDEDMA=y

CONFIG_IDEDMA_IVB=y

CONFIG_IDEDMA_AUTO=y

# CONFIG_BLK_DEV_HD is not set

.config 2.4

#

# IDE, ATA and ATAPI Block devices

#

CONFIG_BLK_DEV_IDE=y

# CONFIG_BLK_DEV_HD_IDE is not set

# CONFIG_BLK_DEV_HD is not set

CONFIG_BLK_DEV_IDEDISK=y

CONFIG_IDEDISK_MULTI_MODE=y

# CONFIG_IDEDISK_STROKE is not set

# CONFIG_BLK_DEV_IDECS is not set

CONFIG_BLK_DEV_IDECD=y

# CONFIG_BLK_DEV_IDETAPE is not set

# CONFIG_BLK_DEV_IDEFLOPPY is not set

# CONFIG_BLK_DEV_IDESCSI is not set

# CONFIG_IDE_TASK_IOCTL is not set

# CONFIG_BLK_DEV_CMD640 is not set

# CONFIG_BLK_DEV_CMD640_ENHANCED is not set

# CONFIG_BLK_DEV_ISAPNP is not set

CONFIG_BLK_DEV_IDEPCI=y

CONFIG_BLK_DEV_GENERIC=y

CONFIG_IDEPCI_SHARE_IRQ=y

CONFIG_BLK_DEV_IDEDMA_PCI=y

# CONFIG_BLK_DEV_OFFBOARD is not set

# CONFIG_BLK_DEV_IDEDMA_FORCED is not set

CONFIG_IDEDMA_PCI_AUTO=y

# CONFIG_IDEDMA_ONLYDISK is not set

CONFIG_BLK_DEV_IDEDMA=y

# CONFIG_IDEDMA_PCI_WIP is not set

# CONFIG_BLK_DEV_ADMA100 is not set

# CONFIG_BLK_DEV_AEC62XX is not set

# CONFIG_BLK_DEV_ALI15X3 is not set

# CONFIG_WDC_ALI15X3 is not set

# CONFIG_BLK_DEV_AMD74XX is not set

# CONFIG_AMD74XX_OVERRIDE is not set

# CONFIG_BLK_DEV_CMD64X is not set

# CONFIG_BLK_DEV_TRIFLEX is not set

# CONFIG_BLK_DEV_CY82C693 is not set

# CONFIG_BLK_DEV_CS5530 is not set

# CONFIG_BLK_DEV_HPT34X is not set

# CONFIG_HPT34X_AUTODMA is not set

# CONFIG_BLK_DEV_HPT366 is not set

CONFIG_BLK_DEV_PIIX=y

# CONFIG_BLK_DEV_NS87415 is not set

# CONFIG_BLK_DEV_OPTI621 is not set

# CONFIG_BLK_DEV_PDC202XX_OLD is not set

# CONFIG_PDC202XX_BURST is not set

CONFIG_BLK_DEV_PDC202XX_NEW=y

# CONFIG_PDC202XX_FORCE is not set

# CONFIG_BLK_DEV_RZ1000 is not set

# CONFIG_BLK_DEV_SC1200 is not set

# CONFIG_BLK_DEV_SVWKS is not set

# CONFIG_BLK_DEV_SIIMAGE is not set

# CONFIG_BLK_DEV_SIS5513 is not set

# CONFIG_BLK_DEV_SLC90E66 is not set

# CONFIG_BLK_DEV_TRM290 is not set

# CONFIG_BLK_DEV_VIA82CXXX is not set

# CONFIG_IDE_CHIPSETS is not set

CONFIG_IDEDMA_AUTO=y

CONFIG_IDEDMA_IVB=y

# CONFIG_DMA_NONPCI is not set

CONFIG_BLK_DEV_PDC202XX=y

# CONFIG_BLK_DEV_ATARAID is not set

# CONFIG_BLK_DEV_ATARAID_PDC is not set

# CONFIG_BLK_DEV_ATARAID_HPT is not set

# CONFIG_BLK_DEV_ATARAID_SII is not set

----------

## ManJak

> IO_support   =  1 (32-bit)

 IO_support   =  3 (32-bit w/sync)

> unmaskirq    =  1 (on)

unmaskirq    =  0 (off)

> keepsettings =  1 (on)

???

> readahead    = 248 (on)

??? readahead    = 256 (on)

Попробуй так!

----------

## NTM

 *ManJak wrote:*   

> > IO_support   =  1 (32-bit)
> 
>  IO_support   =  3 (32-bit w/sync)
> 
> > unmaskirq    =  1 (on)
> ...

 

time dd if=/dev/hde of=/dev/null bs=1M count=1000

c3u1 - никак не влияет .

2.6.10/a8 - 42s

2.6.10/a256 - 25s

2.4.25/a8 - 20s

2.4.25/a255 (256 не встало) - 20s

Впринципе всёравно в 2.6 скорость немного ниже получилась , но  уже не в два раза !

Я даже и не думал что на разных ядрах необходимо подбирать настройки hdparm  :Confused: 

Всем большое спасибо за помощь !!!

----------

## ManJak

Сам не знал =)

Странно, что анмаск не влияет  :Question:   Должен значительно на загруженой системе!

----------

