All of lore.kernel.org
 help / color / mirror / Atom feed
* Why won't my app use multiple threads under 'valleyisland'?
@ 2014-07-24 20:45 Chris Tapp
  2014-07-25  0:44 ` OpenSSL 1.0.0m Mark Evans
  2014-07-29 15:41 ` [meta-intel] Why won't my app use multiple threads under 'valleyisland'? Darren Hart
  0 siblings, 2 replies; 6+ messages in thread
From: Chris Tapp @ 2014-07-24 20:45 UTC (permalink / raw)
  To: Yocto Project, meta-intel

I've got a recipe for an application. This has:

1) A main thread;
2) An OpenGL ('X' / EGL) graphics rendering thread created using posix threads;
3) As many threads as required from the graphics thread for GStreamer to service various pipelines.

On a Cedartrail platform this happily uses multiple cores.

However, if I use the same recipe under a 64-bit valleyisland build (daisy) it only ever uses a single core (and virtually grinds to a halt).

'top' shows CPU usage for the application never goes above 25% (J1900, so four cores available). Running four instances of 'yes' gets the total CPU usage to 100%, so all the cores are available.

'taskset' shows that the affinity mask for the application is not restricting the set of available cores.

Umm... Any ideas what's going on here?

It looks as if GStreamer and OpenGL are fighting for access to something, but the pipelines only render to 'fakesink' and 'appsink'.

Chris Tapp

opensource@keylevel.com
www.keylevel.com





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-07-30 22:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-24 20:45 Why won't my app use multiple threads under 'valleyisland'? Chris Tapp
2014-07-25  0:44 ` OpenSSL 1.0.0m Mark Evans
2014-07-25  0:51   ` Khem Raj
2014-07-25  1:46     ` Mark Evans
2014-07-29 15:41 ` [meta-intel] Why won't my app use multiple threads under 'valleyisland'? Darren Hart
2014-07-30 22:14   ` Chris Tapp

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.