[gpm] GPM, XFree and Linux 2.6 work badly together

eeprom@bol.com.br eeprom@bol.com.br
Tue Apr 20 20:02:59 CEST 2004


On Mon, 19 Apr 2004, Antti Lankila wrote:

>
> GPM was set to repeat as raw, X was reading from gpmdata (which is
> unnecessary in linux 2.6, I know, but I inherited the setup from 2.4). In
> short, 2.4 showed no detectable problems, but in 2.6 something weird
> happened. I don't know what's the issue here, but I would want to warn
> people using 2.6 kernel and gpmdata repeat to remove gpm as the middleman.
>
> The symptoms in my case were prolonged periods (up to 10 seconds) during
> which mouse in X wouldn't move because apparently gpm didn't get time or
> wasn't run to tell X about updates in mouse position. This problem surfaced
> only during heavy IDE-disk load, and I thought for weeks the problem was in
> the kernel. For all I know, maybe it is. Just wanted to post an alert about
> this problem, so someone else who sees the issue might hit this post and get
> a clue.
>
> Antti

You was right when you thought that the problem was in the kernel. The
answer is that you compiled your 2.6 kernel without DMA capability. Once
I forgot to add this capability too, and the results were the same (mouse
hanging on high IDE load). To be sure that DMA is enabled, you can check
your IDE settings at /proc. Ex:

localhost:/# cat /proc/ide/ide0/hda/settings
name                    value           min             max         mode
----                    -----           ---             ---         ---
acoustic                0               0               254         rw
address                 0               0               2           rw
...                     ...             ...             ...         ...
using_dma               1               0               1           rw
...                     ...             ...             ...         ...

localhost:/#

As you can see, the 'using_dma' setting should be '1' (in your case it
should be 0, since you are experiencing these problems). DMA is enabled by
default when the kernel is compiled with that capability. So, if you see a
'0' instead of '1', then your kernel isn't able to use DMA. The option to
enable DMA drivers are:

Device Drivers  --->
   ATA/ATAPI/MFM/RLL support  --->
      [*] Generic PCI bus-master DMA support
         [*]         Use PCI DMA by default when available
         < >         A lot of motherboard specific drivers
         < >         ...
         <*>         VIA82CXXX chipset support

This is the configuration I use (my motherboard is based on the VIA82Cxxx
chipset). Enable the 'Generic PCI bus-master DMA support' (this will
enable many other options), then enable the 'Use PCI DMA by default when
available' option, and then chose the correct driver for your motherboard.

----------------------
Björn Martins Paz


More information about the gpm mailing list