forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'linux-kselftest-4.5-rc1' of git://git.kernel.org/pub/scm/l…
…inux/kernel/git/shuah/linux-kselftest Pull kselftest updates from Shuah Khan: "This 14 patch update: - adds a new test for intel_pstate driver - adds empty string and async test cases to firmware class tests - fixes and cleans up several existing tests" * tag 'linux-kselftest-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests: firmware: add empty string and async tests firmware: actually return NULL on failed request_firmware_nowait() test: firmware_class: add asynchronous request trigger test: firmware_class: use kstrndup() where appropriate test: firmware_class: report errors properly on failure selftests/seccomp: fix 32-bit build warnings add breakpoints/.gitignore add ptrace/.gitignore update .gitignore in selftests/timers update .gitignore in selftests/vm tools, testing, add test for intel_pstate driver selftest/ipc: actually test it selftests/capabilities: actually test it selftests/capabilities: clean up for Makefile
- Loading branch information
Showing
14 changed files
with
376 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
breakpoint_test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,15 @@ | ||
all: | ||
|
||
include ../lib.mk | ||
|
||
.PHONY: all clean | ||
|
||
TARGETS := validate_cap test_execve | ||
TEST_FILES := validate_cap | ||
TEST_PROGS := test_execve | ||
|
||
CFLAGS := -O2 -g -std=gnu99 -Wall -lcap-ng | ||
BINARIES := $(TEST_FILES) $(TEST_PROGS) | ||
|
||
all: $(TARGETS) | ||
CFLAGS += -O2 -g -std=gnu99 -Wall | ||
LDLIBS += -lcap-ng -lrt -ldl | ||
|
||
all: $(BINARIES) | ||
|
||
clean: | ||
$(RM) $(TARGETS) | ||
$(RM) $(BINARIES) | ||
|
||
include ../lib.mk | ||
|
||
$(TARGETS): %: %.c | ||
$(CC) -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $^ -lrt -ldl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
CC := $(CROSS_COMPILE)gcc | ||
CFLAGS := $(CFLAGS) -Wall -D_GNU_SOURCE | ||
LDFLAGS := $(LDFLAGS) -lm | ||
|
||
TARGETS := msr aperf | ||
|
||
TEST_PROGS := $(TARGETS) run.sh | ||
|
||
.PHONY: all clean | ||
all: $(TARGETS) | ||
|
||
$(TARGETS): $(HEADERS) | ||
|
||
clean: | ||
rm -f $(TARGETS) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
#include <math.h> | ||
#include <unistd.h> | ||
#include <stdio.h> | ||
#include <stdlib.h> | ||
#include <sys/types.h> | ||
#include <sys/stat.h> | ||
#include <fcntl.h> | ||
#include <sys/timeb.h> | ||
#include <sched.h> | ||
#include <errno.h> | ||
|
||
void usage(char *name) { | ||
printf ("Usage: %s cpunum\n", name); | ||
} | ||
|
||
int main(int argc, char **argv) { | ||
int i, cpu, fd; | ||
char msr_file_name[64]; | ||
long long tsc, old_tsc, new_tsc; | ||
long long aperf, old_aperf, new_aperf; | ||
long long mperf, old_mperf, new_mperf; | ||
struct timeb before, after; | ||
long long int start, finish, total; | ||
cpu_set_t cpuset; | ||
|
||
if (argc != 2) { | ||
usage(argv[0]); | ||
return 1; | ||
} | ||
|
||
errno = 0; | ||
cpu = strtol(argv[1], (char **) NULL, 10); | ||
|
||
if (errno) { | ||
usage(argv[0]); | ||
return 1; | ||
} | ||
|
||
sprintf(msr_file_name, "/dev/cpu/%d/msr", cpu); | ||
fd = open(msr_file_name, O_RDONLY); | ||
|
||
if (fd == -1) { | ||
perror("Failed to open"); | ||
return 1; | ||
} | ||
|
||
CPU_ZERO(&cpuset); | ||
CPU_SET(cpu, &cpuset); | ||
|
||
if (sched_setaffinity(0, sizeof(cpu_set_t), &cpuset)) { | ||
perror("Failed to set cpu affinity"); | ||
return 1; | ||
} | ||
|
||
ftime(&before); | ||
pread(fd, &old_tsc, sizeof(old_tsc), 0x10); | ||
pread(fd, &old_aperf, sizeof(old_mperf), 0xe7); | ||
pread(fd, &old_mperf, sizeof(old_aperf), 0xe8); | ||
|
||
for (i=0; i<0x8fffffff; i++) { | ||
sqrt(i); | ||
} | ||
|
||
ftime(&after); | ||
pread(fd, &new_tsc, sizeof(new_tsc), 0x10); | ||
pread(fd, &new_aperf, sizeof(new_mperf), 0xe7); | ||
pread(fd, &new_mperf, sizeof(new_aperf), 0xe8); | ||
|
||
tsc = new_tsc-old_tsc; | ||
aperf = new_aperf-old_aperf; | ||
mperf = new_mperf-old_mperf; | ||
|
||
start = before.time*1000 + before.millitm; | ||
finish = after.time*1000 + after.millitm; | ||
total = finish - start; | ||
|
||
printf("runTime: %4.2f\n", 1.0*total/1000); | ||
printf("freq: %7.0f\n", tsc / (1.0*aperf / (1.0 * mperf)) / total); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#include <math.h> | ||
#include <unistd.h> | ||
#include <stdio.h> | ||
#include <stdlib.h> | ||
#include <sys/types.h> | ||
#include <sys/stat.h> | ||
#include <fcntl.h> | ||
#include <sys/timeb.h> | ||
#include <sched.h> | ||
#include <errno.h> | ||
|
||
|
||
int main(int argc, char **argv) { | ||
int cpu, fd; | ||
long long msr; | ||
char msr_file_name[64]; | ||
|
||
if (argc != 2) | ||
return 1; | ||
|
||
errno = 0; | ||
cpu = strtol(argv[1], (char **) NULL, 10); | ||
|
||
if (errno) | ||
return 1; | ||
|
||
sprintf(msr_file_name, "/dev/cpu/%d/msr", cpu); | ||
fd = open(msr_file_name, O_RDONLY); | ||
|
||
if (fd == -1) { | ||
perror("Failed to open"); | ||
return 1; | ||
} | ||
|
||
pread(fd, &msr, sizeof(msr), 0x199); | ||
|
||
printf("msr 0x199: 0x%llx\n", msr); | ||
return 0; | ||
} |
Oops, something went wrong.