Опять что-то в IDE подправили:
<bzolnier@trik.(none)>
[ide] icside: use ide_dma_intr()
Make ide_dma_intr() always available if CONFIG_BLK_DEV_IDEDMA=y
and use it instead of icside_dmaintr(). Acked by Russell.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Может после этого не будет сумасшедшего потребления CPU при копировании?
еще бы неплохо резалты
hdparm -tT /dev/hda
и кроме того, я бы предложил выполнить
hdparm -u1 -A1 -W1 -a128 -m32 -X69 -c1 /dev/hda
и снова
hdparm -tT /dev/hda
Вот после этого можно потестить
хотя результат установки этих флагов зависит от модели жесткого диска.
bash-2.05b# hdparm -tT /dev/hda
/dev/hda:
Timing buffer-cache reads: 1172 MB in 2.01 seconds = 584.34 MB/sec
Timing buffered disk reads: 62 MB in 3.10 seconds = 20.03 MB/sec
Это при старой настройке. Сейчас погляжу, что ты мне посоветовал,
потом снова закину результаты.
P.S. Это ATA-диск на ноутбуке, которому уже 2,5 года.
> Я опять шо-то пропустил? Проблему описать подробнее можно, пожалуйста?
Без проблем. На 2.6 ядрах при копировании показывается 100%-я общая загрузка процессора. Например, мой случай. Ядро 2.6.9, при копирвании фильма с одного раздела на другой (не зависит от типа разделов) смотрим top. ~20% есть cp, остальные 80 уходят на wa-time. Вот и получается загрузка 100%
PS. С DMA у мено все в порядке, так что не надо советовать мне исправить руки или включить что-либо. Это характерная черта для 2.6 ядер.
/dev/hda:
Timing cached reads: 768 MB in 2.01 seconds = 382.91 MB/sec
Timing buffered disk reads: 118 MB in 3.05 seconds = 38.75 MB/sec
[root@pyro SPECS]# _
Загрузка проца (по gkrellm :-)) порядка 15-18 процентов, ну, вероятно, KDE'шка достаточно из этого дает ;-). Машинка - 2.5+ годовалой давности на "старом" Атлоне 1400+ (не XP), VIA'шном чипсете и с MAXTOR'овским винтом.
Честно говоря, 100% загрузку на I/O я видел только без dma...
Чего еще видел: если резетится шина, то ядро отключает поддержку dma. Может, у тебя ошибки (битый драйвер, неправильная настройка латентности шины, плоой кабель и т.п.) и у и тебя просто после сброса шины dma выключается?
Проделай, прошу, тест - скопируй фильм, чтобы наблюдались твои эффекты, а потом спроси
hdparm /dev/hda
> Чего еще видел: если резетится шина, то ядро отключает поддержку dma. Может, у тебя ошибки (битый драйвер, неправильная настройка латентности шины, плоой кабель и т.п.) и у и тебя просто после сброса шины dma выключается?
Нет, у меня все в порядке, dma постоянно включено. Абсолютно такая же бага у многих других, можно поискать в гугле.
> Проделай, прошу, тест - скопируй фильм, чтобы наблюдались твои эффекты, а потом спроси hdparm /dev/hda
Это не трудно, так как эти эффекты повторяются в 100% случаях.
> При копировании того же файла (фильм, с ntfs на fat32) top показывал среднюю загрузку процессора 8..10 %. Т.е. если и есть изменения, то в худшую сторону.
Такая же фигня на 2.6.{7,8,9,10} io wait 100% лагать все начинает при копировании. hdparm настроено все нормально. Дорова..я не ставил никакх дров cel 1.7 / 256 Mb
>Такая же фигня на 2.6.{7,8,9,10} io wait 100% лагать все начинает при копировании. hdparm настроено все нормально. Дорова..я не ставил никакх дров cel 1.7 / 256 Mb
Иногда (на некоторых системах) параметры устанавливаемые hdparm самопроизвольно сбрасываются, вот тогда получается 100% загрузка процессора, особенно если оперативки больше 128мб
Что интересно:
Linux 2.6.8.1: -----------------------------------------
bash-2.05b$ time cp The\ Terminal\ \(2004.rus.\).avi /e/tmp
real 2m24.409s
user 0m0.219s
sys 0m6.617s
-----------------------------------------
Win2k: -----------------------------------------
D:\tmp>time 0<cr
Aktuelle Zeit: 15:26:31,86
Geben Sie die neue Zeit ein:
D:\tmp>copy "The Terminal (2004.rus.).avi" e:\tmp
1 Datei(en) kopiert.
D:\tmp>time 0<cr
Aktuelle Zeit: 15:29:25,60
Geben Sie die neue Zeit ein:
D:\tmp>
-----------------------------------------
В винде копировалось 174 секунды против 144 в линуксе.
Ой... Не знаю. Вроде, так и пишет, в биосе 1400 или (когда, типа, safe) - 1050. А вот чего говорит /proc/cpuinfo:
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 6
model name : AMD Athlon(TM) XP1600+
stepping : 2
cpu MHz : 1410.396
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse pni syscall mmxext 3dnowext 3dnow
bogomips : 2793.47
wa в ядрах 2.4.X всегда показывается как 0
цитата из man 8 vmstat
CPU
These are percentages of total CPU time.
us: Time spent running non-kernel code. (user time, including nice time)
sy: Time spent running kernel code. (system time)
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO. Prior to Linux 2.5.41, shown as zero.
То, что у тебя multicount выключен - очень плохо - это аппаратная фича чтения нескольких подряд секторов диска.
Проверяем на работоспособность значения 16:
hdparm -m16 /dev/hda