/* ADJ_FREQ Skew change test * by: john stultz (johnstul@us.ibm.com) * (C) Copyright IBM 2012 * Licensed under the GPLv2 * * NOTE: This is a meta-test which cranks the ADJ_FREQ knob and * then uses other tests to detect problems. Thus this test requires * that the raw_skew, inconsistency-check and nanosleep tests be * present in the same directory it is run from. * * To build: * $ gcc change_skew.c -o change_skew -lrt * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include #include #include #include #include #ifdef KTEST #include "../kselftest.h" #else static inline int ksft_exit_pass(void) { exit(0); } static inline int ksft_exit_fail(void) { exit(1); } #endif #define NSEC_PER_SEC 1000000000LL int change_skew_test(int ppm) { struct timex tx; int ret; tx.modes = ADJ_FREQUENCY; tx.freq = ppm << 16; ret = adjtimex(&tx); if (ret < 0) { printf("Error adjusting freq\n"); return ret; } ret = system("./raw_skew"); ret |= system("./inconsistency-check"); ret |= system("./nanosleep"); return ret; } int main(int argv, char **argc) { struct timex tx; int i, ret; int ppm[5] = {0, 250, 500, -250, -500}; /* Kill ntpd */ ret = system("killall -9 ntpd"); /* Make sure there's no offset adjustment going on */ tx.modes = ADJ_OFFSET; tx.offset = 0; ret = adjtimex(&tx); if (ret < 0) { printf("Maybe you're not running as root?\n"); return -1; } for (i = 0; i < 5; i++) { printf("Using %i ppm adjustment\n", ppm[i]); ret = change_skew_test(ppm[i]); if (ret) break; } /* Set things back */ tx.modes = ADJ_FREQUENCY; tx.offset = 0; adjtimex(&tx); if (ret) { printf("[FAIL]"); return ksft_exit_fail(); } printf("[OK]"); return ksft_exit_pass(); } method='get' action='/cgit.cgi/linux/net-next.git/log/tools/perf/tests/attr/test-stat-detailed-2'>
diff options
context:
space:
mode:
authorGiovanni Cabiddu <giovanni.cabiddu@intel.com>2016-12-22 15:00:12 +0000
committerHerbert Xu <herbert@gondor.apana.org.au>2017-02-02 21:54:52 +0800
commit3484ecbe0e9deb94afb0b9b6172d77e98eb72b94 (patch)
tree4d4be0d20d4946c51ef47a882d78c9934a219c0e /tools/perf/tests/attr/test-stat-detailed-2
parent11e3b725cfc282efe9d4a354153e99d86a16af08 (diff)
crypto: qat - fix bar discovery for c62x
Some accelerators of the c62x series have only two bars. This patch skips BAR0 if the accelerator does not have it. Cc: <stable@vger.kernel.org> Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'tools/perf/tests/attr/test-stat-detailed-2')