CPU loading issue

Dan Williams dcbw at redhat.com
Wed Jun 10 07:18:40 PDT 2015


On Tue, 2015-06-09 at 20:31 +0000, Marc Murphy wrote:
> Hi Dan,
> I am using an embedded platform and after a bit of fiddling I have built the package and used it.
> 
> Trace attached.

Thanks; that gets us further since the two functions that are getting
called all the time are "match" and "pcre_exec".  Unfortunately that
doesn't tell us *which* regex this is...  Aleksander, any ideas?

Dan

> Thanks
> Marc
> 
> -----Original Message-----
> From: Dan Williams [mailto:dcbw at redhat.com] 
> Sent: 09 June 2015 18:37
> To: Marc Murphy
> Cc: 'modemmanager-devel at lists.freedesktop.org'
> Subject: Re: CPU loading issue
> 
> On Tue, 2015-06-09 at 16:36 +0000, Marc Murphy wrote:
> > Hello All,
> > I am using ModemManager to perform GPS logging and it works really well with most modems.
> > 
> > I have a SierraWireless MC7710 and that works beautifully with qmi and logging.
> > I also have a Huawei MU609 and that works but something slowly causes ModemManager to consume 100% CPU.
> > We would really like to get the MU609 to work with ModemManager as the price difference is huge and makes the modem viable for low cost.
> > 
> > The MC7710 will sit there all day at about 0.7% CPU which is brilliant
> >   PID USER      PR  NI    VIRT    RES %CPU %MEM     TIME+ S COMMAND
> > 1015 root      20   0   37.8m   6.1m  0.7   1.2   0:12.85 S  `- ModemManager
> > 
> > The MU609 creeps up 
> >   PID USER      PR  NI    VIRT    RES %CPU %MEM     TIME+ S COMMAND
> > 1009 root      20   0   37.8m   5.2m  0.0  1.1   0:05.14 S  `- ModemManager
> > 1009 root      20   0   37.8m   5.2m  1.3  1.1   0:05.16 S  `- ModemManager
> > 1009 root      20   0   37.8m   5.2m  4.6  1.1   0:05.23 S  `- ModemManager
> > 1009 root      20   0   37.8m   5.2m  1.3  1.1   0:05.25 S  `- ModemManager
> > up 9 min
> > 1009 root      20   0   37.8m   5.3m  4.6  1.1   0:15.22 S  `- ModemManager
> > 1009 root      20   0   37.8m   5.3m  9.9  1.1   0:15.37 S  `- ModemManager
> > 1009 root      20   0   37.8m   5.3m  5.3  1.1   0:15.45 S  `- ModemManager
> > 1009 root      20   0   37.8m   5.3m  9.9  1.1   0:15.60 S  `- ModemManager
> > up 21 min
> > 1009 root      20   0   37.9m   5.4m 20.5  1.1   1:20.14 S  `- ModemManager
> > 1009 root      20   0   37.9m   5.4m 10.5  1.1   1:20.30 S  `- ModemManager
> > 1009 root      20   0   37.9m   5.4m 21.2  1.1   1:20.62 S  `- ModemManager
> > up 38 min
> > 1009 root      20   0   38.0m   5.4m 47.7  1.1   9:49.07 R  `- ModemManager
> > 1009 root      20   0   38.0m   5.4m 78.9  1.1   9:51.02 R  `- ModemManager
> > 1009 root      20   0   38.0m   5.4m 81.1  1.1   9:52.95 R  `- ModemManager
> > 1009 root      20   0   38.0m   5.4m 79.5  1.1   9:54.85 R  `- ModemManager
> > 1009 root      20   0   38.0m   5.4m 81.1  1.1   9:56.78 R  `- ModemManager
> > 
> > Im wondering where is the best place to look at where the issue could be ?
> > 
> > Is there a processing loop that could be getting stuck ?
> 
> If you can install the sysprof package for your distro, then you can get a great idea of where things are actually taking time.  If you can, install ModemManager and glib debuginfo.  Then get ModemManager into the CPU hogging state and run:
> 
> sudo sysprof-cli /tmp/hogging.prof
> 
> Let it run for about 30 or 45 seconds, then hit Ctl+C and mail that file to us or the list.  It will show what functions in all programs and the kernel are using CPU time, and allow us to narrow down the culprit to either MM or the kernel drivers.
> 
> Dan
> 




More information about the ModemManager-devel mailing list