Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2692

U

Unixism

Personal blog · unixism.net · on HN as shusssystemsprogramming

Unixism is a personal blog at unixism.net about systems and programming. Since 2019, 28 different Hacker News readers have linked it 49 times, most often “Lord of the io_uring: io_uring tutorial, examples and reference”. It is still writing: the last post was on 2026-10-15, and you can follow it by feed.

Visit the blog
49mentions?
28HN people?
2019–2026first – last linked?
Links on Hacker News per year · peak 16 in 2020

Too few sampled comments (16) to say how often HN recommends it.?

Why HN links it

HN readers link Unixism for its io_uring tutorials ('Lord of the io_uring') and articles on building small servers and high-performance Linux I/O.

Summarised by Claude from a sample of 16 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Of consoles and blinking cursors

The author on HN?

shuss · 962 karma · member since 2013

Author of Unixism. Garden variety nerd. - https://unixism.net - https://twitter.com/shuveb

From their public HN profile, which links to this site.

Most-linked posts?

  1. Lord of the io_uring: io_uring tutorial, examples and reference
    6 people · 6 mentions · first linked 2020-05-10
  2. Show HN: ZeroHTTPd: A web server to teach Linux performance, with benchmarks
    5 people · 6 mentions · first linked 2019-05-30
  3. /loti/tutorial/sq_poll.html
    3 people · 4 mentions · first linked 2020-05-10
  4. Lord of the Io_uring (2020)
    3 people · 3 mentions · first linked 2022-05-18
  5. Io_uring By Example: cat, cp and a web server with io_uring
    2 people · 3 mentions · first linked 2020-04-05
  6. What kind of traffic does Hacker News generate? See my Google Analytics data
    2 people · 3 mentions · first linked 2020-05-17
  7. How AWS Firecracker works: A deep dive (2019)
    2 people · 2 mentions · first linked 2019-10-15
  8. What Is Io_uring?
    2 people · 2 mentions · first linked 2020-10-20

What Hacker News says?

  1. I only read about io_uring without yet having a chance of actually using it so take this with a grain of salt: I read that io_uring has two modes, one where you signal via a system call and another that uses memory mapped polling. https://unixism.net/loti/tutorial/sq_poll.html states: > Reducing the number of system calls is a major aim for io_uring. To this end, io_uring lets you submit I/O requests without you hav…

    Comment linking /loti/tutorial/sq_poll.html

    on “How io_uring and eBPF Will Revolutionize Programming in Linux”
  2. Submitted Show HN: ZeroHTTPd: A web server to teach Linux performance, with benchmarks as a story · 472 points

    HN discussion
  3. For anyone wanting to learn more about how to create a small server with io_uring: https://unixism.net/2020/04/io-uring-by-example-article-seri...

    Comment linking /2020/04/io-uring-by-example-article-series/

    on “Io_uring, kTLS and Rust for zero syscall HTTPS server”
  4. Submitted Lord of the io_uring: io_uring tutorial, examples and reference as a story · 267 points

    HN discussion
  5. > Speed is the only reason CGI doesn't fly. It is indeed very very slow; mostly because it is not possible to pre-fork your CGI scripts (environment variables get set from the request, so each cgi program will have different values in the environment). But, if you could pass HTTP data via some way other than environment variables, you could pre-fork the binaries and have acceptable speed[1]. [1] Pre-forking makes a…

    Comment linking /2019/04/linux-applications-performance-introduction/

    on “Cloudflare Pages: Best server tech since CGI-bin?”
  6. Submitted A Manager’s Guide to Kubernetes Adoption as a story · 205 points

    HN discussion
  7. gavinhoward · 2024-07-15Recommends
    Ack! I was just about to write a blog post on this idea! Good minds think alike, I guess. But as a sibling comment says, this is essentially what io_uring is. Read Lord of the io_uring [1] if you want to know more. Polling mode is the key. [1]: https://unixism.net/loti/index.html

    Comment linking /loti/index.html

    on “Fusion – A hobby OS implemented in Nim”
  8. Submitted Gocker: Docker implemented in 1.3k lines of Go as a story · 186 points

    HN discussion
  9. This is such a great point. Never thought how async I/O could be a problem this way. In the SQ polling example, I used BPF to "prove" that the process does not make system calls: https://unixism.net/loti/tutorial/sq_poll.html Could be a good idea to use BPF to expose what io_uring is doing. Just a wild thought.

    Comment linking /loti/tutorial/sq_poll.html

    on “Lord of the io_uring: io_uring tutorial, examples and reference”
  10. Submitted Io_uring By Example: cat, cp and a web server with io_uring as a story · 185 points

    HN discussion
  11. The raw io_uring interface, once you ignore the boilerplate initialization code, is actually a super-simple interface to use. liburing is itself only a very thin wrapper on top of io_uring. I feel that if you ever used io_uring, after a while you'll end up with a bunch of convenience functions. liburing looks more like a collection of those functions to me today. One place where a slightly high-level interface is pr…

    Comment linking /loti/tutorial/sq_poll.html

    on “Lord of the io_uring: io_uring tutorial, examples and reference”
  12. Submitted Lord of the Io_uring (2020) as a story · 173 points

    HN discussion
  13. epoll might not be, but poll is (depending on how one would interpret 'classic'). Anyhow, I wrongly assumed the difference mattered in respect of whether one could use io_uring in combination with epoll(). It turns out, one can [1] or [2]. [1] https://stackoverflow.com/questions/70132802/waiting-for-epo... [2] https://unixism.net/loti/tutorial/register_eventfd.html

    Comment linking /loti/tutorial/register_eventfd.html

    on “Linux: What Can You Epoll?”
  14. Submitted Linux Pressure Stall Information (PSI) by Example as a story · 132 points

    HN discussion
  15. > Interesting CGI content linked on there. > >I've been reading about / hacking on CGI recently, and it's been kinda fun! > >Question: One thing I keep reading is how inefficient it is to start a new process for each incoming connection. Could someone explain to me why that's such a bottleneck? I imagine it being an issue back when CGI was used everywhere, people moving away from CGI, and forgetting about it. But ha…

    Comment linking /2019/04/linux-applications-performance-part-vii-epoll-servers/

    on “BCHS: OpenBSD, C, httpd and SQLite web stack”
  16. Submitted Show HN: Sparkler – A KVM-Based Virtual Machine Manager as a story · 108 points

    HN discussion
  17. I've been super curious to see what was at stake here! This sounds better than I'd dared to hope for. I kind of thought this was just gonna be some kind of deferred texture loading thing, help with streaming assets. If it actually allows inter-warp sequencing, it sounds like it might possibly solve the chief complains supreme GUI master Raph Levien recently had in I want a good parallel computer , which so that even…

    Comment linking /loti/tutorial/link_liburing.html

    on “RDNA 4's “Out-of-Order” Memory Accesses”
  18. Submitted Lord of the Io_uring (2020) as a story · 44 points

    HN discussion
  19. Good article. However, it would be interesting to compare these two things against better system calls. > the data referred to by these pointers must be copied into the kernel Modern OS kernels avoid that when they can. The article is about Linux, modern ones have io_uring: https://unixism.net/loti/what_is_io_uring.html In short, that thing allows to setup these pointers in advance, and make the memory visible to bo…

    Comment linking /loti/what_is_io_uring.html

    on “Why mmap is faster than system calls (2019)”
  20. Submitted Linux Applications Performance: Introduction (2019) as a story · 37 points

    HN discussion
  21. Depends on your usage patterns. On 8GB I gave it (ZRAM) between 512MB to 768MB RAM, and later on just using whatever values for the relevant sysctls AntiX was using(or their scripts created dynamically during setup/startup) at the time. It isn't just vm.swappiness , there are others, and they changed, or got removed, and replaced by others, over the years. And all of them sort of interwoven , influencing each other…

    Comment linking /2019/08/linux-pressure-stall-information-psi-by-example

    on “Firefox-patch-bin, librewolf-fix-bin AUR packages contain malware”
  22. Submitted How AWS Firecracker works: A deep dive (2019) as a story · 12 points

    HN discussion
  23. https://unixism.net/loti/

    Comment linking /loti/

    on “How to handle people dismissing io_uring as insecure? (2024)”
  24. Submitted A Manager’s Guide to Kubernetes Adoption as a story · 9 points

    HN discussion
  25. > That's not all, though, right? Unless you're using the dubious kernel-driven polling thread, which I gather is uncommon, you _also_ have to make a submit system call of some kind after you've finished appending stuff to your submit queue. Otherwise, how would the kernel know you'd done it? Correct, the "check for new entries" system call is called io_uring_enter() . (0) > Some system calls are not especially async…

    Comment linking /loti/ref-iouring/io_uring_enter.html

    on “What Is Io_uring?”
  26. Submitted Showdown of 7 network server architectures (iterative to epoll) on Linux as a story · 8 points

    HN discussion
  27. > The security credentials of an io_uring are established at creation time. Well, the security credentials of a file descriptor are established at ```open()``` time. Is this really so different? Running through the list of io_uring opcodes, only two of them work on ```char*``` paths: IORING_OP_OPENAT and IORING_OP_OPENAT2, which were added to io_uring after it was introduced. All the rest operate solely upon already…

    Comment linking /loti/ref-iouring/io_uring_enter.html

    on “Tokio-Uring Design Proposal”
  28. Submitted Io_uring by Example as a story · 5 points

    HN discussion
  29. With image-rich content, 5mbps will be visibly sluggish with only one visitor and even a few people you know poking it at the same time well have a bad experience. Judging by https://unixism.net/2020/05/what-kind-of-traffic-does-hacker... and https://news.ycombinator.com/item?id=30481230 , surviving a couple loads per second up to 25 will get you through many slashdottings, and with a solid symmetrical home connecti…

    Comment linking /2020/05/what-kind-of-traffic-does-hacker-news-generate/

    on “I discovered caching CDNs were throttling my everyday browsing”
  30. Submitted Io_uring by Example as a story · 4 points

    HN discussion

Search all of HN for unixism.net

Linked by the same people?