How does disk caching work?

Uwe Doering gemini at
Tue Apr 20 15:06:40 PDT 2004

Igor Shmukler wrote:
>>>I actually pretty much explain the whole rotation process. If you read my email again, you should understand what happens whenever page is moved from inactive to cache and then to free.
>>You may want to study the kernel sources some more, I'm afraid.
> First you explicitly write that "pages in the cache queue have lost this association" then you tell me that I don't understand how VM works.

Quote from my initial email about this subject:

"Pages in the inactive queue can be still mapped into the memory space 
of processes, while pages in the cache queue have lost this association."

Which means that I specified right from the beginning which association 
I was referring to (process memory mapping), and that's what I repeated, 
in more detail, in my email following that.  I didn't mention the 
association with the underlying VM object in this context, which remains 
intact.  So I don't quite see what inconsistency you are accusing me of.

>>>>So, for reasons like these, I keep recommending to either study the 
>>>>kernel sources before you try to tune the VM system, or leave these 
>>>>variables alone.
>>>I am not sure whether studying kernel sources is really necessary. Virtually every UNIX (R) admin had to tune the machine, despite sources not being available.
>>Sorry, but you just proved my point ...
> What was that?
> In first email you write that size of cache queue does not affect disk traffic. In next you say, no I did not mean that. I just wanted to say that cache queue holds pages that lost association. Now you say, no of course there is an association, someone just has to study kernel sources better.
> Last argument is valid only because it's a moot point. Studying kernel sources never hurts anyone ...
> I did not originally intend to flame you. I simply thought that some of your answers were not correct. If you had answered off the list, I would not bother, but this a public mailing list and it is a source of knowledge for many people. VM in particular is a grey area for many developers. Everyone knows what it's for, but few programmers really understand VM or VFS. Now you start giving me funny advices. That's not wise.

Okay.  I tried to be helpful and share my knowledge, but I don't insist 
on convincing anybody, at least not in my (scarce) spare time.  Since I 
don't feel that this discussion is going to lead anywhere I suggest that 
we leave it at that and agree that we disagree.

Uwe Doering         |  EscapeBox - Managed On-Demand UNIX Servers
gemini at  |

More information about the freebsd-performance mailing list