1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun /* cpufreq-bench CPUFreq microbenchmark 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de> 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun /* load loop, this schould take about 1 to 2ms to complete */ 8*4882a593Smuzhiyun #define ROUNDS(x) {unsigned int rcnt; \ 9*4882a593Smuzhiyun for (rcnt = 0; rcnt < x*1000; rcnt++) { \ 10*4882a593Smuzhiyun (void)(((int)(pow(rcnt, rcnt) * \ 11*4882a593Smuzhiyun sqrt(rcnt*7230970)) ^ 7230716) ^ \ 12*4882a593Smuzhiyun (int)atan2(rcnt, rcnt)); \ 13*4882a593Smuzhiyun } } \ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun void start_benchmark(struct config *config); 17