Home | History | Annotate | Download | only in perf
      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