Date: Sun, 04 Oct 2009 16:53:36 +0200 (CEST) From: Alexander Best <alexbestms@math.uni-muenster.de> To: Hans Petter Selasky <hselasky@c2i.net>, Andrew Thompson <thompsa@freebsd.org> Cc: freebsd-usb@freebsd.org Subject: Re: mouse behaving strange on high cpu load and rapid movements Message-ID: <permail-20091004145336f7e55a9d00006880-a_best01@message-id.uni-muenster.de> In-Reply-To: <200910041635.24139.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hans Petter Selasky schrieb am 2009-10-04: > On Sunday 04 October 2009 14:44:34 Alexander Best wrote: > > Hans Petter Selasky schrieb am 2009-10-01: > > > On Wednesday 30 September 2009 15:23:18 Alexander Best wrote: > > > > here's some debug output: > > also i've notice that during heavy cpu load my keyboard's input > > rate is > > much lower than usual. > > i'll try producing a few benchmark results when writing/reading to > > a usb > > stick under heavy cpu load to give you an idea about the slowdown > > rate. > Hi, > If you look at the top of usb_process() in sys/dev/usb/usb_process.c, > then you > see there is some code to do priority settings. Recently something > about the > USB processes/threads was changed in USB regard, and I don't know if > this > might be the cause. Andrew, you might want to check if the priority > settings > in the USB code are still valid. > I'm currently using the BSD scheduler, not ULE. > --HPS i did some more tests. first i attached a different mouse and in fact you were right: the other mouse wasn't producing random copy&pastes during movements. however the mouse was also behaving sloppy. so i think there is in fact a priority problem somewhere. here are some SCHED/SMP tests i made: SMP enabled + SCHED_ULE: sloppy mouse/keyboard SMP disabled + SCHED_ULE: no problems SMP enabled + SCHED_4BSD: no porblems i did some bencmarking under SCHED_ULE + SMP enabled using the following command `time dd if=/dev/zero of=/mnt/umass/test bs=1m count=100`. here are the results: without cpu intensive tasks running: 100+0 records in 100+0 records out 104857600 bytes transferred in 26.391317 secs (3973186 bytes/sec) real 0m26.409s user 0m0.000s sys 0m1.385s with cpu intensive tasks running: 100+0 records in 100+0 records out 104857600 bytes transferred in 41.911261 secs (2501896 bytes/sec) real 0m42.748s user 0m0.009s sys 0m0.376s i've also switched to the 4BSD scheduler and everything's fine now. to produce heavy cpu load i compiled www/firefox35 and simultaniously ran this app: #include <stdio.h> void tower(int n, int source, int target, int help) { if (n >= 1) { turm(n-1, source, help, target); turm(n-1, help, target, source); } } int main() { tower(10000, 1, 3, 2); } cheers. alex
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?permail-20091004145336f7e55a9d00006880-a_best01>