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
# | |
# Automatically generated file; DO NOT EDIT. | |
# Linux/x86 5.16.0-rc6 Kernel Configuration | |
# | |
CONFIG_CC_VERSION_TEXT="gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0" | |
CONFIG_CC_IS_GCC=y | |
CONFIG_GCC_VERSION=70500 | |
CONFIG_CLANG_VERSION=0 | |
CONFIG_AS_IS_GNU=y | |
CONFIG_AS_VERSION=23000 |
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
# | |
# Automatically generated file; DO NOT EDIT. | |
# Linux/x86 5.16.0-rc6 Kernel Configuration | |
# | |
CONFIG_CC_VERSION_TEXT="gcc (Debian 10.2.1-6) 10.2.1 20210110" | |
CONFIG_CC_IS_GCC=y | |
CONFIG_GCC_VERSION=100201 | |
CONFIG_CLANG_VERSION=0 | |
CONFIG_AS_IS_GNU=y | |
CONFIG_AS_VERSION=23502 |
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
#include <stdint.h> | |
#include <string.h> | |
// Replaces all instances of the string match in input with r. Returns a new | |
// null-terminated string, or NULL on error. The returned string must be freed | |
// by the caller when no longer needed. Even if no replacements are made, this | |
// will return a new copy of the input string. | |
char* StringReplace(const char *input, const char *match, const char *r) { | |
char *input_pos = NULL; | |
const char *prev_input_pos = NULL; |
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
To compare Joshua's changes vs. the baseline 5.4 he used: | |
https://github.com/JoshuaJB/litmus-rt/compare/b90344f7d6000deba0709d75225f30cbf79ec2f0...55ce62849f94dd9c9fc0a5397b4f8cf40b40a324 | |
General notes: | |
- The "state" field in task_struct is now __state and should be accessed using | |
the READ_ONCE and WRITE_ONCE accessors, or other macros from sched.h. | |
- The "lock" field in "struct rq" is now __lock, and should be |
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
#ifndef BIT_ACCESSOR_H | |
#define BIT_ACCESSOR_H | |
#include <stdio.h> | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
// This header defines the BitAccessor type, which can be used for setting any | |
// series of consecutive bits in a uint64_t. For example, to set bits 7-13 in | |
// a 64-bit value: |
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
#include <errno.h> | |
#include <stdio.h> | |
#include <string.h> | |
#include <unistd.h> | |
// A minimal-ish example of writing data to a child process' stdin. | |
int main(int argc, char **argv) { | |
char print_buffer[256]; | |
int stdin_pipe[2]; | |
int result; |
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
[ 347.582485] BUG: kernel NULL pointer dereference, address: 0000000000000028 | |
[ 347.582489] #PF: supervisor write access in kernel mode | |
[ 347.582490] #PF: error_code(0x0002) - not-present page | |
[ 347.582491] PGD 0 P4D 0 | |
[ 347.582494] Oops: 0002 [#1] PREEMPT SMP | |
[ 347.582496] CPU: 15 PID: 7937 Comm: python Not tainted 5.8.0+ #1 | |
[ 347.582497] Hardware name: Dell Inc. Precision Tower 7910/0NK5PH, BIOS A13 05/20/2016 | |
[ 347.582626] RIP: 0010:amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu+0x48d/0x900 [amdgpu] | |
[ 347.582628] Code: 03 c1 e8 96 bf b2 dd e9 94 fd ff ff 83 bd 40 ff ff ff 02 48 8b 85 78 ff ff ff 75 12 48 8b 90 30 02 00 00 4c 89 b0 90 02 00 00 <4c> 89 72 28 48 8b 13 48 83 bd 48 ff ff ff 00 48 89 90 90 03 00 00 | |
[ 347.582629] RSP: 0018:ffff9c00c2037cc0 EFLAGS: 00010246 |
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 script reads all JSON result files and uses matplotlib to display a | |
# timeline indicating when blocks and threads from multiple jobs were run on | |
# GPU, including which SM they ran on. For this to work, all result filenames | |
# must end in .json. | |
# | |
# Usage: python view_blocksbysm.py [results directory (default: ./results)] | |
import argparse | |
import glob | |
import json | |
import math |
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
// TO COMPILE: | |
// gcc -shared -fPIC -o thread_create_hook.so thread_create_hook.c -ldl | |
// TO USE (needs an absolute path): | |
// LD_PRELOAD=`pwd`/thread_create_hook.so ./application_to_hook | |
#define _GNU_SOURCE | |
#include <dlfcn.h> | |
#include <pthread.h> | |
#include <stdio.h> | |
#include <stdlib.h> |
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
#include <errno.h> | |
#include <stdio.h> | |
#include <string.h> | |
#include <unistd.h> | |
// A minimal-ish example of writing data to a child process' stdin. | |
int main(int argc, char **argv) { | |
char print_buffer[256]; | |
int stdin_pipe[2]; | |
int result; |
NewerOlder