Skip navigation.
Home
The QNX Community Portal

View topic - io-usb using most of one core's CPU

io-usb using most of one core's CPU

For discussion of realtime and/or embedded programming.

Re: io-usb using most of one core's CPU

Postby queBurro » Tue Mar 12, 2013 4:08 pm

1) I'm using GNS to communicate with another host (the -server),

2) OK... I waited until io-usb was running at about 45% (one core's worth), ran another shell with a different priority, then slayed the io-usb process and it didn't crash this time! now the server appears ok, not sure what's going, will post back after I've managed to kill it with the pidin info. Cheers
queBurro
Active Member
 
Posts: 79
Joined: Fri Jul 30, 2010 2:05 pm

Re: io-usb using most of one core's CPU

Postby queBurro » Wed Mar 13, 2013 3:35 pm

the behaviour's changed slightly,
io-usb runs away, I slay it (from a terminal other than the one I raised priority via nice), I got about two more commands away* (a pidin, and a couple of greps, then I tried top and the terminal hung (no ping response),unfortunately the other 'niced' terminal was unresponsive as well thus it looks like a system crash rather than runaway process. So, no luck with that idea.

* - getting a couple of commands away is the new bit, it used to crash immediately.

I *do* now have a core file for the io-usb.

I'm going to try swapping my server and client gns's over and see if that makes the other host crash
queBurro
Active Member
 
Posts: 79
Joined: Fri Jul 30, 2010 2:05 pm

Re: io-usb using most of one core's CPU

Postby queBurro » Wed May 08, 2013 8:25 am

just started looking at this again...

can anyone shed light on why pci and usb commands report different numbers of USB devices? could this be why enum-usb doesn't finish?

Code: Select all
# usb -v
USB 0 (UHCI) v1.10, v1.01 DDK, v1.01 HCD
    Control, Interrupt, Bulk(SG), Isoch(Stream), Low speed, Full speed

USB 1 (UHCI) v1.10, v1.01 DDK, v1.01 HCD
    Control, Interrupt, Bulk(SG), Isoch(Stream), Low speed, Full speed

USB 2 (UHCI) v1.10, v1.01 DDK, v1.01 HCD
    Control, Interrupt, Bulk(SG), Isoch(Stream), Low speed, Full speed

USB 3 (UHCI) v1.10, v1.01 DDK, v1.01 HCD
    Control, Interrupt, Bulk(SG), Isoch(Stream), Low speed, Full speed

USB 4 (UHCI) v1.10, v1.01 DDK, v1.01 HCD
    Control, Interrupt, Bulk(SG), Isoch(Stream), Low speed, Full speed

USB 5 (EHCI) v1.10, v1.01 DDK, v1.01 HCD
    Control, Interrupt, Bulk(SG), Isoch(Stream), Full speed, High speed

USB 6 (EHCI) v1.10, v1.01 DDK, v1.01 HCD
    Control, Interrupt, Bulk(SG), Isoch(Stream), Full speed, High speed

# usb -v | grep USB | wc -l
        7
# pci -vvv | grep USB
Device ID      = 2937h,  82801I (ICH9 Family) USB UHCI Controller #4
Device ID      = 2938h,  82801I (ICH9 Family) USB UHCI Controller #5
Device ID      = 2939h,  82801I (ICH9 Family) USB UHCI Controller #6
Device ID      = 293ch,  82801I (ICH9 Family) USB2 EHCI Controller #2
Device ID      = 2934h,  82801I (ICH9 Family) USB UHCI Controller #1
Device ID      = 2935h,  82801I (ICH9 Family) USB UHCI Controller #2
Device ID      = 2936h,  82801I (ICH9 Family) USB UHCI Controller #3
Device ID      = 293ah,  82801I (ICH9 Family) USB2 EHCI Controller #1
# pci -vvv | grep USB | wc -l
        8

# enum-usb verbose
F786461
queBurro
Active Member
 
Posts: 79
Joined: Fri Jul 30, 2010 2:05 pm

Re: io-usb using most of one core's CPU

Postby Thunderblade » Wed May 08, 2013 2:49 pm

Maybe the USB controller/chipset on your board is not fully supported? Have you checked with QNX support? Have you tried a different hardware? You could also try booting in APIC mode (apic startup and pci-bios-v2) and see if it makes a difference.
Thunderblade
Senior Member
 
Posts: 487
Joined: Thu Apr 07, 2005 11:52 am

Re: io-usb using most of one core's CPU

Postby queBurro » Thu May 09, 2013 7:48 am

I've just disabled all USB devices in the bios and my original problem (runaway io-usb process) appears to have gone away but enum-usb still doesn't appear to complete even though 'usb' and 'pci' show no usb devices anymore.

Code: Select all
# pidin | grep enum-usb
   77840   1 sbin/enum-usb       10o SIGWAITINFO
   77840   2 sbin/enum-usb       10r REPLY       4101
# pidin | grep 4101
    4101   1 proc/boot/io-usb    10o SIGWAITINFO
    4101   2 proc/boot/io-usb    21r RECEIVE     1
    4101   3 proc/boot/io-usb    10o RECEIVE     4
    4101   4 proc/boot/io-usb    10r NANOSLEEP
    4101   5 proc/boot/io-usb    10o RECEIVE     4
    4102   5 proc/boot/io-hid    10r REPLY       4101
   77840   2 sbin/enum-usb       10r REPLY       4101
#
queBurro
Active Member
 
Posts: 79
Joined: Fri Jul 30, 2010 2:05 pm

Re: io-usb using most of one core's CPU

Postby Tim » Thu May 09, 2013 4:35 pm

Here's the doc's on enum-usb:

http://www.qnx.com/developers/docs/6.4. ... m-usb.html

Not sure why it's not exiting. It probably depends on it was started by enum-devices etc.

If you don't really need USB support on your machine why not just change your boot configuration so that io-usb and everything else related to usb and io-audio etc isn't started. Then you can concentrate on just getting your app to run.

Tim
Tim
Senior Member
 
Posts: 1388
Joined: Wed Mar 10, 2004 12:28 am

Re: io-usb using most of one core's CPU

Postby Thunderblade » Wed May 15, 2013 9:21 am

Why is enum-usb running anyway? Are you using the self-hosted development install for an embedded system? This is not recommended. You should consider building your own boot image and create a custom boot script, which only starts the stuff you need.
Thunderblade
Senior Member
 
Posts: 487
Joined: Thu Apr 07, 2005 11:52 am

Re: io-usb using most of one core's CPU

Postby queBurro » Wed May 15, 2013 11:02 am

@Tim, thanks, I've disabled all the USBs in the bios and although enum-usb still doesn't finish I don't get the runaway io-usb process so I'm happy.
@TB yup, that is indeed what I'm doing. I've not looked in to creating a runtime environment. Is this a difficult thing to accomplish? I've more or less got my app running now so I'm happy with the current setup.
queBurro
Active Member
 
Posts: 79
Joined: Fri Jul 30, 2010 2:05 pm

Previous

Return to Realtime and Embedded

Who is online

Users browsing this forum: No registered users and 3 guests