frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

phkmalloc

https://phk.freebsd.dk/sagas/phkmalloc/
82•fanf2•7mo ago

Comments

nasretdinov•7mo ago
Nice article! I wonder if now, with all the NUMA stuff and processors with hundreds of cores something changed sufficiently enough that it warrants another complete redesign similar to what happened in the article
karmakaze•7mo ago
A lot of the article talked about swap which wouldn't be a concern in normal operation of most production servers--cache/memory locality still matters but not as dramatically. Back when I was managing bare-metal MySQL servers we were getting scaling to NUMA memory (with jemalloc/tcmalloc). There was an initial performance degradation that required a lot of fine-tuning even working around how the same motherboard/CPUs would initialize core affinities differently. A new problem was deadlocking of large transactions that touched multiple buffer instances. Mind you this wasn't a clean codebase that put a lot of thought into avoiding deadlocks (up until then).

At the time I didn't think much about how the allocators could help as they're constrained to the ABI. Writing in Zig with custom allocators for everything would. The only mysql NUMA setting was innodb_numa_interleave=ON which wasn't very good but not a lot worse than trying harder.

toast0•7mo ago
Much of that is well addressed by one allocator arena per cpu, and either pinning threads to cpus or at least having a high threshold to move threads across NUMA boundaries.

If you have a lot of cross thread memory use, maybe you need something to help with allocate on core X, free on core Y and the cross core communication that causes (maybe that's already in place?).

There's more memory overhead that way, but large core count systems tend to have a lot of memory too.

masklinn•7mo ago
> Much of that is well addressed by one allocator arena per cpu, and either pinning threads to cpus or at least having a high threshold to move threads across NUMA boundaries.

Note that that can have an awkward effect: if the thread gets parked (either entirely, or just stops calling the allocator because it has reached its steady state), the allocator may never have the opportunity to release that thread's memory. IIRC mimalloc suffers from this issue, you need to call an allocator specific API to tell it about the regime change.

elteto•7mo ago
"... spending an hour over breakfast, chatting with Dennis Ritchie about device nodes and timekeeping in early UNIX kernels"

Wow, what an incredible experience!

throw0101d•7mo ago
For those unaware, "PHK" is:

* https://en.wikipedia.org/wiki/Poul-Henning_Kamp

Amongst other things (including jails), he invented the MD5crypt algorithm (originally for FreeBSD) as an alternative to the original DEScrypt of Unix:

* https://en.wikipedia.org/wiki/Crypt_(C)#MD5-based_scheme

Nowadays probably most well-known for creating Varnish:

* https://en.wikipedia.org/wiki/Varnish_(software)

bogeholm•7mo ago
Nice guy by the way! Met him on a train home from work once. I was working on my computer, glanced left and saw someone with a red beard running a tiling WM on some real boy system. Since we were in the silent zone, I wrote

    phk?
In a text editor - got a nod, and we shook hands :)
grogers•7mo ago
> Reasonable people who’s opinions I respect, have called this hack anything from “brilliant” to “an afront to all morals”. I think it is OK.

It's definitely a clever hack given the constraints of malloc, but this anecdote made me smile very widely.

In addition to multi-core becoming the norm causing it to be less performant than alternatives, I imagine the "sanity checking" aspects of phkmalloc were subsumed by things like ASAN.

Tuna-Fish•7mo ago
> Because I kept the “metadata” away from the chunks themselves, and because I used a binary “buddy” layout for sub-page-sized allocations, I could detect some of the most common mistakes.

> First I thought “We’re not having any of that” and made phkmalloc abort(2) on any wrong usage. Next time I rebooted my laptop fsck(8) aborted, and left me in single user mode until I could fix things with a floppy disk.

I love everything about this anecdote.

dataflow•7mo ago
If you like Poul Henning-Kamp, also see the following by him:

- "NSA Operation ORCHESTRA: Annual Status Report": https://mirrors.dotsrc.org/fosdem/2014/Janson/Sunday/NSA_ope...

- The bikeshed email: https://phk.freebsd.dk/sagas/bikeshed/

Tiny C Compiler

https://bellard.org/tcc/
44•guerrilla•1h ago•12 comments

You Are Here

https://brooker.co.za/blog/2026/02/07/you-are-here.html
24•mltvc•1h ago•17 comments

SectorC: A C Compiler in 512 bytes

https://xorvoid.com/sectorc.html
147•valyala•5h ago•23 comments

The F Word

http://muratbuffalo.blogspot.com/2026/02/friction.html
72•zdw•3d ago•28 comments

Brookhaven Lab's RHIC concludes 25-year run with final collisions

https://www.hpcwire.com/off-the-wire/brookhaven-labs-rhic-concludes-25-year-run-with-final-collis...
35•gnufx•3h ago•38 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
75•surprisetalk•4h ago•86 comments

Italy Railways Sabotaged

https://www.bbc.co.uk/news/articles/czr4rx04xjpo
58•vedantnair•1h ago•39 comments

Software factories and the agentic moment

https://factory.strongdm.ai/
115•mellosouls•8h ago•221 comments

GitBlack: Tracing America's Foundation

https://gitblack.vercel.app/
6•martialg•34m ago•0 comments

LLMs as the new high level language

https://federicopereiro.com/llm-high/
13•swah•4d ago•7 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
155•AlexeyBrin•10h ago•28 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
863•klaussilveira•1d ago•263 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
112•vinhnx•8h ago•14 comments

FDA intends to take action against non-FDA-approved GLP-1 drugs

https://www.fda.gov/news-events/press-announcements/fda-intends-take-action-against-non-fda-appro...
26•randycupertino•42m ago•19 comments

Show HN: A luma dependent chroma compression algorithm (image compression)

https://www.bitsnbites.eu/a-spatial-domain-variable-block-size-luma-dependent-chroma-compression-...
20•mbitsnbites•3d ago•1 comments

Al Lowe on model trains, funny deaths and working with Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
72•thelok•7h ago•13 comments

First Proof

https://arxiv.org/abs/2602.05192
73•samasblack•7h ago•57 comments

I write games in C (yes, C) (2016)

https://jonathanwhiting.com/writing/blog/games_in_c/
155•valyala•5h ago•133 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
252•jesperordrup•15h ago•82 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
528•theblazehen•3d ago•196 comments

Show HN: I saw this cool navigation reveal, so I made a simple HTML+CSS version

https://github.com/Momciloo/fun-with-clip-path
37•momciloo•5h ago•5 comments

Selection rather than prediction

https://voratiq.com/blog/selection-rather-than-prediction/
18•languid-photic•3d ago•5 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
97•onurkanbkrc•10h ago•5 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
209•1vuio0pswjnm7•11h ago•314 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
42•marklit•5d ago•6 comments

A Fresh Look at IBM 3270 Information Display System

https://www.rs-online.com/designspark/a-fresh-look-at-ibm-3270-information-display-system
52•rbanffy•4d ago•13 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
129•videotopia•4d ago•40 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
269•alainrk•10h ago•448 comments

France's homegrown open source online office suite

https://github.com/suitenumerique
642•nar001•9h ago•281 comments

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
40•sandGorgon•2d ago•17 comments