Tristan
2012-03-04 01:56:39 UTC
for a while now i've known that usb/ether runs slow for me. i thought it
was something to do with the specific situation or hardware, and that,
say, usb/disk would be alright. it isn't. and not just on the olpc. now,
my machines are fairly slow as machines go... but 2.5MB/s reads are a far
cry from 22MB/s (with the olpc on linux).
it turns out that _strayintr is taking up nearly all the time.
cpu% kprof /n/9fat/9cpcpuf /dev/kpdata
total: 24620 in kernel text: 23890 outside kernel text:730
RTZERO f0100000 PGSIZE 4Kb
ms % sym
21840 91.3 _strayintr
290 1.2 memmove
290 1.2 iunlock
180 0.7 sched
160 0.6 memset
150 0.6 sleep
...
my understanding is that _strayintr is glue between the interrupt vector
table and trap. and presumably includes the time spent in trap.
the short review of usbehci.c didn't provide any insight, so i guess i'm
asking, is this expected behavior? and what can i do?
enjoy,
tristan
--
All original matter is hereby placed immediately under the public domain.
was something to do with the specific situation or hardware, and that,
say, usb/disk would be alright. it isn't. and not just on the olpc. now,
my machines are fairly slow as machines go... but 2.5MB/s reads are a far
cry from 22MB/s (with the olpc on linux).
it turns out that _strayintr is taking up nearly all the time.
cpu% kprof /n/9fat/9cpcpuf /dev/kpdata
total: 24620 in kernel text: 23890 outside kernel text:730
RTZERO f0100000 PGSIZE 4Kb
ms % sym
21840 91.3 _strayintr
290 1.2 memmove
290 1.2 iunlock
180 0.7 sched
160 0.6 memset
150 0.6 sleep
...
my understanding is that _strayintr is glue between the interrupt vector
table and trap. and presumably includes the time spent in trap.
the short review of usbehci.c didn't provide any insight, so i guess i'm
asking, is this expected behavior? and what can i do?
enjoy,
tristan
--
All original matter is hereby placed immediately under the public domain.