1 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 from pylib import android_commands 6 from pylib.device import device_utils 7 8 class CacheControl(object): 9 _DROP_CACHES = '/proc/sys/vm/drop_caches' 10 11 def __init__(self, device): 12 # TODO(jbudorick) Remove once telemetry gets switched over. 13 if isinstance(device, android_commands.AndroidCommands): 14 device = device_utils.DeviceUtils(device) 15 self._device = device 16 17 def DropRamCaches(self): 18 """Drops the filesystem ram caches for performance testing.""" 19 self._device.RunShellCommand('sync', root=True) 20 self._device.old_interface.SetProtectedFileContents( 21 CacheControl._DROP_CACHES, '3') 22 23