Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / build / android / pylib / perf / cache_control.py
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', as_root=True)
20     self._device.WriteFile(CacheControl._DROP_CACHES, '3', as_root=True)
21