# Kleines freezing unter volllast

## white.rabbit

Hallo,

ich habe seit einiger Zeit ein Problem, wenn ich etwas emerge kann ich meine schlecht bewegen, die friert bei mir immer ein so für 0,5 sek oder so.

Dachte es liegt an GPU doch Nvidia treiber sind installiert mit direct auf on.

Und jetzt denke ich, dass es an der Festplatte liegt.

```

/dev/hda:

 Model=ST9160821AS, FwRev=3.ALC, SerialNo=5MA0JRDZ

 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }

 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4

 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16

 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455

 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: Unspecified:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

 * signifies the current active mode

```

und

```

/dev/hda:

 Timing cached reads:   3640 MB in  2.00 seconds = 1820.94 MB/sec

 Timing buffered disk reads:    6 MB in  3.70 seconds =   1.62 MB/sec

```

Unter Kubuntu gibt mir hdparm leider andere Werte und zwar. cached read max 1000MB aber dafür buffered 42 MB.

DMA geht sowieso nicht,  oder weiss jemand woran es liegen könnte?

mfg

w.r

----------

## Max Steel

DMA wird soweit ich weiß normalerweise per /etc/init.d/hdparm gestartet, dann kannst du hdparm zum nachsehen der I/O-Zeiten verwenden.

Achso bevor ichs vergesse, was kannst du nichtmehr bewegen, meinst du deine Maus, oder was anderes?

----------

## white.rabbit

Ja ich meine die Maus.Und wegen DMa

```

/etc/init.d/hdparm start

 * Caching service dependencies ...                                       [ ok ]

 * Running hdparm on /dev/hda ...

 HDIO_SET_DMA failed: Operation not permitted                             [ ok ]

 * Running hdparm on /dev/hdc ...

 HDIO_SET_DMA failed: Operation not permitted                             [ ok ]

```

----------

## Max Steel

Hast du im KErnel di DMA spezifischen Sachen aktiviert?

Ich hab dazu:

```
# cat .config | grep DMA

CONFIG_ZONE_DMA=y

CONFIG_GENERIC_ISA_DMA=y

CONFIG_ZONE_DMA_FLAG=1

CONFIG_ISA_DMA_API=y

CONFIG_BLK_DEV_IDEDMA_PCI=y

CONFIG_BLK_DEV_IDEDMA_FORCED=y

# CONFIG_IDEDMA_ONLYDISK is not set

CONFIG_BLK_DEV_IDEDMA=y

# CONFIG_IDEDMA_IVB is not set

CONFIG_SCSI_DMA=y

CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1

# CONFIG_PDC_ADMA is not set

# CONFIG_PATA_OPTIDMA is not set

# DMA Engine support

CONFIG_DMA_ENGINE=y

# DMA Clients

CONFIG_NET_DMA=y

# DMA Devices

# CONFIG_INTEL_IOATDMA is not set

CONFIG_HAS_DMA=y
```

----------

## white.rabbit

hmm

```

CONFIG_ZONE_DMA=y

CONFIG_GENERIC_ISA_DMA=y

CONFIG_ZONE_DMA_FLAG=1

CONFIG_ISA_DMA_API=y

CONFIG_BLK_DEV_IDEDMA_PCI=y

# CONFIG_BLK_DEV_IDEDMA_FORCED is not set

# CONFIG_IDEDMA_ONLYDISK is not set

CONFIG_BLK_DEV_IDEDMA=y

# CONFIG_IDEDMA_IVB is not set

# DMA Engine support

# CONFIG_DMA_ENGINE is not set

# DMA Clients

# DMA Devices

CONFIG_HAS_DMA=y

```

----------

## Max Steel

Ist jetz nur ne Vermutung, aber vll würde es etwas bringen den Support für die DMA_Engine einzubauen, versuchs mal.

Sonst entdecke ich nichts mehr was an unseren Einstellungen ande ist (kernel-spezifisch).

Gut ich habe noch scsi, weil ich ein SCSI-Brenner habe, aber das ist nicht auchsschlaggebend.

Welche Version von hdparm verwendest du, ich verwende

sys-apps/hdparm

Installed Versions: 7.7

----------

## white.rabbit

hatte davor 6.6 ich versuche jetzt mti 7.7, mal sehen obs was bringt

EDIT... das selbe

----------

## Max Steel

Hast du schon versucht CONFIG_DMA_ENGINE in den KErnel einzubauen, ob es dann besser läuft?

Wenn nicht mach mal, und wenns dann immernoch nicht läuft, dann weiß ich auch nichtweiter.

An deiner vorherinstallierten Version von hdparm kann man draus schliesen dass dein letztes worldupdate schon etwas zurück liegt,

Kannst ja mal versuchen ob es nach einem

```
emerge --sync

emerge -avuDN --with-bdeps y system

emerge -avuDN --with-bdeps y world
```

besser ist, wenn kein anderer mer eine Idee hat.

----------

## white.rabbit

 *Quote:*   

> An deiner vorherinstallierten Version von hdparm kann man draus schliesen dass dein letztes worldupdate schon etwas zurück liegt

 

System erst gestern neu installiert.

Und das mit DMA_ENGINE probiere ich aus.

----------

## ChrisJumper

Hi, falls du ausführlichere Fragen hast schau doch einfach mal ins Howto-Hdpam vom Gentoo Wiki.

Das deine Maus hängt hat aber ganz bestimmt nichts mit DMA zu tun, warum auch?! DMA dient nur zur Beschleunigung des Festplattenzugriffs, bzw. das deine CPU sich nicht um den kram kümmern muss. Und der Overhead bei ausgeschaltetem DMA dürfte niemals so groß sein das deine Maus deswegen ruckelt. (Nagut vielleicht auf einem uralt 386er, wenn ein p2p im Hintergrund läuft ;) Du greifst ja auch nicht im Hintergrund immer auf die Festplatten zu.

Beobachte mal deine CPU-Last (z.B. mit top).

Vielleicht ist es ein "falscher" Grafiktreiber, aber der bewirkt eher das das Verschieben von fenstern ruckelt, als das die Maus stottert. Als nächstes würde ich einen Blick auf den Kernel werfen und dessen Sheduler bzw. Timer, welcher für Interrupts zuständig ist.

Mist, jetzt hab ich mich verrannt. Natürlich ist ein emergen schon ein aufwendiger Vorgang, auch was die Festplattenzugriffe betrifft und das Ruckeln hatte ich auch! Dagegen hilft aber PORTAGE_NICENESS! :)

Zum Schluss noch ein Tipp für ein "Flüssigeres Desktop System":

Wie ist denn CONFIG_HZ bei dir eingestellt?

```
$ grep CONFIG_HZ /usr/src/linux/.config
```

Ich hab sie bei mir auf "1000" weil ich auch gerne fps-Games spiele ;)

 *Quote:*   

> CONFIG_HZ_1000:
> 
> 1000 Hz is the preferred choice for desktop systems and other
> 
> systems requiring fast interactive responses to events.

 

Mfg Chris

----------

## SvenFischer

Dennoch interessant: Welcher Chipsatz (IDE) und welcher Treiber dafür im Kernel fest(!) drin?

----------

## white.rabbit

```
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)

00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (rev 03)

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)

00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)

00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)

00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)

00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)

00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)

00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)

00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)

00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)

00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)

00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)

00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)

00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)

01:00.0 VGA compatible controller: nVidia Corporation G72M [Quadro NVS 110M/GeForce Go 7300] (rev a1)

05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

06:01.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

06:04.0 CardBus bridge: ENE Technology Inc CB-712/4 Cardbus Controller (rev 10)

06:04.1 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller (rev 01)

06:04.2 SD Host controller: ENE Technology Inc ENE PCI Secure Digital Card Reader Controller (rev 01)

06:04.3 FLASH memory: ENE Technology Inc FLASH memory: ENE Technology Inc: (rev 01)

06:04.4 FLASH memory: ENE Technology Inc SD/MMC Card Reader Controller (rev 01)

```

und

```

grep CONFIG_HZ /usr/src/linux/.config

CONFIG_HZ_1000=y

CONFIG_HZ=1000

```

ich habe schon verschiedene arten ausprobiert mit  hdparm, doch leider kein erfolg.

----------

## white.rabbit

hat denn niemand eine idee woran es liegen könnte?

----------

## gimpel

Du hast vermutlich im BIOS die IDE emulation aktiv, anstatt nativ SATA AHCI zu benutzen..

----------

## white.rabbit

Ich habe im Bios nachgeguckt und der erkennt es als IDE, da es ein notebook ist, sind die Einstellungen sehr sehr mager. Was aber nicht verstehe, Kubuntu und Co erkennen mein Platte problemlos!

Und ich habe immer /dev/sda gehabt und nicht /dev/hda.

Gibt es eine Anleitung für SATA's? Hier im Forum gibt es eine Menge Leute, die das Problem haben, doch ich habe keine Lösung gefunden die mir hilft.

Falls mal jemand zufällig eine Anleitung kennt oder weiß wie man es macht, bin ich SEHR dankbar.

Danke im voraus.

mfg

w.r

----------

## gimpel

 *white.rabbit wrote:*   

> Und ich habe immer /dev/sda gehabt und nicht /dev/hda.

 

Bei Kubuntu verwenden die vermutlich libata im kernel, nicht den alten ATA stack.

libata:

```
<*> Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
```

alter ATA stack:

```
< > ATA/ATAPI/MFM/RLL support  --->
```

Mit libata werden auch ATA IDE Platten als sd* angesprochen. Dennoch laufen diese dann immer noch als ATA und nicht als SATA - das musst du im BIOS einstellen.

Dein controller ist IDE SATA, und dein Platte ne Seagate Momentus 160GB SATA - also musst du doch auch im BIOS auf SATA nativ umstellen können. Dann stellste im kernel noch auf libata um, und dann flutscht das.

----------

## AmonAmarth

 *ChrisJumper wrote:*   

> Das deine Maus hängt hat aber ganz bestimmt nichts mit DMA zu tun, warum auch?! DMA dient nur zur Beschleunigung des Festplattenzugriffs, bzw. das deine CPU sich nicht um den kram kümmern muss. Und der Overhead bei ausgeschaltetem DMA dürfte niemals so groß sein das deine Maus deswegen ruckelt.
> 
> Mfg Chris

 

da kann ich gegen halten! hab schon erlebt das bei falscher IDE controller konfiguration im kernel (und damit DMA nicht aktivierbar) das ganze system bei starken festplatten zugriffen (was portage ja definitiv tätigt) für diese beschriebenen 0,5s hing. das machte sich insbesondere beim mp3 hören bemerkbar (andauerndes knacken). die maus hing dann manchmal nochmal zusätzlich wenns ganz hart kam

----------

## white.rabbit

Da kann ich nur zustimmen, habe jetzt irgendwie geschaft, dass mein System sda und nicht hda erkennt, und ich merke den Unterschied deutlich!

Aber jetzt hängt mein System für paar Minuten komplett! Ich glaube ich habe falsche Treiber, die sich gegenseitig stören.

----------

## ChrisJumper

 *AmonAmarth wrote:*   

>  *ChrisJumper wrote:*   Das deine Maus hängt hat aber ganz bestimmt nichts mit DMA zu tun... 
> 
> da kann ich gegen halten! hab schon erlebt das bei falscher IDE controller konfiguration im kernel (und damit DMA nicht aktivierbar) das ganze system bei starken festplatten zugriffen (was portage ja definitiv tätigt) für diese beschriebenen 0,5s hing. das machte sich insbesondere beim mp3 hören bemerkbar (andauerndes knacken). die maus hing dann manchmal nochmal zusätzlich wenns ganz hart kam

 

Nun ja bei "falscher IDE controller konfiguration" liegt das aber sicherlich eher daran als an der DMA-Unterstützung. Man kann das drehen und wenden wie man will. Aber "auf einem Aktuellen System mit 1-2 Gh" sollte man DMA ausschalten können und trotzdem nicht solche Probleme haben. Behaupte ich jetzt einfach mal.

Aber ich muss gestehen bei meinem ersten Post hab ich verdrängt das es sich um "während portage im Hintergrund Arbeitet" handelt und nicht um den "normalen Browsen/Email/Internet/Messanger/Arbeits Betrieb". Ich dachte "die Medizin, DMA" für dieses Problem beseitigt nur ein Symptom, nicht aber die Ursache. Trotzdem toll das dadurch doch noch Fehleinstellungen aufgedeckt wurden...

Mit PORTAGE_NICENESS kann man allerdings den emerge-Vorgang in der Priorität so "herunterschalten" das es problemlos permanent nebenherlaufen lassen kann ohne das man davon etwas merkt. Wobei ich eigentlich nicht genau weiß ob nice "den wunsch auf die Festplatte zuzugreifen" auch beeinflusst. Es kann so sein das ein emerge --sync die Festplatte trotzdem noch arg belagert obwohl es bezüglich der CPU-Zeit hinten ansteht.. so genau kenne ich mich damit nicht aus. Auf jedenfall geht das Compilieren aber stressfreier von der Hand.

OT-Erfahrungen: 

Bei mir hab ich PORTAGE_NICENESS="15" gesetzt und konnte ohne Probleme eine Gigabyte grosse Datei übers Netzwerk kopieren, emerge -u world laufen lassen und einen Film (ca. 700MB) schauen ohne das es ruckelte. Inkl. compiz-fusion Desktop was mich arg überraschte :) Wobei ich bei ComFusi immer noch das Problem habe, wenn ich bei großer Auslastung der cpu einen Rechtsklick mache.. dauert es machmal bis zu 15 Sekunden bis das Untermenü sich aufgebaut hat.

----------

## ChrisJumper

 *white.rabbit wrote:*   

> Da kann ich nur zustimmen, habe jetzt irgendwie geschaft, dass mein System sda und nicht hda erkennt, und ich merke den Unterschied deutlich!
> 
> Aber jetzt hängt mein System für paar Minuten komplett! Ich glaube ich habe falsche Treiber, die sich gegenseitig stören.

 

Schau mal bei diesem Link, auf Seite 2. Es scheint mir als ging es da nicht nur um deinen Intel Corporation 82801GBM/GHM Sata-Controller. Sondern auch um das selbe Problem das du jetzt hast. (Desktop Lags under Heavy IO).

 *tarpman wrote:*   

> Your laptop is very similar to mine. What you want to do is disable the E/IDE subsystem completely in favour of the new libata stuff (CONFIG_ATA and friends). Specifically, you need CONFIG_ATA for the libata subsystem (CONFIG_ATA_ACPI, a hidden symbol, is selected automatically), CONFIG_ATA_PIIX for your SATA chipset, and CONFIG_PATA_MPIIX for IDE support for your DVD drive. All other ATA related options should be disabled; specifically, CONFIG_IDE and everything underneath it must be disabled, as must CONFIG_ATA_GENERIC. Then, to allow the devices to show up, make sure CONFIG_BLK_DEV_SD (for your hard drive) and CONFIG_BLK_DEV_SR (for your optical drive) are enabled. CONFIG_CHR_DEV_SG is also a good idea.
> 
> Be warned: this is a major subsystem change. Your hard drive, if it is currently /dev/hda, will change to /dev/sda; make sure you update /etc/fstab to reflect this before rebooting. Your DVD drive may or may not become /dev/sr0; it may also stay as /dev/hdc, in which case /dev/sr0 may or may not be a symlink to it (or vice versa), depending on your specific hardware; either way, udev should maintain appropriate /dev/cdrom and /dev/dvd symlinks, so you shouldn't have to do anything with that. hdparm does not work to set parameters on SATA drives, although you can use it with -i and/or -I to show information about your drives; to set parameters you want sdparm instead.
> 
> DMA is automatically enabled for all drives supported by the libata subsystem, so if you are able to boot with CONFIG_IDE and CONFIG_ATA_GENERIC disabled, then DMA will be enabled for you unless it simply will not work with your particular hardware.

 

----------

