41554 blogs · [ { "id": "01a08755-db5a-70f1-ab25-f311e0c08842", "title": "Building a virtio-serial FPGA device (Part 4): Virtqueue processing", "url": "https://blog.vmsplice.net/2026/01/building-virtio-serial-fpga-device-part_01060935865.html", "published_at": "2026-01-10T12:35:16+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acac954a3", "title": "Building a virtio-serial FPGA device (Part 6): Writing the RISC-V firmware", "url": "https://blog.vmsplice.net/2026/01/building-virtio-serial-fpga-device-part_01486670629.html", "published_at": "2026-01-10T12:35:16+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acafe43f3", "title": "Building a virtio-serial FPGA device (Part 5): UART receiver and transmitter", "url": "https://blog.vmsplice.net/2026/01/building-virtio-serial-fpga-device-part_04001134.html", "published_at": "2026-01-10T12:35:16+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acb7d2afa", "title": "Building a virtio-serial FPGA device (Part 3): virtio-serial device design", "url": "https://blog.vmsplice.net/2026/01/building-virtio-serial-fpga-device-part_01938158793.html", "published_at": "2026-01-10T12:35:16+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acbe50b58", "title": "Building a virtio-serial FPGA device (Part 2): MMIO registers, DMA, and interrupts", "url": "https://blog.vmsplice.net/2026/01/building-virtio-serial-fpga-device-part_01619779257.html", "published_at": "2026-01-10T12:35:16+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acc414943", "title": "Building a virtio-serial FPGA device (Part 1): Overview", "url": "https://blog.vmsplice.net/2026/01/building-virtio-serial-fpga-device-part.html", "published_at": "2026-01-10T12:34:00+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acc5d5781", "title": "What's new in VIRTIO 1.4", "url": "https://blog.vmsplice.net/2025/12/whats-new-in-virtio-14.html", "published_at": "2025-12-11T16:33:00+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acce9a51d", "title": "Video and slides available for \"Making io_uring Pervasive in QEMU\" talk at KVM Forum 2025", "url": "https://blog.vmsplice.net/2025/09/video-and-slides-available-for-making.html", "published_at": "2025-09-11T17:12:00+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acd680b2d", "title": "Profiling tools I use for QEMU storage performance optimization", "url": "https://blog.vmsplice.net/2025/06/profiling-tools-i-use-for-qemu-storage.html", "published_at": "2025-06-25T20:26:00+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acda5fed8", "title": "Video and slides available for \"IOThread Virtqueue Mapping\" talk at KVM Forum 2024", "url": "https://blog.vmsplice.net/2024/10/video-and-slides-available-for-iothread.html", "published_at": "2024-10-01T14:02:00+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acdee49af", "title": "Where are the Supply Chain Safe Programming Languages?", "url": "https://blog.vmsplice.net/2024/03/where-are-supply-chain-safe-programming.html", "published_at": "2024-03-31T01:16:00+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acebcea40", "title": "How to access libvirt domains in KubeVirt", "url": "https://blog.vmsplice.net/2024/03/how-to-access-libvirt-domains-in.html", "published_at": "2024-03-06T15:36:00+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955acf5a59d2", "title": "Key-Value Stores: The Foundation of File Systems and Databases", "url": "https://blog.vmsplice.net/2024/01/key-value-stores-foundation-of-file.html", "published_at": "2024-01-25T18:48:00+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955ad00ffeab", "title": "QEMU AioContext removal and how it was done", "url": "https://blog.vmsplice.net/2024/01/qemu-aiocontext-removal-and-how-it-was.html", "published_at": "2024-01-02T20:08:00+00:00" }, { "id": "01a08755-db5b-7147-a6c5-955ad058b9fd", "title": "Storage literature notes on free space management and snapshots", "url": "https://blog.vmsplice.net/2024/01/storage-literature-notes-on-free-space.html", "published_at": "2024-01-01T10:50:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd85d505d8", "title": "Upcoming talk: \"Trust, confidentiality, and hardening: the virtio lessons\" at LPC 2023", "url": "https://blog.vmsplice.net/2023/11/upcoming-talk-trust-confidentiality-and.html", "published_at": "2023-11-12T02:07:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd8638c8fa", "title": "How nostr could enable peer-to-peer apps", "url": "https://blog.vmsplice.net/2023/09/how-nostr-could-enable-peer-to-peer-apps.html", "published_at": "2023-09-09T00:02:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd86d42825", "title": "libblkio 1.3.0 is out", "url": "https://blog.vmsplice.net/2023/04/libblkio-130-is-out.html", "published_at": "2023-04-27T19:58:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd87262ca2", "title": "How to debug stuck VIRTIO devices in QEMU", "url": "https://blog.vmsplice.net/2023/03/how-to-debug-stuck-virtio-devices-in.html", "published_at": "2023-03-22T19:39:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd879a055e", "title": "Writing a C library in Rust", "url": "https://blog.vmsplice.net/2023/02/writing-c-library-in-rust.html", "published_at": "2023-02-20T15:20:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd87b0c7b7", "title": "Video and slides available for \"vhost-user-blk: a fast userspace block I/O interface\"", "url": "https://blog.vmsplice.net/2023/02/video-and-slides-available-for-vhost.html", "published_at": "2023-02-20T12:47:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd8854fc9f", "title": "Speaking at FOSDEM '23 about \"vhost-user-blk: A fast userspace block I/O interface\"", "url": "https://blog.vmsplice.net/2023/01/speaking-at-fosdem-23-about-vhost-user.html", "published_at": "2023-01-25T23:50:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd88d8d497", "title": "LWN article on \"Accessing QEMU storage features without a VM\"", "url": "https://blog.vmsplice.net/2022/11/lwn-article-on-accessing-qemu-storage.html", "published_at": "2022-11-18T20:44:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd899133b6", "title": "Using qemu-img to access vhost-user-blk storage", "url": "https://blog.vmsplice.net/2022/11/using-qemu-img-to-access-vhost-user-blk.html", "published_at": "2022-11-10T19:35:00+00:00" }, { "id": "01a08755-db5c-7309-9cf8-60bd8a4cf1d5", "title": "Comparing VIRTIO, NVMe, and io_uring queue designs", "url": "https://blog.vmsplice.net/2022/06/comparing-virtio-nvme-and-iouring-queue.html", "published_at": "2022-06-30T12:22:00+00:00" }, { "id": "01a0e543-290b-719d-9367-dc90915bd839", "title": "Debugging Flatpak applications", "url": "https://blog.vmsplice.net/2022/04/debugging-flatpak-applications.html", "published_at": "2022-04-29T16:41:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cba5ba47c", "title": "vhost-user is coming to non-Linux hosts!", "url": "https://blog.vmsplice.net/2022/03/vhost-user-is-coming-to-non-linux-hosts.html", "published_at": "2022-03-07T09:37:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cbb5554d3", "title": "Speaking at FOSDEM '22 about \"What's coming in VIRTIO 1.2\"", "url": "https://blog.vmsplice.net/2022/02/speaking-at-fosdem-22-about-whats.html", "published_at": "2022-02-04T20:04:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cbc03a615", "title": "How to add debuginfo to perf(1)", "url": "https://blog.vmsplice.net/2021/12/how-to-add-debuginfo-to-perf1.html", "published_at": "2021-12-08T15:03:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cbc8dadf6", "title": "Peer-to-peer applications with Urbit", "url": "https://blog.vmsplice.net/2021/11/peer-to-peer-applications-with-urbit.html", "published_at": "2021-11-08T22:19:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cbcc62c12", "title": "A new approach to usermode networking with passt", "url": "https://blog.vmsplice.net/2021/10/a-new-approach-to-usermode-networking.html", "published_at": "2021-10-15T18:00:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cbdb7f62c", "title": "KVM Forum 2021 Highlights", "url": "https://blog.vmsplice.net/2021/09/kvm-forum-2021-highlights.html", "published_at": "2021-09-16T15:17:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cbe7602b1", "title": "Slides available for \"Bring Your Own Virtual Devices: Frameworks for Software and Hardware Device Virtualization\"", "url": "https://blog.vmsplice.net/2021/07/slides-available-for-bring-your-own.html", "published_at": "2021-07-02T14:42:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cbed2a30b", "title": "My performance benchmarking workflow (2021)", "url": "https://blog.vmsplice.net/2021/06/my-performance-benchmarking-workflow.html", "published_at": "2021-06-20T13:04:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cbfb34ac3", "title": "Learning programming languages", "url": "https://blog.vmsplice.net/2021/04/learning-programming-languages.html", "published_at": "2021-04-05T20:29:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cbfb5c75d", "title": "Overcoming fear of public communication in open source", "url": "https://blog.vmsplice.net/2021/03/overcoming-fear-of-public-communication.html", "published_at": "2021-03-12T18:15:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cc02f08e6", "title": "Milestone Systems: Software that changes how things are done", "url": "https://blog.vmsplice.net/2021/02/milestone-systems-software-that-changes.html", "published_at": "2021-02-24T20:29:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cc0b9d977", "title": "Video and slides available for \"The Evolution of File Descriptor Monitoring in Linux\"", "url": "https://blog.vmsplice.net/2021/02/video-and-slides-available-for.html", "published_at": "2021-02-16T09:24:00+00:00" }, { "id": "01a0e543-290e-718d-aeb1-1f5cc0d4e724", "title": "Keeping a clean git commit history", "url": "https://blog.vmsplice.net/2021/02/keeping-clean-git-commit-history.html", "published_at": "2021-02-02T23:43:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d1871c2fc7", "title": "Why learning the Vim text editor is worth it", "url": "https://blog.vmsplice.net/2021/01/why-learning-vim-text-editor-is-worth-it.html", "published_at": "2021-01-30T11:01:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d187afecc0", "title": "Building a git forge using git apps", "url": "https://blog.vmsplice.net/2020/12/building-git-forge-using-git-apps.html", "published_at": "2020-12-11T14:17:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d188764312", "title": "Understanding Peer-to-Peer Git Forges with Radicle", "url": "https://blog.vmsplice.net/2020/12/understanding-peer-to-peer-git-forges.html", "published_at": "2020-12-06T10:02:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d1893f77db", "title": "Software Freedom Conservancy announces donation matching", "url": "https://blog.vmsplice.net/2020/12/software-freedom-conservancy-announces.html", "published_at": "2020-12-02T12:47:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d18a3a9cc4", "title": "Git Forge Apps: Why git forges are serverless computing providers", "url": "https://blog.vmsplice.net/2020/11/git-forge-apps-why-git-forges-are.html", "published_at": "2020-11-30T09:27:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d18a501ee9", "title": "Call for QEMU Advent Calendar 2020 disk images", "url": "https://blog.vmsplice.net/2020/11/call-for-qemu-advent-calendar-2020-disk.html", "published_at": "2020-11-27T07:19:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d18a8b5ff7", "title": "Requirements for out-of-process device emulation", "url": "https://blog.vmsplice.net/2020/10/requirements-for-out-of-process-device.html", "published_at": "2020-10-09T16:03:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d18ac9e083", "title": "On unifying vhost-user and VIRTIO", "url": "https://blog.vmsplice.net/2020/09/on-unifying-vhost-user-and-virtio.html", "published_at": "2020-09-27T08:26:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d18b17f151", "title": "Initial applications for Outreachy December-March internships Sept 20", "url": "https://blog.vmsplice.net/2020/09/initial-applications-for-outreachy.html", "published_at": "2020-09-17T16:07:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d18bf89b08", "title": "Using kcov code coverage with meson", "url": "https://blog.vmsplice.net/2020/08/using-kcov-code-coverage-with-meson.html", "published_at": "2020-08-29T12:04:00+00:00" }, { "id": "01a0e543-2910-70fc-b344-53d18c0cbeae", "title": "QEMU Internals: Event loops", "url": "https://blog.vmsplice.net/2020/08/qemu-internals-event-loops.html", "published_at": "2020-08-24T06:52:00+00:00" } ] posts Claim your blog
Back to blog.vmsplice.net
Blog · corpus.blog/blogs/blog.vmsplice.net/posts

blog.vmsplice.net

blog.vmsplice.net

2026

2025

2024

2023

2022

2021

2020