Split mRulesLock in 2 distinct locks.
mRulesLock was used to lock Life, the Universe, and Everything. Or more specifically, UID rules, network policies, and other state. As such, it was frequently a cause of slowness in the device due to lock contention. For example, isNetworkMetered() is a method called by ConnectivityService and it only needs to lock the network policies info, but because it required the full lock, it would be often on hold when the UID state is changed by onUidStateChanged(). BUG: 29397827 Change-Id: I7aac8f33e150c52cf7a682f0290a91a2c350b8de
Loading
Please register or sign in to comment