Skip to content
Commit 362cec4a authored by Lee Shombert's avatar Lee Shombert
Browse files

Move PM cache invalidate inside mlock

Bug: 181992565

Ensure that the PM cache invalidation occurs inside regions protected
by the PM mlock.  Recent changes guard the invalidation so that it
occurs only if something really changed - this limits the number of
invalidation calls and makes it lower overhead.

Create a new marker class for the PM lock, similar to the marker class
ActivityManagerGlobalLock.  The marker class has no performance impact
but it enables future snapshot improvements using lock injection.

The result is tested with a special build that checks the snapshot
invalidation flag every time the PM lock is taken.  The test verifies
that the invalidation flag is false (meaning the snapshot is valid)
every time the lock is taken, which means that invalidation occurs
only under control of mLock.

Test: atest
 * FrameworksServicesTests:AppsFilterTest
 * FrameworksServicesTests:PackageInstallerSessionTest
 * FrameworksServicesTests:PackageManagerServiceTest
 * FrameworksServicesTests:PackageManagerSettingsTests
 * FrameworksServicesTests:ScanTests
 * FrameworksServicesTests:UserSystemPackageInstallerTest
 * PackageManagerServiceBootTest
 * UserLifecycleTests#startUser
 * UserLifecycleTests#stopUser
 * UserLifecycleTests#switchUser
 * android.appsecurity.cts.EphemeralTest
 * android.appsecurity.cts.InstantAppUserTest

Change-Id: I96154fbee78b620c76a2b7d8614bc433fc61e911
parent 6681a152
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment