LINUX.ORG.RU

Медленно работает ноутбучный HDD против спецификации


0

0

Имем HDD Seagate ST-9402113A aka Momentus 4200.2.

http://www.seagate.com/support/disc/specs/ata/st9402113a.html

Здесь сказано, что

INTERNAL TRANSFER RATE (Mbytes/sec) ______up to 48.25 SUSTAINED TRANSFER RATE (MB/sec)__________up to 38.0 EXTERNAL TRANSFER RATE (Mbytes/sec) ______up to 100

Реально имеем: [root@booka aceler]# hdparm -t /dev/hda

/dev/hda: Timing buffered disk reads: 40 MB in 3.04 seconds = 13.16 MB/sec

Возникает вопрос: А чего так мало???

★★★★★

Это только в том случае, если жесткий диск в момент проверки вообще не задействуется системой, т.е может в этот момент ты грузил фф, ООо или еще что. А может так и должно быть. В спецификации много чего пишут, но на деле невсегда бывает близко к описаному.

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

Нет, не грузил ни ФФ, ни ОО ни чего еще. Да и результат воспроизводится с малой погрешностью.

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

Контроллер из чипсета Intel 910GM, режим UDMA100.

[root@booka aceler]# hdparm -i /dev/hda

/dev/hda:

Model=ST9402113A, FwRev=3.01, SerialNo=3LE0RK78
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78140160
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=yes: unknown setting WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:

* signifies the current active mode

[root@booka aceler]# lspci -v
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
Subsystem: Acer Incorporated [ALI]: Unknown device 006a
Flags: bus master, fast devsel, latency 0
Capabilities: [e0] #09 [3109]

-------------------------<Пропущено>--------------------------

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3) (prog-if 01 [Subtractive decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=05, sec-latency=32
I/O behind bridge: 00003000-00003fff
Memory behind bridge: b0100000-b01fffff
Prefetchable memory behind bridge: 0000000030000000-0000000031f00000
Capabilities: [50] #0d [0000]

00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03) (prog-if 8a [Master SecP PriP])
Subsystem: Acer Incorporated [ALI]: Unknown device 006a
Flags: bus master, medium devsel, latency 0, IRQ 10
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at 1810 [size=16]

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

DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2

Как-то не похоже на UDMA-100, вообще не пойму что такое....

У меня root@slax:~# hdparm -i /dev/hda

/dev/hda:

Model=Maxtor 6E040L0, FwRev=NAR61EA0, SerialNo=E1RQTYKE Config={ Fixed } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16 CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=80293248 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 *udma2 AdvancedPM=yes: disabled (255) WriteCache=enabled Drive conforms to: (null):

* signifies the current active mode

(звезда на месте udma33, ибо 00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) больше не умеет)

Может, hdparm -X69 -d1 /dev/hda поможет?

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

Для udma2, 13.16 MB/sec это нормально. Какие бы ты параметры там не прописывал быстрее он крутить не будет. Поменяешь винт, тогда и котроллер сможет udma6 выдать.

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

Как вариант. Может быть такое что у тебя ядро собранно с generic/default IDE chipset support.

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

> Как интересно, а откуда ты это взял. В предыдущем у тебя было максимум udma2.

Это одна и та же консоль и одна и та же hdparm.

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

Я еще раз у себя проверил. Hdparm показывает на то что способен винт но не контроллер. К примеру на моем рутере сторит старый интел PIIX4 он выдает максимум udma2 хоть винт способен на udma4. Такая скорость как у тебя это чистой воды udma1. Проверь еще раз твои настройки и убедись что твое ядро потдерживает котроллер. Лучше всего поставь последнее 2.6.17.х

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

Так, слушай. Я не понимаю что ты хочешь добиться.... услышать какоенибуть никому не известое волшебное слово которое нужно внести в реестр и все заработает или ты хочешь с помощью hdparm сделать невозможное и заставить работать как scsi. Hdparm используеться только в тех случаях если твое ядро по каким нибуть причинам посчитало что запускать твой контроллер на всю катушку опасно и вырубило dma - тогда тебе нужно включить dma самому и убедиться что это было действительно опасно, либо у тебя глючное железо и те опции которое использует ядро приводят к какимнибуть ошибкам - в это мслучае тебе нужно самому найти правильное решение.

В твоем случае нужно глянуть что выдает hdparm /dev/hda и убедиться что dma включен. Проверить используешь ли ты последнее ядро (и не расказывать комуто что у тебя стоит интел), проверить что у тебя отключен generic/default IDE chipset support, включен Generic PCI bus-master DMA support, Use PCI DMA by default when available, Intel PIIXn chipsets support.

Тут ты можешь найти о том что с ядром 2.6.12 дма на этом чипе не работает, нужен патч для ядра. http://www.net-track.ch/opensource/articles/x41.php

Если так и не справишься, выложи hdparm /dev/hda и uname -a, также наименование ноута - иначе все это гадание на кофейной гущще.

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

[root@booka aceler]# hdparm /dev/hda

/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 16383/255/63, sectors = 78140160, start = 0

[root@booka aceler]# uname -a
Linux booka 2.6.16-1mdk #1 Fri May 19 19:49:05 CEST 2006 i686 Intel(R) Celeron(R) M processor 1.50GHz unknown GNU/Linux


Поддержка PIIX в ядре есть. hdparm -T показывает вполне приличные цифры => DMA работает.

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

Либо попробуй этот патч, либо ядро 2.6.17. лучше конечно новое ядро.

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit...

Этот патч был добавлен уже после выхода ядра 2.6.16 и походу дела никогда туда не попал.

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

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

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