Skip to content

Instantly share code, notes, and snippets.

View gist:eb3a40a9e63ba33c7d49b82a519c04f7
/* -*- Mode: C; tab-width: 8; c-basic-offset: 2; indent-tabs-mode: nil; -*- */
#include "util.h"
pid_t main_thread_tid = 0;
int fds[2];
char zeros[8192];
void sigproc_and_hang(void)
{
View gist:fc4b00960d3954649a42fd1b40f746bc
This file has been truncated, but you can view the full file.
------------------------------------------
7) rr:juli-21726 => rr-21725
------------------------------------------
7) | switch_mm_irqs_off() {
7) 1.624 us | load_new_mm_cr3();
7) 8.897 us | }
------------------------------------------
7) rr-21725 => rr:juli-21726
@Keno
Keno / bad.ll
Created Mar 30, 2022
bad loop vectorize
View bad.ll
define internal {} addrspace(10)* @japi1_vect_42283({} addrspace(10)** %0, i32 %1) #0 {
top:
%2 = sext i32 %1 to i64
%3 = load atomic {} addrspace(10)* ({} addrspace(10)*, i64)*, {} addrspace(10)* ({} addrspace(10)*, i64)** bitcast (void ()** @jlplt_ijl_alloc_array_1d_10294_got to {} addrspace(10)* ({} addrspace(10)*, i64)**) unordered, align 8
%4 = call {} addrspace(10)* %3({} addrspace(10)* null, i64 0)
%5 = bitcast {} addrspace(10)** %0 to { {} addrspace(10)*, i64 } addrspace(10)**
%6 = load { {} addrspace(10)*, i64 } addrspace(10)*, { {} addrspace(10)*, i64 } addrspace(10)** %5, align 8, !tbaa !0
%7 = bitcast {} addrspace(10)* %4 to { {} addrspace(10)*, i64 } addrspace(13)* addrspace(10)*
%8 = addrspacecast { {} addrspace(10)*, i64 } addrspace(13)* addrspace(10)* %7 to { {} addrspace(10)*, i64 } addrspace(13)* addrspace(11)*
%9 = load { {} addrspace(10)*, i64 } addrspace(13)*, { {} addrspace(10)*, i64 } addrspace(13)* addrspace(11)* %8, align 8, !tbaa !5
View gist:a27add2aed10793b76d340639d0d5bd8
target triple = "x86_64-unknown-linux-gnu"
@SUM.CoreDOT.Tuple5334 = external dso_local global {}*
@jlplt_ijl_alloc_array_1d_10294_got = external dso_local global void ()*
@jl_sysimg_gvars = constant [15411 x i64*] [i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64* undef, i64*
View gist:5587fbfe89bff96c863c8eeb1477defa
module TortureTest
# Scalability parameters - set here to roughly match the real world usecase
# though that use case does more work.
const NFIELDS = 888
const NSET = 387
const NREPS = 40
using Random
using Base.Meta
View nv-pci-rebar.patch
--- nv-pci.c 2022-01-08 23:12:19.137095516 +0000
+++ /usr/src/nvidia-495.46/nvidia/nv-pci.c 2022-01-09 00:05:21.323360921 +0000
@@ -217,7 +217,78 @@
+#define NV_GPU_BAR1 1
+static int nv_resize_pcie_bars(struct pci_dev *pci_dev) {
+ struct pci_host_bridge *host;
+ u16 cmd;
View gist:3f093d62ea1ce0447066e4d891cdd6da
diff --git a/programs/conhost/conhost.c b/programs/conhost/conhost.c
index 78f6e345170..35e050abf27 100644
--- a/programs/conhost/conhost.c
+++ b/programs/conhost/conhost.c
@@ -1385,7 +1385,7 @@ static NTSTATUS read_console( struct console *console, unsigned int ioctl, size_
if (edit_line_grow( console, 1 )) console->edit_line.buf[0] = 0;
console->pending_read = out_size;
- return process_console_input( console );
+ return STATUS_PENDING;
View gist:800d1f0ce542208e289ec27b7de3d8f7
This file has been truncated, but you can view the full file.
$ RR_LOG=all:debug ~/rr-build/bin/rr replay -g 3770
[GdbCommandHandler] registering command: elapsed-time
[GdbCommandHandler] registering command: when
[GdbCommandHandler] registering command: when-ticks
[GdbCommandHandler] registering command: when-tid
[GdbCommandHandler] registering command: rr-history-push
[GdbCommandHandler] registering command: back
[GdbCommandHandler] registering command: forward
[GdbCommandHandler] registering command: checkpoint
View NeurIPS talk.pdf
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View gist:00774c555fa5d77e40eefe744cc4489d
"""
circshift_gcdless!(arr::AbstractVector, shift)
Circularly shift the array `arr` by the given `shift` amount.
The algorithm used is the well-known GCD-less (aka implicit GCD)
juggling algorithm (e.g. STL3 in [SHENE97]).
[SHENE97] https://pages.mtu.edu/~shene/PUBLICATIONS/1997/Array-Rotation.pdf
"""
function circshift_gcdless!(arr::AbstractVector, shift::Integer)