<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on Jasper</title><link>https://jasper-aa64.github.io/tags/linux/</link><description>Recent content in Linux on Jasper</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 04 Nov 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jasper-aa64.github.io/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>Low-Latency Trading — Context Switches, Page Tables and the TLB</title><link>https://jasper-aa64.github.io/posts/low-latency-context-switch-page-table-tlb/</link><pubDate>Wed, 04 Nov 2026 00:00:00 +0000</pubDate><guid>https://jasper-aa64.github.io/posts/low-latency-context-switch-page-table-tlb/</guid><description>Threads are lighter than processes because the TLB and caches stay usable after the switch, not because the switch itself is cheaper. The TLB has no MESI: when any thread in a process changes the page tables, every core still holding that page table gets interrupted, and pinning and isolcpus cannot prevent it, so once a hot-path process is running its address space is read-only.</description></item><item><title>Trading System Notes #19: Scheduling Policies, Priority Inversion and Kernel Tuning</title><link>https://jasper-aa64.github.io/posts/scheduling-priority-inversion-kernel-tuning/</link><pubDate>Thu, 29 Oct 2026 00:00:00 +0000</pubDate><guid>https://jasper-aa64.github.io/posts/scheduling-priority-inversion-kernel-tuning/</guid><description>Who runs first and for how long: scheduling classes and time slices, three traps of real-time priorities, two fixes for priority inversion, why HFT often skips PREEMPT_RT, and which knobs a low-latency box turns from BIOS to sysctl.</description></item><item><title>Low-Latency Trading — perf: How to Use It, What to Read</title><link>https://jasper-aa64.github.io/posts/low-latency-perf-profiling/</link><pubDate>Thu, 22 Oct 2026 00:00:00 +0000</pubDate><guid>https://jasper-aa64.github.io/posts/low-latency-perf-profiling/</guid><description>stat for the totals, record and report to find the function holding 98% of the samples, annotate to see every sample land on the instruction after an add: a chain of adds, each waiting for the last, and splitting it four ways is 3.3 times faster. Without hardware counters, cpu-clock sampling still works; if the report shows only addresses, check the symbol table and the path the program runs from.</description></item><item><title>Trading System Notes #1: CPU Isolation and NUMA</title><link>https://jasper-aa64.github.io/posts/cpu-affinity-core-isolation-numa/</link><pubDate>Wed, 09 Sep 2026 00:00:00 +0000</pubDate><guid>https://jasper-aa64.github.io/posts/cpu-affinity-core-isolation-numa/</guid><description>The enemy of a low-latency system is jitter, not the mean. The goal is to make your hot thread the only thing that will ever run on its core: pinning kills migration cost, the isolation stack evicts the tick / RCU / interrupts one layer at a time, disabling SMT and locking frequency removes the core&amp;rsquo;s own variability, and share-nothing sidesteps NUMA entirely.</description></item></channel></rss>