LWN: Comments on "SLOB nears the end of the road" https://lwn.net/Articles/918344/ This is a special feed containing comments posted to the individual LWN article titled "SLOB nears the end of the road". en-us Tue, 23 Sep 2025 09:56:49 +0000 Tue, 23 Sep 2025 09:56:49 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Small systems https://lwn.net/Articles/918841/ https://lwn.net/Articles/918841/ patrakov <div class="FormattedComment"> Indeed, I messed up. If one boots the installer CD with insufficient RAM, it will clearly display an error screen, with 32 MB as the stated requirement.<br> </div> Mon, 02 Jan 2023 14:12:26 +0000 Small systems https://lwn.net/Articles/918804/ https://lwn.net/Articles/918804/ khim <p>True, but irrelevant. We are discussing system requirements here. Formally Windows 2000 and Windows ME had the same 32MB minimum memory requirement, but in practice Windows 2000 with 32MB was barely usable while Windows ME was adequate.</p> Sat, 31 Dec 2022 15:03:30 +0000 Small systems https://lwn.net/Articles/918801/ https://lwn.net/Articles/918801/ zdzichu <div class="FormattedComment"> You are comparing two lines of Windows system. Win2000 was a continuation of NT4, while 95, 98, ME were consumer line of Windows. They were separate, concurrent lines, which eventually converged into Windows XP.<br> </div> Sat, 31 Dec 2022 14:00:00 +0000 Small systems https://lwn.net/Articles/918800/ https://lwn.net/Articles/918800/ khim <p><a href="https://web.archive.org/web/20080416050811/http://support.microsoft.com/kb/304297">Microsoft Knowledge Base</a> is not official enough?</p> <p>64MB is something called “recommended minimum” while 32MB if “the minimum supported”. And yes, it was possible to use it with 32MB… but that was too much, that's why PC makers forced Microsoft to release <a href="https://en.wikipedia.org/wiki/Windows_Me">Windows ME</a> which also, officially, needed 32MB, but it was actually possible to use it with 32MB.</p> Sat, 31 Dec 2022 12:47:51 +0000 Small systems https://lwn.net/Articles/918796/ https://lwn.net/Articles/918796/ patrakov <div class="FormattedComment"> Just to correct - Windows 2000 officially required 64 MB of RAM during installation.<br> </div> Sat, 31 Dec 2022 02:52:33 +0000 Small systems https://lwn.net/Articles/918684/ https://lwn.net/Articles/918684/ disconnect3d <div class="FormattedComment"> Azure Sphere from Microsoft is a Linux that runs on a board with 4MiB of RAM: <a href="https://events19.linuxfoundation.org/wp-content/uploads/2017/11/Azure-Sphere-Fitting-Linux-Security-in-4-MiB-of-RAM-Ryan-Fairfax-Microsoft.pdf">https://events19.linuxfoundation.org/wp-content/uploads/2...</a> <br> </div> Thu, 29 Dec 2022 03:49:00 +0000 Small systems https://lwn.net/Articles/918594/ https://lwn.net/Articles/918594/ fman <div class="FormattedComment"> Just to clarify: That is is 4 MB of *flash* (persistent storage) and 32 MB of RAM<br> </div> Mon, 26 Dec 2022 14:58:53 +0000 Small systems https://lwn.net/Articles/918581/ https://lwn.net/Articles/918581/ khim <p>Linux 2.2 was released in 1999. Windows 2000 system requirements of 32MB were considered crazy heavy and that's why Windows 98 survived for quite some time after that</p> <p>It's possible that Linux 2.2 wasn't supporting 4MB well, but it definitely worked on that amount of RAM. And 16MB was usable with GUI (even if slow).</p> Mon, 26 Dec 2022 01:43:20 +0000 Small systems https://lwn.net/Articles/918563/ https://lwn.net/Articles/918563/ developer122 <div class="FormattedComment"> By then people had more ram.<br> </div> Sat, 24 Dec 2022 23:50:31 +0000 Small systems https://lwn.net/Articles/918559/ https://lwn.net/Articles/918559/ heatd <div class="FormattedComment"> Yes it was, SLAB replaced the original kmalloc() around 2.1.something (and the original slab per Bonwick94 replaced the original, more traditional SunOS malloc).<br> </div> Sat, 24 Dec 2022 23:31:35 +0000 Small systems https://lwn.net/Articles/918558/ https://lwn.net/Articles/918558/ developer122 <div class="FormattedComment"> It's not the same allocator anymore. As the article notes:<br> <p> <span class="QuotedText">&gt; SLOB is a traditional K&amp;R/UNIX allocator with a SLAB emulation layer, similar to the original Linux kmalloc allocator that SLAB replaced.</span><br> <p> SLAB wasn't around in those days.<br> </div> Sat, 24 Dec 2022 23:04:34 +0000 Small systems https://lwn.net/Articles/918556/ https://lwn.net/Articles/918556/ tamiko <div class="FormattedComment"> Yes, that was the article (not talk) that I remembered!<br> </div> Sat, 24 Dec 2022 20:27:10 +0000 Small systems https://lwn.net/Articles/918545/ https://lwn.net/Articles/918545/ willy <div class="FormattedComment"> Nico Pitre? <a href="https://lwn.net/Articles/748198/">https://lwn.net/Articles/748198/</a><br> </div> Sat, 24 Dec 2022 18:46:34 +0000 Small systems https://lwn.net/Articles/918543/ https://lwn.net/Articles/918543/ rhack <div class="FormattedComment"> And there is crazy people still around :).<br> <a href="https://github.com/marmolak/gray486linux">https://github.com/marmolak/gray486linux</a> <br> <p> 4 MB seems to be just guess, but it's possible to boot linux kernel (6.1)<br> via netboot with 8 MB RAM.<br> </div> Sat, 24 Dec 2022 17:55:02 +0000 Small systems https://lwn.net/Articles/918542/ https://lwn.net/Articles/918542/ atnot <div class="FormattedComment"> For reference, OpenWRT, the most common linux distribution for constrained devices, has all but dropped support for 32/4 (MB of Flash/RAM) devices: <a href="https://openwrt.org/supported_devices/432_warning">https://openwrt.org/supported_devices/432_warning</a>, with 64/8 being declared passable and 128/16 useful. So that appears to be the practical limit.<br> <p> There's still devices that fall below this range of course, but I personally think that even if it could be done, it doesn't makes much sense to support them in linux today in the first place. There's a real cost to every order of magnitude of memory you support, and they usually run some custom RTOS out of the box anyway, which they are probably much better served by.<br> </div> Sat, 24 Dec 2022 15:51:05 +0000 Small systems https://lwn.net/Articles/918539/ https://lwn.net/Articles/918539/ Wol <div class="FormattedComment"> Last I heard, the minimum requirement for the *stock* kernel to boot (admittedly, config options pared down to a minimum) was 6MB.<br> <p> And it was pointed out that your typical distro installer needed more than that ...<br> <p> It's all the stuff on top of the kernel that is responsible for demanding all that ram.<br> <p> Cheers,<br> Wol<br> </div> Sat, 24 Dec 2022 15:06:18 +0000 Small systems https://lwn.net/Articles/918537/ https://lwn.net/Articles/918537/ tamiko <div class="FormattedComment"> The last time I checked a stock distribution kernel required around 50 MBytes of RAM to boot. For today's standards where we measure the amount of RAM of mobile phones in GBytes this is tiny.<br> <p> I think that this "high" memory requirement is mostly due to speed optimizations in the kernel (and allocator). So the mentioned SLUB_TINY option might just do the trick in removing/reducing most of these default allocations.<br> <p> I remember vaguely that someone gave a talk not too long ago presenting a modified Linux kernel that required less than a MByte to boot.<br> </div> Sat, 24 Dec 2022 13:54:53 +0000 Small systems https://lwn.net/Articles/918535/ https://lwn.net/Articles/918535/ epa <div class="FormattedComment"> The slab allocator, as the article says, has been there almost since the beginning. In those days 32 megabytes of RAM was a lot. Linux commonly ran on PCs with eight megs or less. What has changed to make the slab allocator no longer suitable for these small systems? And can it be partially undone by adding new tuning knobs to the allocator?<br> </div> Sat, 24 Dec 2022 11:39:53 +0000