Messages in this thread | | | Date | Fri, 12 Jan 2007 11:59:43 +0800 | From | "Roy Huang" <> | Subject | Re: O_DIRECT question |
| |
Limiting total page cache can be considered first. Only if total page cache overrun limit, check whether the file overrun its per-file limit. If it is true, release partial page cache and wake up kswapd at the same time.
On 1/12/07, Aubrey <aubreylee@gmail.com> wrote: > On 1/11/07, Roy Huang <royhuang9@gmail.com> wrote: > > On a embedded systerm, limiting page cache can relieve memory > > fragmentation. There is a patch against 2.6.19, which limit every > > opened file page cache and total pagecache. When the limit reach, it > > will release the page cache overrun the limit. > > The patch seems to work for me. But some suggestions in my mind: > > 1) Can we limit the total page cache, not the page cache per each file? > think about if total memory is 128M, 10% of it is 12.8M, here if > one application is running, it can use 12.8M vfs cache, then the > performance will probably not be impacted. However, the current patch > limit the page cache per each file, which means if only one > application runs it can only use CONFIG_PAGE_LIMIT pages cache. It may > be small to the application. > ------------------snip--------------- > if (mapping->nrpages >= mapping->pages_limit) > balance_cache(mapping); > ------------------snip--------------- > > 2) A percent number should be better to control the value. Can we add > a proc interface to make the value tunable? > > Thanks, > -Aubrey > - 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/
| |