Commit Graph

597 Commits

Author SHA1 Message Date
Elliott Hughes bfb1f1cc83 Don't use TEMP_FAILURE_RETRY on close in frameworks/native.
Bug: http://b/20501816
Change-Id: Id13a62f02243c6c4831e2f47944dc34fa822f5b6
(cherry picked from commit 997abb668b)
2015-05-15 17:26:44 -07:00
John Reck 2c237ee1d5 Fix async_stop
Change-Id: I68a258cf71cfcd999bbd568ab3c96255c11bec41
2015-05-15 10:00:34 -07:00
Aaron Schulman cbe13ef59b Added Voltage and Current regulator ftrace events to atrace
Cherry-pick of c2c6ecd119 from AOSP

Tracing the state of the voltage and current regulators enables a developer
to attribute power consumption measurements to specific perhipherals and
cores. Unlike other indirect methods of tracing when peripherals and cores
are toggled, the regulator ftrace event indicates the exact point in time
when the kernel switches on or off the device. For example, in the following
trace, a developer can see exactly when the krait2 core starts receiving
power, and and when the voltage is set for voltage scaling.

mpdecision-2172  [000] ...1  1566.665481: regulator_enable: name=krait2
mpdecision-2172  [000] ...1  1566.665493: regulator_enable_delay: name=krait2
mpdecision-2172  [000] ...1  1566.665495: regulator_enable_complete: name=krait2
<...>-4133  [002] ...1  1566.666891: regulator_set_voltage: name=krait2 (1075000-1100000)

Change-Id: Ia322206ef74496daf1d9baa03545d8e89e398487
Signed-off-by: Aaron Schulman <aschulman@google.com>
2015-05-07 09:23:23 -07:00
Mark Salyzyn 326842fca4 dumpstate: report per-partition MMC performance
(Cherry pick from commit 540e3de99f)

Change-Id: If5cabe186d8377056effa1c0672a90e277cd7221
2015-05-01 14:50:55 -07:00
Jeff Sharkey d792118c49 Offer to move both code and data together.
We now move code under /data/app/com.example when a complete move
is requested.  This really only works for new cluster-style installs
that also have native libraries and OAT contained inside.

Teach measuring code about cluster-style installs when measuring
app footprint.  Also offer to measure private data space for all
users.

Bug: 19993667, 20275578
Change-Id: I6df7b947cb5cc8a4552f56f4b64a661e8512389f
2015-04-30 16:02:58 -07:00
Ashish Sharma 8b3e133e41 Inclide checkin format of dumpsys package in bugreport.
Change-Id: I809377f80e314b358eba22fa916e53c81cac2c47
2015-04-28 13:32:54 -07:00
Jeff Sharkey 1044367a73 am a36a43b3: am c200d20e: am dfc30ae3: Merge "Command to move private app data between volumes."
* commit 'a36a43b354b248cef9407de42fb6b87e1c7085f6':
  Command to move private app data between volumes.
2015-04-10 21:32:03 +00:00
Jeff Sharkey e363724230 Command to move private app data between volumes.
New "mvuserdata" command will move all private app data from one
volume UUID to another.  It leverages the existing "cp" toybox
command to do the heavy lifting for all known users, preserving
details like timestamps and permissions.  It invokes restorecon()
to correctly label the new location when the copy is finished.

Changes installd to no longer drop capabilities, so we run as root
again.  This also allows us to exec "cp" with CAP_DAC_OVERRIDE and
CAP_FOWNER still in effect.

Bug: 19993667
Change-Id: I1f407a7c4a1af97ca5afc27b04eb16b4936cbdef
2015-04-10 00:21:35 -07:00
Jeff Sharkey 16af1b044e am 8571e647: am 997eb5dd: am 44a38d93: Merge "Start accepting volume UUIDs from framework."
* commit '8571e647da1e9c2227d22034ba6462235273cb02':
  Start accepting volume UUIDs from framework.
2015-04-09 22:17:46 +00:00
Jeff Sharkey 6fe28a0601 Start accepting volume UUIDs from framework.
We're now parsing and passing through volume UUIDs sent across the
command socket.  The "!" argument value is treated as null, which
means internal storage.

Bug: 19993667
Change-Id: I17729a769ce687a2e94e85991a6338c77ded0b66
2015-04-09 14:15:55 -07:00
Jeff Sharkey fe62ea5d06 am ad6f4996: am 25327881: am 066fadb9: Merge "More volume UUID awareness."
* commit 'ad6f4996dc909dcb8e6e369bf41be514077fb142':
  More volume UUID awareness.
2015-04-09 20:24:05 +00:00
Jeff Sharkey 41ea424413 More volume UUID awareness.
Teach free_cache() and restorecon_data() about building per-volume
paths.  Also clean up restorecon_data() by using std::string when
building paths.

Clearer names for path building utility methods, and tests to verify.

Bug: 19993667
Change-Id: Iacfbcdaa5b901cc2490bc8eba366dfdeb44f1d93
2015-04-09 11:44:06 -07:00
Andreas Gampe e92939471a am 6930a29a: am cae83eca: am f9ab2ad2: Merge "Installd: Fix Clang build"
* commit '6930a29af13f4a958fa7cba544233d2febe4040b':
  Installd: Fix Clang build
2015-04-09 17:36:05 +00:00
Jeff Sharkey 5fd5dd676a am 65fe5dfd: am cbde9b92: am d107c305: Merge "Plumb through volume UUID when building paths."
* commit '65fe5dfdcd08650e0dfbb39f4a716567fb910cab':
  Plumb through volume UUID when building paths.
2015-04-09 17:00:44 +00:00
Andreas Gampe 0ad7a11003 Installd: Fix Clang build
Remove some unused parameters and variables.

Change-Id: I507ae48fe1744b800ceb29192d463fd26c2ccda7
2015-04-09 09:54:35 -07:00
Jeff Sharkey d107c305f7 Merge "Plumb through volume UUID when building paths." 2015-04-09 16:27:19 +00:00
Richard Uhler 9cebc2bc77 am b8d1ee37: am 19db8c88: am ab91d03b: Merge "installd: Add support for SELF_PATCHOAT_NEEDED."
* commit 'b8d1ee37c4a6897442f5d381d5eb7162e04fcebd':
  installd: Add support for SELF_PATCHOAT_NEEDED.
2015-04-09 14:51:00 +00:00
Richard Uhler ab91d03b0d Merge "installd: Add support for SELF_PATCHOAT_NEEDED." 2015-04-09 14:13:27 +00:00
Mark Salyzyn 82f393aad6 am d029e95a: am 1b0a8702: am ad436ab5: Merge "dumpstate: scrub APANIC"
* commit 'd029e95a58ea0927ebd3431d9991cd316e568002':
  dumpstate: scrub APANIC
2015-04-08 22:07:20 +00:00
Mark Salyzyn f423b57dd9 dumpstate: scrub APANIC
Bug: 19525200
Change-Id: Ia2d2857cac953fb4ceafb66ddf775d89d7a777b1
2015-04-08 10:51:51 -07:00
Jeff Sharkey c03de09173 Plumb through volume UUID when building paths.
Since app data paths can live on expanded storage devices, accept the
target volume UUID when building paths.  The null UUID indicates the
default internal storage.

To improve readability, start using std::string in several places,
which throws when allocations fail.  For now, perform last-second
sanity checks on incoming path arguments, but we'll eventually want
to check arguments as they come through installd.cpp, instead of
crashing the entire daemon.

Also remove "lib" symlink code from install() and make_user_data(),
since we're no longer supporting /data/app-lib.  The framework
already uses linklib() to create the right symlink for the selected
ISA-specific library dir.

Bug: 19993667
Change-Id: Ib9343575ffb62bf3981e19375de8f3822fc31e28
2015-04-07 20:13:27 -07:00
Richard Uhler c92fb6247d installd: Add support for SELF_PATCHOAT_NEEDED.
Change-Id: Ib9a6373f98474f1242367b5285086251a9d580e5
2015-04-07 16:39:29 -07:00
Jeff Sharkey 580e51458e am eb3704a5: am 9e99fce8: am 1cd030be: Merge "Switch installd to compile as C++."
* commit 'eb3704a58e62c0f85cfea776df1040b677263c80':
  Switch installd to compile as C++.
2015-04-07 21:53:19 +00:00
Jeff Sharkey 19803807cd Switch installd to compile as C++.
This is the minimal change needed to switch it over to C++, which
paves the way for using more robust utilities like std::string.

Change-Id: I80ed6280146875eb6ddbbb340c05450388ca13f0
2015-04-07 14:01:43 -07:00
Jeff Sharkey e23a13299a Valid APK paths now include expanded storage.
Apps on expanded storage live at /mnt/expand/<uuid>/app/com.example,
so we need to relax one more directory level.

Bug: 19993667
Change-Id: I347ec7b92435ea69e632ed5d5fdfabe38ce0b56e
2015-04-07 14:01:12 -07:00
Fyodor Kupolov 7897031f3e am b58e6cbf: am 4914f85f: am 8f43f77d: Merge "Use AID_SYSTEM as uid when creating oat dir"
* commit 'b58e6cbfa726add05bbe5e31e8ca13815ccf2049':
  Use AID_SYSTEM as uid when creating oat dir
2015-04-07 20:49:09 +00:00
Fyodor Kupolov 8eed7e6a9b Use AID_SYSTEM as uid when creating oat dir
Previously AID_INSTALL was used, which was causing permission denied errors
when PackageManager was trying to recursively rename staging directory

Bug: 19550105
Bug: 20087446
Change-Id: I3a9e3056c1fbc1ce0077a3ce52cf77ea6b5085ee
2015-04-07 11:22:00 -07:00
Jeff Sharkey c0bae30131 Merge "Valid APK paths now include expanded storage." 2015-04-07 04:24:27 +00:00
Jeff Brown 969baf52d9 Merge "Add support for int64, float, double types to service command." 2015-04-07 03:50:29 +00:00
Jeff Brown d46898fed0 Add support for int64, float, double types to service command.
Comes in handy for invoking transactions that require these types.

Change-Id: I8f14519a2531ab2ec7f3218ecda6d1868f6dd7b3
2015-04-06 19:42:43 -07:00
Jeff Sharkey 7d78005a27 Valid APK paths now include expanded storage.
Apps on expanded storage live at /mnt/expand/<uuid>/app/com.example,
so we need to relax one more directory level.

Bug: 19993667
Change-Id: I347ec7b92435ea69e632ed5d5fdfabe38ce0b56e
2015-04-06 17:44:27 -07:00
Elliott Hughes 62b58afc21 am 7b5f82d8: am 46072d58: am a60ff367: Merge "Remove useless \'svcmgr_handle\' (which had wrong type)."
* commit '7b5f82d8d726e4bcd21c19340c0743a728bc0253':
  Remove useless 'svcmgr_handle' (which had wrong type).
2015-04-06 23:53:49 +00:00
Elliott Hughes a60ff367a4 Merge "Remove useless 'svcmgr_handle' (which had wrong type)." 2015-04-06 23:13:32 +00:00
Elliott Hughes 0b41ad5d6e Remove useless 'svcmgr_handle' (which had wrong type).
Also use the 'ptr' union member rather than 'handle'.

Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Change-Id: I68e5336cd3af3bc61dbddd2b33d7e1512c0c329c
2015-04-03 22:46:56 -07:00
Elliott Hughes 177861d98f am 2d4cf62a: am 8d9f899a: am 031fec0b: Merge "ServiceManager: Print kernel/userspace binder version"
* commit '2d4cf62a2cdfbfbbca5757eb7dd1498d118bf7c9':
  ServiceManager: Print kernel/userspace binder version
2015-04-04 00:39:46 +00:00
Serban Constantinescu 018cf41a15 ServiceManager: Print kernel/userspace binder version
This patch adds extra logging for the binder version in case the userspace
and kernel versions differ.

Change-Id: I9859b29099726cfcfe5ca23d88ed2e101a06af1a
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2015-04-03 17:02:48 -07:00
Fyodor Kupolov b3fb52f7d8 am bce77997: am ebca76c2: am 9cad1985: Merge "Fix errors caused by unused variables"
* commit 'bce7799786ae712bba9b58f1f99cd12ee05b5cf3':
  Fix errors caused by unused variables
2015-04-03 14:52:38 +00:00
Fyodor Kupolov 35eefd2fa7 am a46d5e4b: am 63750cb6: am 4eb88f88: Merge "Support for storing OAT files in app directory"
* commit 'a46d5e4b9a598330e2a79395dbd201ab88aded00':
  Support for storing OAT files in app directory
2015-04-03 14:52:20 +00:00
Fyodor Kupolov 26ff93c1a7 Fix errors caused by unused variables
Change-Id: Ie52ae0e9a642504ee7b78c6bc54b61549cfb0342
2015-04-02 17:03:11 -07:00
Fyodor Kupolov 4eb88f8839 Merge "Support for storing OAT files in app directory" 2015-04-02 23:11:01 +00:00
Mark Salyzyn f386c961ea am a231a128: am 0f9bf17a: am 23b204e1: Merge "servicemanager: service_manager missing include for string.h"
* commit 'a231a1287815e80a5ab11e30254005b81254d891':
  servicemanager: service_manager missing include for string.h
2015-04-01 22:09:31 +00:00
Mark Salyzyn 13df5f5f8f servicemanager: service_manager missing include for string.h
service_manager.c gets string.h inherited from
private/android_filesystem_config.h it should
not rely on this in the future. The intent is
to move fs_config function into libcutils and
thus deprecate any need for string.h in this
include file.

Bug: 19908228
Change-Id: Icc95ee02bf02c596463868b1330d209d1bd5c58a
2015-04-01 11:11:11 -07:00
Andreas Gampe a053c841df am 059e9c02: am 8c60cec0: am 5881c8dd: Merge "Installd: Support dex2oat threads system property"
* commit '059e9c023eb025472db6775f9c2a95191dd6c2bf':
  Installd: Support dex2oat threads system property
2015-03-31 03:43:53 +00:00
Andreas Gampe 8d7af8b241 Installd: Support dex2oat threads system property
Check dalvik.vm.dex2oat-threads in installd and pass to dex2oat.

Bug: 19992386
Change-Id: I5e7806cf560607d31a1d6901dffb14bee538c9cc
2015-03-30 18:45:03 -07:00
Fyodor Kupolov 88ce4ff7a9 Support for storing OAT files in app directory
Changes to installd:
- dexopt now allows oat_dir param for custom output directory
- Added helper method calculate_oat_file_path for calculating oat file
  output location based on oat_dir and apk_path.

Bug: 19550105
Change-Id: I6b079207310583adeb6dad918a58034a059e34c4
2015-03-30 13:48:22 -07:00
John Reck c1c024a50c am 3e785e2e: am 88c52865: am 0faebfb2: Merge "Add trace_event_clock_sync to atrace"
* commit '3e785e2ef93b068630d0ffb5178a5f38cc249a3d':
  Add trace_event_clock_sync to atrace
2015-03-27 00:43:31 +00:00
John Reck 469a194051 Add trace_event_clock_sync to atrace
Change-Id: I8adce15210d82df09ff3a39ddd8df617aeb16a42
2015-03-26 16:57:30 -07:00
Richard Uhler 59d996fb0d am da08fc67: am b84a3dde: am bc5aceb1: Merge "Store odex files in oat/<isa>/ directory."
* commit 'da08fc672ff9643ada87a38fb98c7bd604b678ad':
  Store odex files in oat/<isa>/ directory.
2015-03-26 16:28:29 +00:00
Richard Uhler 009b877132 Store odex files in oat/<isa>/ directory.
Previously odex files were stored alongside the dex location as:
  dex location: /foo/bar/base.apk
  odex location: /foo/bar/<isa>/base.odex

This changes where odex files are stored, adding an "oat" directory:
  dex location: /foo/bar/base.apk
  odex location: /foo/bar/oat/<isa>/base.odex

See also the corresponding changes in platform/art and platform/build.

Bug: 19550105
Change-Id: I4c6be4f0c41ff175904846db8e360c4af815b265
2015-03-25 11:11:05 -07:00
Mathieu Chartier ab62d4a4a7 am a290b4b9: am b4cf4d7d: am 6dad1713: Merge "Use verify-at-runtime if debug.usejit is true"
* commit 'a290b4b9121dab04c2989ab88017b8286075914b':
  Use verify-at-runtime if debug.usejit is true
2015-03-23 23:24:13 +00:00