Messages in this thread | | | Date | Wed, 08 Sep 2004 14:35:03 -0500 | From | Ray Bryant <> | Subject | Re: swapping and the value of /proc/sys/vm/swappiness |
| |
Marcelo Tosatti wrote:
> > > Huh, that changes the meaning of the dirty limits. Dont think its suitable > for mainline. > >
The change is, in fact, not much different from what is already actually there. The code in get_dirty_limits() adjusts the value of the user supplied parameters in /proc/sys/vm depending on how much mapped memory there is. If you undo the convoluted arithmetic that is in there, one finds that if you are using the default dirty_ratio of 40%, then if the unmapped_ratio is between 80% and 10%, then
dirty_ratio = unmapped_ratio / 2;
and, a little bit of algebra later:
dirty = (total_pages - wbs->nr_mapped)/2
and
background = dirty_background_ratio/vm_background_ratio * (total_pages - wbs->nr_mapped)
That is, for a wide range of memory usage, you are really running with an dirty ratio of 50% stated in terms of the number of unmapped pages, and there is no direct way to override this.
Of course, at the edges, the code changes these calculations. It just seems to me that rather than continue the convoluted calculation that is in get_dirty_limits(), we just make the outcome more explicit and tell the user what is really going on.
We'd still have to figure out how to encourage a minimum page cache size of some kind, which is what I understand the 5% min value for dirty_ratio is in there for.
-- Best Regards, Ray ----------------------------------------------- Ray Bryant 512-453-9679 (work) 512-507-7807 (cell) raybry@sgi.com raybry@austin.rr.com The box said: "Requires Windows 98 or better", so I installed Linux. -----------------------------------------------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |