Problem with mouse during high CPU load

Alexander Best arundel at freebsd.org
Thu Mar 17 22:32:24 UTC 2011


On Thu Mar 17 11, Alexander Best wrote:
> On Fri Jan 21 11, Attilio Rao wrote:
> > 2011/1/21 Alexander Best <arundel at freebsd.org>:
> > > hi there,
> > >
> > > i've reported this issue quite a while ago [1], but back then nobody was able
> > > to help me. i have an issue with my usb mouse. when there's a high CPU load it
> > > produces random mouse clicks. this doesn't happen on other OSes. i've attached
> > > a different usb mouse to my freebsd box and i could't observe the same
> > > behavior. so it seems this problem is only related to specific mice.
> > 
> > I can experience the same problem.

also i did a few i/o tests using dd in combination with high CPU load:

== low CPU load ==
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 4.433087 secs (23653404 bytes/sec)
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 4.414529 secs (23752841 bytes/sec)
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 4.433871 secs (23649222 bytes/sec)

== high CPU load on cores 1 and 2 ==
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 39.220969 secs (2673509 bytes/sec)
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 41.791827 secs (2509046 bytes/sec)
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 58.067697 secs (1805782 bytes/sec)

== high CPU load on core 1 ==
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 4.552803 secs (23031438 bytes/sec)
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 4.593116 secs (22829295 bytes/sec)
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 4.588891 secs (22850314 bytes/sec)

= high CPU load on core 0 ==
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 13.381070 secs (7836264 bytes/sec)
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 12.810288 secs (8185421 bytes/sec)
otaku% dd if=/dev/da0 of=/dev/null bs=1m count=100
100+0 records in
100+0 records out
104857600 bytes transferred in 13.519533 secs (7756008 bytes/sec)

cheers.
alex

> 
> i've captured the iostat ouput during the random mouse clicks:
> 
>        tty            ada0             ada1              cd0             cpu
>  tin  tout  KB/t tps  MB/s   KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
>   36   227 31.97   2  0.05  31.47  16  0.50  59.61   0  0.02   9  0  3  0 88
>    7   232  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00   5  0  2  1 92
>    9    82  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   4  0  3  0 94
>    6    77  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   6  0  3  1 91
>   16   676  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   6  0  4  0 89
>    8    77  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00   7  0  2  1 90
>    2    78  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00  16  0  3  0 80
>    4    77  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00   6  0  2  1 91
>  121    78  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   3  0  1  0 96
>  290    77  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00   4  0  3  1 92
>  998    78  0.00   0  0.00  32.00   1  0.03   0.00   0  0.00   6  0  5  0 89
> 3231 30024  7.20   5  0.03  13.23 1583 20.45   0.00   0  0.00  25  0 28  3 44
> 2437 18319  4.00   2  0.01  13.04 916 11.66   0.00   0  0.00  16  0 17  0 67
> 1291  8441  0.00   0  0.00  13.08 1085 13.86   0.00   0  0.00  15  0 14  3 68
>  737   243  0.00   0  0.00  13.13 359  4.61   0.00   0  0.00   7  0  4  0 88
>  396    77  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00   7  0  5  1 87
>  124    78  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   5  0  1  0 94
>    8    77  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00   7  0  3  1 89
>   12   169  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   8  0  2  0 89
>    8    77  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00   7  0  2  1 91
>    4    78 16.00   6  0.09   0.00   0  0.00   0.00   0  0.00   4  0  2  0 94
>   24    77 36.00  16  0.56  24.34  35  0.82   0.00   0  0.00  16  0  6  1 77
>    8    77  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   4  0  3  0 92
>    8    77  0.00   0  0.00  14.62  16  0.23   0.00   0  0.00   7  0  2  0 91
>    4    77  0.00   0  0.00  18.24  17  0.30   0.00   0  0.00   5  0  5  0 90
>    6    77  0.00   0  0.00  32.00   2  0.06   0.00   0  0.00  16  0  3  1 81
>    6    77  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   7  0  2  0 91
>    0    77  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   4  0  2  1 93
>    5    77  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   4  0  4  0 91
>    1    77  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   3  0  0  1 96
>    0    77  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00   2  0  1  0 97
> 
> ...in fact if i move the mouse fast enough i'm able to reproduce the issue
> without any high CPU activity.
> 
> the following iostat output was taken during high CPU load. now also slow mouse
> movements can cause random mouse events (i.e. clicks) to happen:
> 
>        tty            ada0             ada1              cd0             cpu
>  tin  tout  KB/t tps  MB/s   KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
>   36   230 31.80   2  0.05  31.39  16  0.49  59.61   0  0.02   9  0  3  0 88
>    1   233  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00  96  0  4  0  0
>  467    78  0.00   0  0.00  128.00   4  0.50   0.00   0  0.00  96  0  3  1  0
>  451    78  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00  96  0  4  0  0
>  325    83  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00  93  0  6  1  0
>    7    86  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00  97  0  3  0  0
>   21   684  4.00   1  0.00   0.00   0  0.00   0.00   0  0.00  95  0  4  1  0
>  540   625  0.00   0  0.00  13.60  98  1.30   0.00   0  0.00  95  0  5  0  0
>  676  1222  0.00   0  0.00  13.43 307  4.03   0.00   0  0.00  91  0  7  2  0
>  411    76  0.00   0  0.00  14.48 312  4.42   0.00   0  0.00  95  0  5  0  0
>  388    77  0.00   0  0.00  128.00   4  0.50   0.00   0  0.00  94  0  5  1  0
>  206    78  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00  98  0  2  0  0
>   17    77  0.00   0  0.00  128.00   1  0.12   0.00   0  0.00  97  0  3  0  0
>    0    78  0.00   0  0.00  16.00  32  0.49   0.00   0  0.00  98  0  2  0  0
> 
> i'm still under the impression this is a scheduler problem, but who knows...
> 
> cheers.
> alex
> 
> > 
> > Attilio
> > 
> > 
> > -- 
> > Peace can only be achieved by understanding - A. Einstein
> 
> -- 
> a13x

-- 
a13x


More information about the freebsd-usb mailing list