# Copyright (c) 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

NAME = 'hardware_MemoryThroughput.memory_qual'
AUTHOR = 'puthik'
PURPOSE = 'Benchmark sequential throughput for read, write, and copy'
CRITERIA = 'This test is a benchmark for memory qualification.'
TIME = 'MEDIUM'
TEST_CATEGORY = 'Performance'
TEST_CLASS = 'hardware'
TEST_TYPE = 'client'

DOC = """
This uses the lmbench 3 bw_mem benchmark for reads, writes, and copy
For write and copy it uses C standard library functions memcpy and
memset, which are generally optimized for the target.
"""

job.run_test('hardware_MemoryThroughput',
              tag='memory_qual', test='bcopy', warmup=100,
              num_iterations=100, parallel=2,
              sizes=[ 1024, 2048, 4096, 8192,
                      15360, 16384, 24576,
                      30720, 32768, 33792,
                      49152, 65536, 98304,
                      130048, 131072, 256000,
                      262144, 393216, 524288,
                      1048576, 1468006, 1572864,
                      1966080, 2097152, 2228224,
                      2621440, 3072000, 3145728,
                      3276800, 4194304, 8388608,
                      16777216, 33554432, 67108864])
