Spun Linaro GCC 4.6 release tarball, uploaded it to Michael's server,
and launched the testing.
Continued work on constant reuse optimization. I've now eliminated some
more false positives caused by inconsistent rtx_cost results. It turns
out the pass also fixes up inefficient constants generated by
arm_split_constants, which is nice.
Set yet more spec benchmark runs going as part of the generic tuning
investigation.
Other:
Half day Monday to recover from the weekend's travel.
Half day on internal Mentor activities.
== GDB ==
* Worked on support for cross-platform core file generation.
After some discussion on the mailing list it seems we've
come to an agreement that the remote protocol ought to have
two separate packets related to memory layout, one that
describes the permanent, system-wide layout (for embedded
systems) and one that describes the dynamic, per-process
layout (for processes with memory-mapped files). The latter
also ought to be integrated with the "info proc mappings"
command, which should work with gdbserver too.
I've been working on updating the patches accordingly.
== GCC ==
* Patch review week.
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand | Phone: +49-7031/16-3727
STSM, GNU compiler and toolchain for Linux on System z and Cell/B.E.
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter | Geschäftsführung: Dirk
Wittkopp
Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht
Stuttgart, HRB 243294
Testing the SMS register pressure estimation on libav micro benchmarks
and eembc.
Discussed with Ayal the implementation. He had some ideas to consider
regarding the it.
Looking into the regressions of SMSed kernels in libav which are not
related to register pressure:
Consulting with Ayal regarding the case in dsputil-ssd_int8_vs_int16_c
where we have severe regression with SMS; it seemed that the
regression was due to dependence between accumulations that can be
avoided, more specifically we had the following case in vector code:
vec1 = vec1 + ...
...
vec1 = vec1+ ...
...
vec1 = vec1+ ...
...
vec1 = vec1+...
to resolve this, I implemented a hack similar to MVE optimiation in
the loop-unroller as follows:
vec1 = vec1 + ...
...
vec2 = vec2+ ...
...
vec3 = vec3+ ...
...
vec4 = vec4+...
This gives ~4.5% improvements to the non-SMSed version. The SMS
version now shows no regression as the problematic loop which caused
the regression now failed to be SMSed and I'm looking into the reason.
Another regression showed in idct-internal-8 is apparently related to
the do-loop optimziation (SMS actually failed to be applied in this
loop). when applying the patch to expand SMS to recognise doloop then
the regression is resolved.
(http://gcc.gnu.org/ml/gcc-patches/2011-09/msg02051.html; patch is not
in mainline yet)
Summary:
* Add expat and ncurses support for gdb-cross.
* Rebase and create patches for crosstool-ng upstream.
* Compare configurations difference between crosstool-ng and embedded toolchain.
Details:
* Add expat and ncurses support for gdb cross. At this time, all the
packages can be built for both Linux and Mingw32 host with baremetal
target.
* Rebase and create patches for crosstool-ng upstream. Patches are
sent to Michael for review.
* Compare configurations difference between crosstool-ng and embedded
toolchain. To align the configuration, crosstool-ng
* need (not necessary) --disable-nls for companion libs.
* need make document.
* need add --enable-newlib-register-fini config and enhance
CFLAGS_FOR_TARGET for newlib.
* need --disable-sim for gdb.
* need multilib support (Can workaround for current implementation.
Need improvement when it is fully supported).
Thanks!
-Zhenqiang
== 64 bit atomics ==
* Nailed one more of the membase tests; again this was a test
harness race condition (which I've reported here:
http://code.google.com/p/moxi/issues/detail?id=2&thanks=2&ts=1321037460 )
In this case there were two calls to write) performed on the
server, yet the test client performed a single read and
compared the result to what it was expecting; and got lucky on x86 and
about half the time on ARM in that the
server data managed to all get read by the 1st read.
I think this leaves one more case - that I've seen rarely.
== Qemu ==
* Tested Peter's 11.11 pre release; ran into a couple of issues
(vexpress without sound causing hangs, and
the Linaro 11.10 Beagle and Overo images not running X). Also
filed a couple of bugs in l-i-f-ui that
I tripped over while testing it.
== String routines ==
* The new newlib A15 optimised memcpy is slower on an A9 than my
routines; posted to newlib list
asking what the normal way of dealing with a bunch of different
routines is. Would it make sense to get
gcc to define a GCC_ARM_TUNE_CORTEX_A-whatever ?
== Other ==
* Watched the Youtube video of the Kernel/Toolchain discussion -
for those who didn't attend,
I'd encourage a check of the Youtube videos, they're pretty nicely done.
* Got pulled away on non-Linaro work for about half the week.
Dave
Hi,
Android:
* managed to remotely debug a system process (like debuggerd) using
gdbserver
libunwind:
* found an error when unwinding via DWARF debug frames when
configured for REMOTE_ONLY
* discussions on the me revealed that libunwind-ptrace should not be
compiled for REMOTE_ONLY case at all (it was intended for host!=target)
* this means that our current build approach on Android needs to be
changed in the future
Misc:
* internal meetings
Regards
Ken
RAG:
Red:
Amber: upstream-omap3-cleanup stalled, not clear whether we're going
to have any time for it this quarter
Green:
Current Milestones:
|| || Planned || Estimate || Actual ||
||upstream-omap3-cleanup || 2011-11-10 || 2011-11-10 || ||
(Future milestones to be added once post-Connect planning is completed.)
Historical Milestones:
||add-omap3-networking || 2011-10-13 || 2011-10-13 || 2011-10-13 ||
||a15-systemmode-planning || 2011-10-13 || 2011-10-13 || 2011-09-22 ||
||a15-usermode-support || 2011-11-10 || 2011-11-10 || 2011-10-27 ||
== linaro-qemu-11.11 ==
* 2011.11 release: tarball built, tested and released
== other ==
* nailing down A15/KVM work we're going to do this quarter
* usual upstream code review/etc
* sent patches upstream to fix some easy bugs somebody found
running Coverity on QEMU's source code
Hi!
* Ran EEMBC and SPEC on the ursa4. Sorted out a bunch of basic questions
related to permissions ans such with Michael. Familiarized myself with the
scripts for parsing benchmark results.
* Created wiki for running benchmarks in cbuild. It is in my sandbox right
now: https://wiki.linaro.org/AsaSandahl/Sandbox/RunningBenchmark
* Started off SPEC runs for comparing the "train" and "ref" data sets. We
want to know if the changes between variants are the same for the two sets.
Best regards
Åsa
The Linaro Toolchain Working Group is pleased to announce the
release of Linaro QEMU 2011.11.
Linaro QEMU 2011.11 is the latest monthly release of
qemu-linaro. Based off upstream (trunk) QEMU, it includes a
number of ARM-focused bug fixes and enhancements.
New in this month's release:
- The ARM vexpress-a9, versatilepb, versatileab and realview-*
boards now have audio support (thanks to Mathieu Sonet who
contributed a PL041 implementation upstream)
- Support for multiple instances of the "-sd" option on the
command line has been dropped; this was never present in
upstream QEMU and has been removed for consistency. Use
"-drive,if=sd,index=N,file=file.img" for N=0,1,2... instead
- Fixes #886980: 8 and 16 bit reads from the OMAP GPIO module
would crash due to an infinite recursion
- Fixes #823902: problems running multithreaded programs in
linux-user mode
Known issues:
- Graphics do not work for OMAP3 based models (beagle, overo)
with 11.10 Linaro images.
NB: if you run QEMU on a host system without properly configured
audio you might find that QEMU now hangs at some point; you can
fix this by fixing your host system, or work around it by setting
the environment variable QEMU_AUDIO_DRV=none.
If you build from source you may now want to pass configure
a suitable --audio-drv-list=LIST option.
The source tarball is available at:
https://launchpad.net/qemu-linaro/+milestone/2011.11
Binary builds of this qemu-linaro release are being prepared and
will be available shortly for users of Ubuntu. Packages will be in
the linaro-maintainers tools ppa:
https://launchpad.net/~linaro-maintainers/+archive/tools/
More information on Linaro QEMU is available at:
https://launchpad.net/qemu-linaro