All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [oe-commits] Pratheesh Gangadhar : glib-2.0 2.21.4: add armv6 atomic ops, this fixes 100% utilization hangs when doing DSP based GStreamer playback
       [not found] <E1MgfbN-0005E3-EZ@melo.openembedded.org>
@ 2009-08-28 12:50 ` Marcin Juszkiewicz
  2009-08-28 13:50   ` Koen Kooi
  0 siblings, 1 reply; 2+ messages in thread
From: Marcin Juszkiewicz @ 2009-08-28 12:50 UTC (permalink / raw)
  To: openembedded-devel

Dnia czwartek, 27 sierpnia 2009 o 16:05:21 git version control napisał(a):
> Module: openembedded.git
> Branch: org.openembedded.dev
> Commit: 1eb89aacbc6830fe242eac36ba8bcb61d98807f5
> URL:  
>  http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=1eb89aacbc68
>30fe242eac36ba8bcb61d98807f5
>
> Author: Pratheesh Gangadhar <pratheesh.gangadhar@gmail.com>
> Date:   Thu Aug 27 02:51:00 2009 +0530
>
> glib-2.0 2.21.4: add armv6 atomic ops, this fixes 100% utilization hangs
> when doing DSP based GStreamer playback
>
> GLIB by default uses ARMV5 instructions for emulating atomic operations and
> this patch (derived from
> https://stage.maemo.org/svn/maemo/projects/haf/trunk/glib/debian/patches/25
>-gatomic.patch) make use ARMV6 atomic instructions instead. CPU goes into
> "sched_yield" while loop during hang - due to a race condition triggered by
>  high rate context switching while running DSP plugins.

1. Your change reverted PR from r4 (set in glib.inc) to r1
2. This is not buildable for arm <6:

| arm-angstrom-linux-gnueabi-libtool: compile:  ccache arm-angstrom-linux-gnueabi-gcc -march=armv5te -mtune=arm926ej-s -mthumb-interwork -mno-thumb -D
HAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPIL
ATION -DPCRE_STATIC -isystem/home/hrw/devel/build/angstrom/tmp/staging/armv5te-angstrom-linux-gnueabi/usr/include -DG_DISABLE_SINGLE_INCLUDES -pthread
 -isystem/home/hrw/devel/build/angstrom/tmp/staging/armv5te-angstrom-linux-gnueabi/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-
pointer -O2 -ggdb3 -Wall -mno-thumb -isystem/home/hrw/devel/build/angstrom/tmp/staging/armv5te-angstrom-linux-gnueabi/usr/include -fexpensive-optimizations -
frename-registers -fomit-frame-pointer -O2 -ggdb3 -Wall -MT libgatomic_la-gatomic.lo -MD -MP -MF .deps/libgatomic_la-gatomic.Tpo -c gatomic.c  -fPIC -DPIC -o 
.libs/libgatomic_la-gatomic.o
| /tmp/ccEqvIUs.s: Assembler messages:
| /tmp/ccEqvIUs.s:9449: Error: selected processor does not support `ldrex r0,[r2]'
| /tmp/ccEqvIUs.s:9451: Error: selected processor does not support `strex r3,ip,[r2]'
| /tmp/ccEqvIUs.s:9477: Error: selected processor does not support `ldrex r2,[r0]'
| /tmp/ccEqvIUs.s:9479: Error: selected processor does not support `strex r3,r2,[r0]'
| /tmp/ccEqvIUs.s:9504: Error: selected processor does not support `ldrex r3,[r0]'
| /tmp/ccEqvIUs.s:9507: Error: selected processor does not support `strexeq ip,r2,[r0]'
| /tmp/ccEqvIUs.s:9532: Error: selected processor does not support `ldrex r3,[r0]'
| /tmp/ccEqvIUs.s:9535: Error: selected processor does not support `strexeq ip,r2,[r0]'
| /tmp/ccEqvIUs.s:9577: Error: selected processor does not support `ldrex r3,[r0]'
| /tmp/ccEqvIUs.s:9578: Error: selected processor does not support `strex r3,r1,[r0]'
| /tmp/ccEqvIUs.s:9620: Error: selected processor does not support `ldrex r3,[r0]'
| /tmp/ccEqvIUs.s:9621: Error: selected processor does not support `strex r3,r1,[r0]'
| make[4]: *** [libgatomic_la-gatomic.lo] Error 1
| make[4]: *** Waiting for unfinished jobs....



Regards, 
-- 
JID:      hrw@jabber.org
Website:  http://marcin.juszkiewicz.com.pl/
LinkedIn: http://www.linkedin.com/in/marcinjuszkiewicz





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

* Re: [oe-commits] Pratheesh Gangadhar : glib-2.0 2.21.4: add armv6 atomic ops, this fixes 100% utilization hangs when doing DSP based GStreamer playback
  2009-08-28 12:50 ` [oe-commits] Pratheesh Gangadhar : glib-2.0 2.21.4: add armv6 atomic ops, this fixes 100% utilization hangs when doing DSP based GStreamer playback Marcin Juszkiewicz
@ 2009-08-28 13:50   ` Koen Kooi
  0 siblings, 0 replies; 2+ messages in thread
From: Koen Kooi @ 2009-08-28 13:50 UTC (permalink / raw)
  To: openembedded-devel

On 28-08-09 14:50, Marcin Juszkiewicz wrote:
> Dnia czwartek, 27 sierpnia 2009 o 16:05:21 git version control napisał(a):
>> Module: openembedded.git
>> Branch: org.openembedded.dev
>> Commit: 1eb89aacbc6830fe242eac36ba8bcb61d98807f5
>> URL:
>>   http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=1eb89aacbc68
>> 30fe242eac36ba8bcb61d98807f5
>>
>> Author: Pratheesh Gangadhar<pratheesh.gangadhar@gmail.com>
>> Date:   Thu Aug 27 02:51:00 2009 +0530
>>
>> glib-2.0 2.21.4: add armv6 atomic ops, this fixes 100% utilization hangs
>> when doing DSP based GStreamer playback
>>
>> GLIB by default uses ARMV5 instructions for emulating atomic operations and
>> this patch (derived from
>> https://stage.maemo.org/svn/maemo/projects/haf/trunk/glib/debian/patches/25
>> -gatomic.patch) make use ARMV6 atomic instructions instead. CPU goes into
>> "sched_yield" while loop during hang - due to a race condition triggered by
>>   high rate context switching while running DSP plugins.
>
> 1. Your change reverted PR from r4 (set in glib.inc) to r1

I overlooked that when reviewing, sorry

> 2. This is not buildable for arm<6:
>
> | arm-angstrom-linux-gnueabi-libtool: compile:  ccache arm-angstrom-linux-gnueabi-gcc -march=armv5te -mtune=arm926ej-s -mthumb-interwork -mno-thumb -D
> HAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPIL
> ATION -DPCRE_STATIC -isystem/home/hrw/devel/build/angstrom/tmp/staging/armv5te-angstrom-linux-gnueabi/usr/include -DG_DISABLE_SINGLE_INCLUDES -pthread
>   -isystem/home/hrw/devel/build/angstrom/tmp/staging/armv5te-angstrom-linux-gnueabi/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-
> pointer -O2 -ggdb3 -Wall -mno-thumb -isystem/home/hrw/devel/build/angstrom/tmp/staging/armv5te-angstrom-linux-gnueabi/usr/include -fexpensive-optimizations -
> frename-registers -fomit-frame-pointer -O2 -ggdb3 -Wall -MT libgatomic_la-gatomic.lo -MD -MP -MF .deps/libgatomic_la-gatomic.Tpo -c gatomic.c  -fPIC -DPIC -o
> .libs/libgatomic_la-gatomic.o
> | /tmp/ccEqvIUs.s: Assembler messages:
> | /tmp/ccEqvIUs.s:9449: Error: selected processor does not support `ldrex r0,[r2]'
> | /tmp/ccEqvIUs.s:9451: Error: selected processor does not support `strex r3,ip,[r2]'
> | /tmp/ccEqvIUs.s:9477: Error: selected processor does not support `ldrex r2,[r0]'
> | /tmp/ccEqvIUs.s:9479: Error: selected processor does not support `strex r3,r2,[r0]'
> | /tmp/ccEqvIUs.s:9504: Error: selected processor does not support `ldrex r3,[r0]'
> | /tmp/ccEqvIUs.s:9507: Error: selected processor does not support `strexeq ip,r2,[r0]'
> | /tmp/ccEqvIUs.s:9532: Error: selected processor does not support `ldrex r3,[r0]'
> | /tmp/ccEqvIUs.s:9535: Error: selected processor does not support `strexeq ip,r2,[r0]'
> | /tmp/ccEqvIUs.s:9577: Error: selected processor does not support `ldrex r3,[r0]'
> | /tmp/ccEqvIUs.s:9578: Error: selected processor does not support `strex r3,r1,[r0]'
> | /tmp/ccEqvIUs.s:9620: Error: selected processor does not support `ldrex r3,[r0]'
> | /tmp/ccEqvIUs.s:9621: Error: selected processor does not support `strex r3,r1,[r0]'
> | make[4]: *** [libgatomic_la-gatomic.lo] Error 1
> | make[4]: *** Waiting for unfinished jobs....

That's weird, since that's all wrapped in 'if G_ATOMIC_ARM > 6', but I 
made the patch armv6 and armv7 only to be really sure. Thanks for 
finding this issue.

regards,

Koen




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

end of thread, other threads:[~2009-08-28 14:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1MgfbN-0005E3-EZ@melo.openembedded.org>
2009-08-28 12:50 ` [oe-commits] Pratheesh Gangadhar : glib-2.0 2.21.4: add armv6 atomic ops, this fixes 100% utilization hangs when doing DSP based GStreamer playback Marcin Juszkiewicz
2009-08-28 13:50   ` Koen Kooi

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.