LWN: Comments on "A CLOCK-Pro page replacement implementation" https://lwn.net/Articles/147879/ This is a special feed containing comments posted to the individual LWN article titled "A CLOCK-Pro page replacement implementation". en-us Sat, 20 Sep 2025 05:43:13 +0000 Sat, 20 Sep 2025 05:43:13 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net A CLOCK-Pro page replacement implementation https://lwn.net/Articles/149911/ https://lwn.net/Articles/149911/ riel Kernels get unstable when the maintainer only merges experimental code and drops bugfixes on the floor. Luckily these days the kernel has a decent process for making sure that doesn't happen, with patches filtering through Andrew Morton's -mm tree first, and Linus having tools to be able to merge the patches he needs to merge.<br> <p> During the early 2.4 days, all of the bugfixes needed to get the VM stable were in the -ac kernels, but due to a lack of tools and process they never made it into Linus' tree...<br> Wed, 31 Aug 2005 19:03:42 +0000 A CLOCK-Pro page replacement implementation https://lwn.net/Articles/149810/ https://lwn.net/Articles/149810/ nickb It's good to see Rik back on the memory management task again. His work in the 2.3 kernels was certainly responsible for many of the stability issues of early 2.4 releases. Finally the bullet was bitten and his code removed.<br> <p> I hope we don't see a repeat of this in the 2.6 kernels.<br> Tue, 30 Aug 2005 23:20:54 +0000 A CLOCK-Pro page replacement implementation https://lwn.net/Articles/149161/ https://lwn.net/Articles/149161/ forthy I've proposed something like this probably 5 years ago. Well, I've only <br> started a discussion, and didn't write code, and the discussion was turned <br> down, because the Linux kernel maintainer back then thought the VM was <br> "good enough" (I don't think so). <br> <br> The main point in the scheme I proposed is a multi-level list of pages, <br> not just a two-level as it is now. Pages which have been accessed recently <br> elevate by one level, pages which didn't go down one level. That way, <br> frequently used pages end up on the top, while unused pages quickly turn <br> down to the bottom, making them subject for eviction. Page scanning should <br> depend on page age, i.e. recently allocated pages should be scanned more <br> often than old pages. <br> <br> New pages, however, don't start at the top, but (maybe depending on how <br> they were allocated) somewhere in between. <br> <br> My other pet peeve is the page size. My rule of thumb for random data <br> access is that access time and transfer time should be about the same. <br> I.e. 4k pages, which take 10ms to access and 0.1ms to transfer, are ways <br> too small. The swap in bandwidth is about 400k/s. You can write a small <br> memory hog which evicts most of the other programs in a second (writing <br> out sequential pages is easy), and then wait for a minute to have them <br> demand-page in again (no easy read-in of sequential pages). <br> <br> At the time where the page size decission was made (~1985), the 4k size <br> did make sense, taking my rule of thumb into account (same 10ms access <br> time, but clearly less than 1MB/s transfer). Fortunately, it's only a few <br> years when the next larger native page size on x86 (2MB) will fit in well <br> with the rule of thumb, and then should be used. <br> Thu, 25 Aug 2005 11:58:59 +0000 A CLOCK-Pro page replacement implementation https://lwn.net/Articles/148100/ https://lwn.net/Articles/148100/ lacostej Once again a great article. Thanks.<br> Thu, 18 Aug 2005 07:42:57 +0000