In article <1992Aug5.102706.15668@colorado.edu> drew@ophelia.cs.colorado.edu (Drew Eckhardt) writes:The accessed bit will be used in the soon-to-be-made (I didn't get them together yesterday, but I'll try again today) first patch to 0.97. It's very practical, and didn't need any additional state information. While the current routine isn't a real LRU (Least Recently Used) which needs some actual calculations, it's NRU (Not Recently Used) which is a simple approximation that can do with just the one bit that is already provided by the hardware. A closer approximation to LRU would be some aging mechanism (the 386 page tables even have room for a 3-bit wide aging or somthing like that in the unused bits), and it might be worth implementing eventually. This is similar to what the 0.97+patch1 algorithm does - it's simple, and while it's not perfect it works relatively well. Or at least that's the early indications from my tests. I won't be able to do exhaustive tuning of the algorithms, so the patch1 algorithm might not be perfect. We'll see. It's a bit more work to actually go through the pages and take this into account, so I currently don't. But you are right: this is how it should (and will) be done. Actually, it's not a very time-critical check: it's done by the idle task anyway (which is the reason I originally made task[0] special: it just hasn't been used up till now). That way the machine does something useful even when waiting for disk accesses etc. In patch1 the algorithm just searches for non-accessed pages so that the system doesn't have to do those calculations every time it wants to swap something out. It should be relatively easy to enhance to do aging and check on the same page being used by several different processes. Linus
| Andrew Morton | Re: 2.6.24-rc6-mm1 |
| Glauber de Oliveira Costa | [PATCH 8/19] modify write_ldt function |
| Steven Rostedt | Re: Major regression on hackbench with SLUB |
| Satyam Sharma | Re: 2.6.23-rc4-mm1 |
git: | |
| Chris Ortman | [FEATURE REQUEST] git-svn format-patch |
| Bill Lear | Meaning of "fatal: protocol error: bad line length character"? |
| Scott Chacon | Git Community Book |
| Catalin Marinas | Re: [ANNOUNCE] pg - A patch porcelain for GIT |
| Richard Stallman | Real men don't attack straw men |
| frantisek holop | nptd regression in 4.2 |
| Kevin | uvm_mapent_alloc: out of static map entries on 4.3 i386 |
| Vim Visual | GRAPE cluster supercomputer + OpenBSD |
| John Stoffel | Re: [PATCH] LogFS take three |
| hooanon05 | [PATCH 62/67] aufs magic sysrq handler |
| Chris Mason | Re: [PATCH][RFC] fast file mapping for loop |
| Chris Mason | Re: [ANNOUNCE] Btrfs v0.12 released |
