OSDN Git Service
Jorim Jaggi [Wed, 18 Jan 2017 16:47:36 +0000 (16:47 +0000)]
Revert "property_contexts: split into platform and non-platform components" am:
e2f5ea14c5
am:
860a1db8fd
Change-Id: I98f7277d7f8e4f3eb6474ec62f82a80fbf63f1b4
Jorim Jaggi [Wed, 18 Jan 2017 16:41:36 +0000 (16:41 +0000)]
Revert "property_contexts: split into platform and non-platform components"
am:
e2f5ea14c5
Change-Id: I9a794b93b077791ce46016cb9f8965a52c98b88e
Jorim Jaggi [Wed, 18 Jan 2017 15:37:18 +0000 (15:37 +0000)]
Revert "property_contexts: split into platform and non-platform components"
This reverts commit
8213615461f7d39620e44f73980acc6107c76ac7.
Change-Id: Id2982eafadc5d1c307b60c1f8abe78df8dc8b82e
Sandeep Patil [Wed, 18 Jan 2017 06:21:38 +0000 (06:21 +0000)]
Merge "property_contexts: split into platform and non-platform components" am:
0b6d0a8b38
am:
dbfa403a75
Change-Id: I66db487ba16d0fcad7a5c67385c69de05419e07f
Sandeep Patil [Wed, 18 Jan 2017 06:16:51 +0000 (06:16 +0000)]
property_contexts: split into platform and non-platform components am:
8213615461
am:
045ba4b249
Change-Id: Ie92f9de186e3ff723e67ee17f4d6224569dee65f
Sandeep Patil [Wed, 18 Jan 2017 06:16:50 +0000 (06:16 +0000)]
Merge "property_contexts: split into platform and non-platform components"
am:
0b6d0a8b38
Change-Id: I10c9caa9f85f21e681b8ab02cd3ea5e8ef489eb0
Sandeep Patil [Wed, 18 Jan 2017 06:12:19 +0000 (06:12 +0000)]
property_contexts: split into platform and non-platform components
am:
8213615461
Change-Id: Ifa1bb1e295cef8ecf74a4a4702114a88f3e6859e
Treehugger Robot [Wed, 18 Jan 2017 06:09:02 +0000 (06:09 +0000)]
Merge "property_contexts: split into platform and non-platform components"
Elliott Hughes [Sat, 14 Jan 2017 18:38:50 +0000 (18:38 +0000)]
Merge "linker: convert 'mov pc' instruction to 'bx'" am:
8d0e0d4952
am:
3fecb76551
Change-Id: Ia0d5a55bfbf555b17e56167ffc53d291d8397bbc
Elliott Hughes [Sat, 14 Jan 2017 18:35:50 +0000 (18:35 +0000)]
Merge "linker: convert 'mov pc' instruction to 'bx'"
am:
8d0e0d4952
Change-Id: I8664911d4c068c9c719f85e44b7a5ac99670581f
Elliott Hughes [Sat, 14 Jan 2017 18:30:09 +0000 (18:30 +0000)]
Merge "linker: convert 'mov pc' instruction to 'bx'"
Park Ju Hyung [Thu, 12 Jan 2017 20:52:06 +0000 (05:52 +0900)]
linker: convert 'mov pc' instruction to 'bx'
From Linux 3.17
6ebbf2ce437b33022d30badd49dc94d33ecfa498:
ARMv6 and greater introduced a new instruction ("bx") which can be used
to return from function calls. Recent CPUs perform better when the
"bx lr" instruction is used rather than the "mov pc, lr" instruction,
and this sequence is strongly recommended to be used by the ARM
architecture manual (section A.4.1.1).
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Test: No regressions detected
Test: Passes full CTS run
Change-Id: Ie268f9893e3df0f68fbfe82a13f3c7cc5c5909d8
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
Yabin Cui [Sat, 14 Jan 2017 02:27:04 +0000 (02:27 +0000)]
Merge "Switch bionic-unit-tests to libc++_static." am:
37f1d11482
am:
820c7fae07
Change-Id: I2cff12af37fa0888246498c91deda74cd92e4d1a
Yabin Cui [Sat, 14 Jan 2017 02:24:35 +0000 (02:24 +0000)]
Merge "Switch bionic-unit-tests to libc++_static."
am:
37f1d11482
Change-Id: Ie427d277e5f1997a170e90cf98846cf1244d7a84
Yabin Cui [Sat, 14 Jan 2017 02:20:19 +0000 (02:20 +0000)]
Merge "Switch bionic-unit-tests to libc++_static."
Elliott Hughes [Fri, 13 Jan 2017 21:18:29 +0000 (21:18 +0000)]
Merge "Describe our dynamic linker compatibility policy." am:
98d200899b
am:
b74e48c4d6
Change-Id: Id608d6597a29a6a16224bb865364e8393d570e60
Elliott Hughes [Fri, 13 Jan 2017 21:16:00 +0000 (21:16 +0000)]
Merge "Describe our dynamic linker compatibility policy."
am:
98d200899b
Change-Id: I247f8d16edb201e251670e699a3a16244a4e510e
Elliott Hughes [Fri, 13 Jan 2017 21:12:14 +0000 (21:12 +0000)]
Merge "Describe our dynamic linker compatibility policy."
Yabin Cui [Fri, 13 Jan 2017 20:31:59 +0000 (12:31 -0800)]
Switch bionic-unit-tests to libc++_static.
Bug: http://b/
27549327
Test: run bionic-unit-tests, bionic-unit-tests-glibc.
Change-Id: I719899624dec83728a3d5b8169079e5c91c63c04
Elliott Hughes [Fri, 13 Jan 2017 19:07:00 +0000 (11:07 -0800)]
Describe our dynamic linker compatibility policy.
Bug: N/A
Test: N/A
Change-Id: I6f472d1ab22636de74fd103e9a480fb1ab51e314
Pavel Labath [Fri, 13 Jan 2017 10:27:15 +0000 (10:27 +0000)]
Merge "Beef up process_vm_readv/writev tests" am:
a970ac50d1
am:
8557ee78ec
Change-Id: I8bfb670a70fcd1f9c46525388a0d5a814a02777e
Pavel Labath [Fri, 13 Jan 2017 10:24:46 +0000 (10:24 +0000)]
Merge "Beef up process_vm_readv/writev tests"
am:
a970ac50d1
Change-Id: Ic1628705232788fdd871c0e91afe933707a15169
Pavel Labath [Fri, 13 Jan 2017 10:21:31 +0000 (10:21 +0000)]
Merge "Beef up process_vm_readv/writev tests"
Pavel Labath [Thu, 12 Jan 2017 11:56:39 +0000 (11:56 +0000)]
Beef up process_vm_readv/writev tests
LLDB uses process_vm_readv quite extensively (it's an order of
magnitude faster than PTRACE_PEEKDATA). Add a bit more tests of
the function to make sure it stays working.
Change-Id: I64e17e6d56842f118a9485e3a18f42ca5e1b7577
Test: run the new test
Elliott Hughes [Thu, 12 Jan 2017 23:28:04 +0000 (23:28 +0000)]
Merge "localtime_r(3) should act as if it calls tzset(3)." am:
1b2975d54b
am:
e767a92c57
Change-Id: I16eed5cb28e1df287f748d0028f8198f2861b428
Elliott Hughes [Thu, 12 Jan 2017 23:23:34 +0000 (23:23 +0000)]
Merge "localtime_r(3) should act as if it calls tzset(3)."
am:
1b2975d54b
Change-Id: I85c99ed325efbd119b5a7513b4cd997f9dc6b5aa
Elliott Hughes [Thu, 12 Jan 2017 23:19:50 +0000 (23:19 +0000)]
Merge "localtime_r(3) should act as if it calls tzset(3)."
Chitti Babu Theegala [Thu, 12 Jan 2017 18:44:16 +0000 (18:44 +0000)]
Fix streaming(memcpy) performance on Cortex-A7
am:
b7ec7cac7d
Change-Id: Ie82fd9c00bf072252e6b5a3e42a36a01531bb489
Christopher Ferris [Thu, 12 Jan 2017 18:44:13 +0000 (18:44 +0000)]
Add cortex-a7 specific routines.
am:
8402b42312 -s ours
Change-Id: I4e2e7919270dc41365a64c4afa2f1d923b9407bb
Josh Gao [Thu, 12 Jan 2017 00:14:54 +0000 (00:14 +0000)]
Merge "Improve fmemopen tests." am:
27fa754287
am:
bbacec3f5d
Change-Id: I9a4fd254094c06efa21a0808b3c2ae73bfcc9e97
Josh Gao [Thu, 12 Jan 2017 00:09:24 +0000 (00:09 +0000)]
Merge "Improve fmemopen tests."
am:
27fa754287
Change-Id: Ie62d2d2850fc4dee566317d5e0fcde54693694a1
Chitti Babu Theegala [Thu, 15 Dec 2016 20:43:28 +0000 (02:13 +0530)]
Fix streaming(memcpy) performance on Cortex-A7
Stream-mode detection for L1 in A7-core is failing for
non cache-line-size (non 64 byte) aligned addresses.
This leads to destination data getting cached unnecessarily.
This A7 issue is confirmed by ARM
This issue is solved by aligning destination address to 64 byte before
entering the loop in memcpy routine.
Though we get lower score for micro_bench memcpy when L1 cache is bypassed,
it is desirable since it avoids unnecessary eviction of other process data
from L1 which is good for overall system performance.
Higher micro_bench memcpy numbers for < 64byte alignment shows good numbers
but this is at the cost of L1 cache pollution. During memcpy/memset,
unnecessary data is filled in L1 cache, this causes eviction of other
process data from L1.
For example during msmset(0), L1 cache gets filled with 0s which should be
avoided.
Additionally, there is another issue with cortex A7 that impacts performance
for all alignments / all Android Wear versions:
Store Buffer on A7 is 32 byte which limits the 32-byte back to back stores.
In the current implementation back to back 32bytes writes is causing CPU stalls.
This issue can be solved by interleaved Loads and Stores.
This helps in avoiding CPU stalls during memcpy by utilizing efficiently the
A7 internal load and store buffers.
Bug:
31917556
Change-Id: Ie5f12f2bb5d86f627686730416279057e4f5f6d0
(cherry picked from commit
cbfdc7f9054e0bc8071aaf3a70afc00273a8a869)
Josh Gao [Wed, 11 Jan 2017 23:59:01 +0000 (23:59 +0000)]
Merge "Improve fmemopen tests."
Elliott Hughes [Wed, 11 Jan 2017 22:34:16 +0000 (14:34 -0800)]
localtime_r(3) should act as if it calls tzset(3).
See code comment.
Bug: http://b/
31339449
Test: ran tests & benchmarks
Change-Id: I6b6a63750ef41664dc4698207e6a53e77cc28cdf
Josh Gao [Wed, 11 Jan 2017 22:43:36 +0000 (22:43 +0000)]
Merge "Add support for expected failures to gtest runner." am:
94ea19895c
am:
6b767b91cc
Change-Id: I792f935c1e7571ad7ccd8c904fe0d310d6ae08ab
Josh Gao [Wed, 11 Jan 2017 22:38:08 +0000 (22:38 +0000)]
Merge "Add support for expected failures to gtest runner."
am:
94ea19895c
Change-Id: I91e4f3673d6715326a2f1a43937343e59e15048c
Treehugger Robot [Wed, 11 Jan 2017 22:32:17 +0000 (22:32 +0000)]
Merge "Add support for expected failures to gtest runner."
Josh Gao [Tue, 10 Jan 2017 21:00:37 +0000 (13:00 -0800)]
Improve fmemopen tests.
Tag fmemopen_NULL as a known failure, and make it reliably fail by
memsetting the buffer we read to.
Bug: http://b/
33251022
Test: bionic-unit-tests/bionic-unit-tests64 on bullhead
Test: bionic-unit-tests-glibc --gtest_filter="*memopen*"
Change-Id: I381783282359851c9de47146dafbb5a291960c2a
Dimitry Ivanov [Wed, 11 Jan 2017 02:08:21 +0000 (02:08 +0000)]
Merge "Hide __system_property_add/update, deprecate find_nth" am:
907fcc98b2
am:
ee062c3577
Change-Id: Ife3992252e7d979772126ee806fdd3f2957508a1
Dimitry Ivanov [Wed, 11 Jan 2017 02:03:20 +0000 (02:03 +0000)]
Merge "Hide __system_property_add/update, deprecate find_nth"
am:
907fcc98b2
Change-Id: I68bbcf32432de9dba91116faae981701e122dbaa
Treehugger Robot [Wed, 11 Jan 2017 01:57:56 +0000 (01:57 +0000)]
Merge "Hide __system_property_add/update, deprecate find_nth"
Dimitry Ivanov [Mon, 9 Jan 2017 19:05:52 +0000 (11:05 -0800)]
Hide __system_property_add/update, deprecate find_nth
These functions are supposed to be used only by the
property service.
__system_property_find_nth is deprecated and no longer part
of NDK. Call to this function will result in abort for apps
targeting Android O.
Bug: http://b/
34114501
Test: bionic-unit-tests --gtest_filter=prop*
Change-Id: I9846965bf248e2ddf45cd7b293618245bbd87145
Josh Gao [Tue, 10 Jan 2017 00:43:33 +0000 (16:43 -0800)]
Add support for expected failures to gtest runner.
Bug: http://b/
33251022
Test: manually added tests that unexpectedly failed
Test: bionic-unit-tests/bionic-unit-tests64 on bullhead
Change-Id: Ie9aef80014b9fd6512b68f0e42abc298732a9b6e
Christopher Ferris [Mon, 28 Nov 2016 19:09:49 +0000 (11:09 -0800)]
Add cortex-a7 specific routines.
Test: Changed angler target to use cortex-a7 and I compiled.
Test: Booted this version on angler and ran bionic-unit-tests.
Bug:
31917556
Change-Id: Ice7f6ea38a2569582161a8e659d7877918c1a45a
(cherry picked from commit
ecebb49ac636b90b3db48b7375c26c07c95fd104)
Christopher Ferris [Tue, 10 Jan 2017 18:52:51 +0000 (18:52 +0000)]
Merge "Fix streaming(memcpy) performance on Cortex-A7" am:
0625beb270
am:
7373d2ed3d
Change-Id: I9c1bdbab92815d05cb5bfd01bc930cb9a1523a5f
Christopher Ferris [Tue, 10 Jan 2017 18:47:45 +0000 (18:47 +0000)]
Merge "Fix streaming(memcpy) performance on Cortex-A7"
am:
0625beb270
Change-Id: I24340a1b7d9e93505abf517e4ecc24175c58a164
Christopher Ferris [Tue, 10 Jan 2017 18:41:14 +0000 (18:41 +0000)]
Merge "Fix streaming(memcpy) performance on Cortex-A7"
Elliott Hughes [Tue, 10 Jan 2017 01:28:05 +0000 (01:28 +0000)]
Merge "Revert "Revert "move android_ids into bionic""" am:
940d460f59
am:
5720f1d55f
Change-Id: I688a8f734e891724545b17f25b222b05e38a7f39
Elliott Hughes [Tue, 10 Jan 2017 01:27:57 +0000 (01:27 +0000)]
Revert "Revert "move android_ids into bionic"" am:
3f6eee9793
am:
45be5dfe98
Change-Id: I56b1f2a8c10310d4ac54b0cb8a18951be6ef8bba
Elliott Hughes [Tue, 10 Jan 2017 01:23:34 +0000 (01:23 +0000)]
Merge "Revert "Revert "move android_ids into bionic"""
am:
940d460f59
Change-Id: Id5e500e39cd544fab4398318ff48289764af1e59
Elliott Hughes [Tue, 10 Jan 2017 01:23:26 +0000 (01:23 +0000)]
Revert "Revert "move android_ids into bionic""
am:
3f6eee9793
Change-Id: I6a65710f926a76e48705fa4594f479f5d48df068
Elliott Hughes [Tue, 10 Jan 2017 01:15:29 +0000 (01:15 +0000)]
Merge "Revert "Revert "move android_ids into bionic"""
Elliott Hughes [Tue, 10 Jan 2017 00:53:50 +0000 (00:53 +0000)]
Merge "Dynamic linker errors should go to stderr." am:
74e1fe1cc0
am:
01a8e5bce3
Change-Id: Id029e9db75957d9d8572915f6122e81c5ac2bebb
Elliott Hughes [Tue, 10 Jan 2017 00:48:20 +0000 (00:48 +0000)]
Merge "Dynamic linker errors should go to stderr."
am:
74e1fe1cc0
Change-Id: I045e0116e73a69989e80d8bd281d38ee6c5112b9
Elliott Hughes [Tue, 10 Jan 2017 00:43:38 +0000 (00:43 +0000)]
Merge "Dynamic linker errors should go to stderr."
Sandeep Patil [Wed, 28 Dec 2016 01:37:44 +0000 (17:37 -0800)]
property_contexts: split into platform and non-platform components
Bug:
33746484
Test: Successfully boot with original service and property contexts.
Test: Successfully boot with split serivce and property contexts.
Change-Id: Id1acb8c4273c6f93396e8cf7a063571a2bf08786
Signed-off-by: Sandeep Patil <sspatil@google.com>
Elliott Hughes [Mon, 9 Jan 2017 22:39:44 +0000 (14:39 -0800)]
Dynamic linker errors should go to stderr.
Also add the missing \n to the end of the error.
Addresses review comment.
Bug: N/A
Test: manual
Change-Id: I7c997a71e6e02381d21ac762595ba90370db9d05
Elliott Hughes [Mon, 9 Jan 2017 22:38:12 +0000 (22:38 +0000)]
Merge "Exit rather than abort if asked to run a non-PIE executable." am:
71952ef625
am:
87e114bb7f
Change-Id: Id3ea80a163a9000073ab6a1d74ca675f3078d7c7
Elliott Hughes [Mon, 9 Jan 2017 22:33:13 +0000 (22:33 +0000)]
Merge "Exit rather than abort if asked to run a non-PIE executable."
am:
71952ef625
Change-Id: Ibb2940eef382fabce0c2c5252fe962c145f5be95
Elliott Hughes [Mon, 9 Jan 2017 22:26:34 +0000 (22:26 +0000)]
Merge "Exit rather than abort if asked to run a non-PIE executable."
Elliott Hughes [Mon, 9 Jan 2017 21:35:39 +0000 (21:35 +0000)]
Merge "Move to .md files for even trivial documentation." am:
39b6d59049
am:
f561edeade
Change-Id: If984fd9b2ea3d66b871b484314e79a6994ca5d6a
Elliott Hughes [Mon, 9 Jan 2017 21:30:38 +0000 (21:30 +0000)]
Merge "Move to .md files for even trivial documentation."
am:
39b6d59049
Change-Id: Ia1950ac9cf0eaa9ca19904ae54d2903471e77626
Elliott Hughes [Mon, 9 Jan 2017 21:23:00 +0000 (21:23 +0000)]
Merge "Move to .md files for even trivial documentation."
Elliott Hughes [Sat, 7 Jan 2017 20:47:28 +0000 (12:47 -0800)]
Move to .md files for even trivial documentation.
So it's automatically displayed for folks browsing the source.
Bug: N/A
Test: N/A
Change-Id: I80e823415f1fb12ad8ce5348e926519b6e29580f
Elliott Hughes [Sat, 7 Jan 2017 18:38:20 +0000 (10:38 -0800)]
Exit rather than abort if asked to run a non-PIE executable.
Each release we're asked to investigate tombstones from code that hasn't
been allowed to run on Android since L. This is just wasting our time,
and clearly the "obviousness" of aborting rather than exiting hasn't ensured
that all app developers rebuild their old binaries. In some cases it seems
like they run them "just in case" and don't care if they fail.
Bug: http://b/
34112178
Test: ran libsupervisor.so from com.ss.android.article.news
Change-Id: I8a3f196c4755601a3888281566fbb7b817f01dca
Dimitry Ivanov [Sat, 7 Jan 2017 04:07:15 +0000 (04:07 +0000)]
Merge "Fix bionic-unit-tests-static crash" am:
500b9be411
am:
1cfb85c199
Change-Id: Ic62ae01cc75b804ae3e04fbfd125dde9c536100f
Dimitry Ivanov [Sat, 7 Jan 2017 04:03:15 +0000 (04:03 +0000)]
Merge "Fix bionic-unit-tests-static crash"
am:
500b9be411
Change-Id: I98d7587228db28d920354f925b0d20e3734838df
Treehugger Robot [Sat, 7 Jan 2017 03:59:14 +0000 (03:59 +0000)]
Merge "Fix bionic-unit-tests-static crash"
Dimitry Ivanov [Fri, 6 Jan 2017 22:49:57 +0000 (14:49 -0800)]
Fix bionic-unit-tests-static crash
The crash happens because for static executables call to dlopen
results in crash. This change moves dlopen() == nullptr check
from static variable to a functions so that the dlopen crash only
affects tests calling dlopen but not the whole executable.
Also make static tests report crashes to debugerd
Test: run bionic-unit-tests-static (for arm 32 and 64)
Bug: http://b/
34129417
Change-Id: I7c4d8caf2a43250234fe24496b1c95eab572769f
Nick Kralevich [Fri, 6 Jan 2017 22:03:21 +0000 (22:03 +0000)]
Merge "Make /dev/__properties__ 0711" am:
11798bcc35
am:
7d7e4a6955
Change-Id: I417801d251da1d8740cc70a0f9142de7ca98a829
Nick Kralevich [Fri, 6 Jan 2017 21:59:19 +0000 (21:59 +0000)]
Merge "Make /dev/__properties__ 0711"
am:
11798bcc35
Change-Id: I4c418dd0567013b003541977f5b2f97a35ac29e3
Treehugger Robot [Fri, 6 Jan 2017 21:53:05 +0000 (21:53 +0000)]
Merge "Make /dev/__properties__ 0711"
Nick Kralevich [Fri, 6 Jan 2017 20:04:29 +0000 (12:04 -0800)]
Make /dev/__properties__ 0711
Don't allow processes to read the contents of the directory
/dev/__properties__. This is an implementation detail of the properties
system that processes shouldn't be concerned with.
Test: Device boots and no problems reading individual properties.
Test: ls -la /dev/__properties__ fails
Change-Id: I00130fe4529525935654bff91e3cc59253b86e26
Josh Gao [Fri, 6 Jan 2017 00:54:13 +0000 (00:54 +0000)]
Merge "Add declaration of tgkill to signal.h." am:
d26267b8b9
am:
f3847eb2d7
Change-Id: I334c6731594b92788fb6045107b34bc4a7182b68
Josh Gao [Fri, 6 Jan 2017 00:50:46 +0000 (00:50 +0000)]
Merge "Add declaration of tgkill to signal.h."
am:
d26267b8b9
Change-Id: I398886a42d4d3d72b430159ac9c6dcaee5e26d09
Treehugger Robot [Fri, 6 Jan 2017 00:44:17 +0000 (00:44 +0000)]
Merge "Add declaration of tgkill to signal.h."
Josh Gao [Thu, 5 Jan 2017 21:22:26 +0000 (13:22 -0800)]
Add declaration of tgkill to signal.h.
Expose a useful function that we've had since Jelly Bean.
Bug: http://b/
34111810
Test: TreeHugger
Change-Id: Iaf3097f224c09b533f36050cf21394ba148007ad
Dimitry Ivanov [Tue, 3 Jan 2017 18:20:14 +0000 (18:20 +0000)]
Merge "Downgrade dynamic section checks to warning" am:
fb07c36bc0
am:
131e51ad82
Change-Id: If0204cc1cf335d8d2b9e4c975fccb71aae42bb3d
Dimitry Ivanov [Tue, 3 Jan 2017 18:12:14 +0000 (18:12 +0000)]
Merge "Downgrade dynamic section checks to warning"
am:
fb07c36bc0
Change-Id: I84efe43a93ae0689492ddf229c52e6710e00bc4a
Dimitry Ivanov [Tue, 3 Jan 2017 18:03:04 +0000 (18:03 +0000)]
Merge "Downgrade dynamic section checks to warning"
Dimitry Ivanov [Thu, 29 Dec 2016 00:21:49 +0000 (16:21 -0800)]
Downgrade dynamic section checks to warning
For apps targeting pre-O releases print warn about
invalid dynamic section.
Bug: http://b/
33842263
Test: Start an app in question and check logs for warning.
Test: Run bionic-unit-test --gtest_filter=dl*:Dl*
Change-Id: I80bd51f2133b956fc04e20a6538cccd50118c1b8
Chitti Babu Theegala [Thu, 15 Dec 2016 20:43:28 +0000 (02:13 +0530)]
Fix streaming(memcpy) performance on Cortex-A7
Stream-mode detection for L1 in A7-core is failing for
non cache-line-size (non 64 byte) aligned addresses.
This leads to destination data getting cached unnecessarily.
This A7 issue is confirmed by ARM
This issue is solved by aligning destination address to 64 byte before
entering the loop in memcpy routine.
Though we get lower score for micro_bench memcpy when L1 cache is bypassed,
it is desirable since it avoids unnecessary eviction of other process data
from L1 which is good for overall system performance.
Higher micro_bench memcpy numbers for < 64byte alignment shows good numbers
but this is at the cost of L1 cache pollution. During memcpy/memset,
unnecessary data is filled in L1 cache, this causes eviction of other
process data from L1.
For example during msmset(0), L1 cache gets filled with 0s which should be
avoided.
Additionally, there is another issue with cortex A7 that impacts performance
for all alignments / all Android Wear versions:
Store Buffer on A7 is 32 byte which limits the 32-byte back to back stores.
In the current implementation back to back 32bytes writes is causing CPU stalls.
This issue can be solved by interleaved Loads and Stores.
This helps in avoiding CPU stalls during memcpy by utilizing efficiently the
A7 internal load and store buffers.
Change-Id: Ie5f12f2bb5d86f627686730416279057e4f5f6d0
Josh Gao [Fri, 16 Dec 2016 22:34:27 +0000 (22:34 +0000)]
Merge "versioner: start using C++17." am:
c816e9fa03
am:
73c9ecd00d
Change-Id: Ieee9af909db86141030204dff09e780e56be7a00
Josh Gao [Fri, 16 Dec 2016 22:25:27 +0000 (22:25 +0000)]
Merge "versioner: start using C++17."
am:
c816e9fa03
Change-Id: Ie148482169ab9cfae841a94b95b8266c520a45e6
Josh Gao [Fri, 16 Dec 2016 22:12:36 +0000 (22:12 +0000)]
Merge "versioner: start using C++17."
Jeff Sharkey [Thu, 15 Dec 2016 23:14:36 +0000 (23:14 +0000)]
Merge "Define range of GIDs for cached app data." am:
54891837a0
am:
ce7c613609
Change-Id: I564b6d18344325ff1e801590790d3813de269ad4
Colin Cross [Thu, 15 Dec 2016 23:14:19 +0000 (23:14 +0000)]
Merge "Convert versioner to Android.bp" am:
f7e793ef7f
am:
b508d37936
Change-Id: I257060f1bb6c5e97bb92ce7db3291e9e7321807d
Josh Gao [Thu, 15 Dec 2016 21:56:00 +0000 (13:56 -0800)]
versioner: start using C++17.
Bug: None
Test: python run_tests.py
Change-Id: I10101d26b7816a83445f25b33b97ed47d42fd135
Jeff Sharkey [Thu, 15 Dec 2016 21:52:00 +0000 (21:52 +0000)]
Merge "Define range of GIDs for cached app data."
am:
54891837a0
Change-Id: I950bcf47451a474f89371d8124e833f0a4feea40
Jeff Sharkey [Thu, 15 Dec 2016 21:46:30 +0000 (21:46 +0000)]
Merge "Define range of GIDs for cached app data."
Colin Cross [Thu, 15 Dec 2016 21:22:57 +0000 (21:22 +0000)]
Merge "Convert versioner to Android.bp"
am:
f7e793ef7f
Change-Id: I769e872a36fad4f47b2be026bed740e0330e67b4
Treehugger Robot [Thu, 15 Dec 2016 21:16:04 +0000 (21:16 +0000)]
Merge "Convert versioner to Android.bp"
Colin Cross [Wed, 7 Dec 2016 19:24:06 +0000 (11:24 -0800)]
Convert versioner to Android.bp
See build/soong/README.md for more information.
Test: mma -j
Change-Id: I0e648143ac480c1257d9829f9b9087ee22005855
Dimitry Ivanov [Thu, 15 Dec 2016 18:41:43 +0000 (18:41 +0000)]
Merge "Add test for elf-hash and packed relocations" am:
59dd61573f
am:
488eac109b
Change-Id: Id697ca86ba1a62e9163b767578535633b57cafd1
Dimitry Ivanov [Thu, 15 Dec 2016 18:41:16 +0000 (18:41 +0000)]
Merge "Add test for empty symbol lookup" am:
22ef13ff9d
am:
c0c74cb7dd
Change-Id: Ia51b0d333f381996cad50a1223805b4cc80377e2
Dimitry Ivanov [Thu, 15 Dec 2016 18:34:11 +0000 (18:34 +0000)]
Merge "Add test for elf-hash and packed relocations"
am:
59dd61573f
Change-Id: I8d5071cbf4de4add626aeecf8b9a08643de63c39
Dimitry Ivanov [Thu, 15 Dec 2016 18:33:46 +0000 (18:33 +0000)]
Merge "Add test for empty symbol lookup"
am:
22ef13ff9d
Change-Id: I5c58192b8a06968360f3e54461064e4aa73cc18f
Dimitry Ivanov [Thu, 15 Dec 2016 18:27:22 +0000 (18:27 +0000)]
Merge "Add test for elf-hash and packed relocations"
Dimitry Ivanov [Thu, 15 Dec 2016 18:26:51 +0000 (18:26 +0000)]
Merge "Add test for empty symbol lookup"
Elliott Hughes [Thu, 15 Dec 2016 06:31:02 +0000 (06:31 +0000)]
Merge "Make the __stack_chk_fail message more searchable on the internets." am:
a1d32f95c3
am:
153ebb4557
Change-Id: Ic74ce9166627c15df7792db5c3468844b2c2148f