On 2016-02-14 03:39, Stuart Henderson wrote:
On 2016-02-13, Tinker <ti...@openmailbox.org> wrote:
Hi,

Some quite deep reading [1] taught me that at least quite recently,
there was a ~3GB cap on the buffer cache, independent of architecture
and system RAM size.

Reading the source history of vfs_bio.c [2] gives me a vague impression
that this cap is there also today.

Just wanted to check, has this cap been removed, or is there any plan to
remove it next months from now?

There was this commit, I don't *think* it got reverted.



CVSROOT:        /cvs
Module name:    src
Changes by:     b...@cvs.openbsd.org    2013/06/11 13:01:20

Modified files:
        sys/kern       : kern_sysctl.c spec_vnops.c vfs_bio.c
                         vfs_biomem.c vfs_vops.c
        sys/sys        : buf.h mount.h
        sys/uvm        : uvm_extern.h uvm_page.c
        usr.bin/systat : iostat.c

Log message:
High memory page flipping for the buffer cache.

This change splits the buffer cache free lists into lists of dma reachable buffers and high memory buffers based on the ranges returned by pmemrange. Buffers move from dma to high memory as they age, but are flipped to dma
reachable memory if IO is needed to/from and high mem buffer. The total
amount of buffers  allocated is now bufcachepercent of both the dma and
the high memory region.

This change allows the use of large buffer caches on amd64 using more than
4 GB of memory

ok tedu@ krw@ - testing by many.


Indeed it's in the box e.g. http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/kern/vfs_bio.c etc.,

So >32bit/>~3GB support has been in the box since OpenBSD 5.6 or 5.7.

Awesome, thank you so much for clarifying!

Tinker

Reply via email to