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 5from pylib import android_commands 6from pylib.device import device_utils 7 8class 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', as_root=True) 20 self._device.WriteFile(CacheControl._DROP_CACHES, '3', as_root=True) 21 22